drm/rockchip: rga: use DMA_BIDIRECTIONAL
authorJacob Chen <jacob2.chen@rock-chips.com>
Tue, 2 May 2017 03:25:31 +0000 (11:25 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Thu, 4 May 2017 03:34:21 +0000 (11:34 +0800)
In some cases, we need to read data from RGA
and DMA_TO_DEVICE are not a proper flag
So change to DMA_BIDIRECTIONAL

Change-Id: I9d421e8a15f948fcb6643addab558803247ea161
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
drivers/gpu/drm/rockchip/rockchip_drm_rga.c

index 42aca4289a5d9af2f0ceb6bfc069386fc332b3ff..f3dcce0501d5743264f5b36391b627ea02ce1dfe 100644 (file)
@@ -196,7 +196,7 @@ static int rga_alloc_dma_buf_for_cmdlist(struct rga_runqueue_node *runqueue)
 
        dma_sync_single_for_device(runqueue->drm_dev->dev,
                                   virt_to_phys(cmdlist_pool_virt),
-                                  PAGE_SIZE, DMA_TO_DEVICE);
+                                  PAGE_SIZE, DMA_BIDIRECTIONAL);
 
        runqueue->cmdlist_dma_attrs = cmdlist_dma_attrs;
        runqueue->cmdlist_pool_virt = cmdlist_pool_virt;
@@ -294,10 +294,10 @@ static struct dma_buf_attachment *rga_gem_buf_to_pages(struct rockchip_rga *rga,
 
        if (flush)
                dma_sync_sg_for_device(rga->drm_dev->dev, sgt->sgl, sgt->nents,
-                                      DMA_TO_DEVICE);
+                                      DMA_BIDIRECTIONAL);
 
        dma_sync_single_for_device(rga->drm_dev->dev, virt_to_phys(pages),
-                                  8 * PAGE_SIZE, DMA_TO_DEVICE);
+                                  8 * PAGE_SIZE, DMA_BIDIRECTIONAL);
 
        *mmu_pages = pages;