lib/scatterlist: sg_page_iter: support sg lists w/o backing pages
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / gpu / drm / i915 / i915_gem_gtt.c
index 4cbae7b..24a23b3 100644 (file)
@@ -123,8 +123,7 @@ static void gen6_ppgtt_insert_entries(struct i915_hw_ppgtt *ppgtt,
        for_each_sg_page(pages->sgl, &sg_iter, pages->nents, 0) {
                dma_addr_t page_addr;
 
-               page_addr = sg_dma_address(sg_iter.sg) +
-                               (sg_iter.sg_pgoffset << PAGE_SHIFT);
+               page_addr = sg_page_iter_dma_address(&sg_iter);
                pt_vaddr[act_pte] = gen6_pte_encode(ppgtt->dev, page_addr,
                                                    cache_level);
                if (++act_pte == I915_PPGTT_PT_ENTRIES) {
@@ -424,8 +423,7 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev,
        dma_addr_t addr;
 
        for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) {
-               addr = sg_dma_address(sg_iter.sg) +
-                       (sg_iter.sg_pgoffset << PAGE_SHIFT);
+               addr = sg_page_iter_dma_address(&sg_iter);
                iowrite32(gen6_pte_encode(dev, addr, level), &gtt_entries[i]);
                i++;
        }