lib/scatterlist: Provide a DMA page iterator
[linux-2.6-block.git] / drivers / gpu / drm / vmwgfx / vmwgfx_ttm_buffer.c
index 31786b200afc470d73d4f661a4e9358959d686f8..a3357ff7540d21a9e5ebb68def7027ffaf60866c 100644 (file)
@@ -311,7 +311,13 @@ static dma_addr_t __vmw_piter_dma_addr(struct vmw_piter *viter)
 
 static dma_addr_t __vmw_piter_sg_addr(struct vmw_piter *viter)
 {
-       return sg_page_iter_dma_address(&viter->iter);
+       /*
+        * FIXME: This driver wrongly mixes DMA and CPU SG list iteration and
+        * needs revision. See
+        * https://lore.kernel.org/lkml/20190104223531.GA1705@ziepe.ca/
+        */
+       return sg_page_iter_dma_address(
+               container_of(&viter->iter, struct sg_dma_page_iter, base));
 }