mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
media: common: videobuf2: fix begin_cpu_access and end_cpu_access call back
scatterlist nents would change to 1 after dma_map_sg if iommu enabled. So invalid or clean should use orig_nents to indicate the scatterlist true nents if user miss the callback prepare and finish of struct vb2_mem_ops. Change-Id: Iabb4c140d64e79eb16b93cab0fee488fe4ba4b68 Signed-off-by: Simon Xue <xxm@rock-chips.com>
This commit is contained in:
@@ -501,7 +501,7 @@ vb2_cma_sg_dmabuf_ops_begin_cpu_access(struct dma_buf *dbuf,
|
||||
struct vb2_cma_sg_buf *buf = dbuf->priv;
|
||||
struct sg_table *sgt = buf->dma_sgt;
|
||||
|
||||
dma_sync_sg_for_cpu(buf->dev, sgt->sgl, sgt->nents, buf->dma_dir);
|
||||
dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -512,7 +512,7 @@ vb2_cma_sg_dmabuf_ops_end_cpu_access(struct dma_buf *dbuf,
|
||||
struct vb2_cma_sg_buf *buf = dbuf->priv;
|
||||
struct sg_table *sgt = buf->dma_sgt;
|
||||
|
||||
dma_sync_sg_for_device(buf->dev, sgt->sgl, sgt->nents, buf->dma_dir);
|
||||
dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user