ソースを参照

qseecom: Change the clean and invalidation way for dmabuf

dmabuf having the changes in 6.1 for clean and invalidate ,
made similar changes to do invalidation and clean in
qseecom corresponding to dmabuf changes.

Change-Id: I23a9686ce4902d86c8ef60c099fcc4394356e114
Signed-off-by: Nitin LNU <[email protected]>
Nitin LNU 1 年間 前
コミット
f0c078a367
1 ファイル変更4 行追加2 行削除
  1. 4 2
      qseecom/qseecom.c

+ 4 - 2
qseecom/qseecom.c

@@ -1443,10 +1443,10 @@ static int qseecom_vaddr_map(int ion_fd,
 
 	*paddr = sg_dma_address(new_sgt->sgl);
 	*sb_length = new_sgt->sgl->length;
-
+	//Invalidate the Buffer
 	dma_buf_begin_cpu_access(new_dma_buf, DMA_BIDIRECTIONAL);
 	ret = dma_buf_vmap(new_dma_buf, &new_dma_buf_map);
-    new_va = ret ? NULL : new_dma_buf_map.vaddr;
+	new_va = ret ? NULL : new_dma_buf_map.vaddr;
 	if (!new_va) {
 		pr_err("dma_buf_vmap failed\n");
 		ret = -ENOMEM;
@@ -1459,7 +1459,9 @@ static int qseecom_vaddr_map(int ion_fd,
 	return ret;
 
 err_unmap:
+	//Flush the buffer (i.e. Clean and invalidate)
 	dma_buf_end_cpu_access(new_dma_buf, DMA_BIDIRECTIONAL);
+	dma_buf_begin_cpu_access(new_dma_buf, DMA_BIDIRECTIONAL);
 	qseecom_dmabuf_unmap(new_sgt, new_attach, new_dma_buf);
 	MAKE_NULL(*sgt, *attach, *dmabuf);
 err: