From cc2c7724f53a4e88a0f3601eb71ace052e44de1b Mon Sep 17 00:00:00 2001 From: zhuo Date: Tue, 30 Nov 2021 19:22:49 +0800 Subject: [PATCH] msm: camera: mem_mgr: Add dma_buf_vunmap to cam_compat dma_buf_vunmap function signature changed between kernel version 5.10 and 5.15. CRs-Fixed: 3088126 Change-Id: If6ef72aa7839e358bc6d7a384e628b760ecaf265 Signed-off-by: zhuo --- drivers/cam_req_mgr/cam_mem_mgr.c | 2 +- drivers/cam_utils/cam_compat.c | 12 ++++++++++++ drivers/cam_utils/cam_compat.h | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/cam_req_mgr/cam_mem_mgr.c b/drivers/cam_req_mgr/cam_mem_mgr.c index 032c1128e3..03747d6952 100644 --- a/drivers/cam_req_mgr/cam_mem_mgr.c +++ b/drivers/cam_req_mgr/cam_mem_mgr.c @@ -148,7 +148,7 @@ static int cam_mem_util_unmap_cpu_va(struct dma_buf *dmabuf, return -EINVAL; } - dma_buf_vunmap(dmabuf, (void *)vaddr); + cam_compat_util_put_dmabuf_va(dmabuf, (void *)vaddr); /* * dma_buf_begin_cpu_access() and diff --git a/drivers/cam_utils/cam_compat.c b/drivers/cam_utils/cam_compat.c index 27d9782d74..ec64edb3e2 100644 --- a/drivers/cam_utils/cam_compat.c +++ b/drivers/cam_utils/cam_compat.c @@ -354,6 +354,13 @@ int cam_compat_util_get_dmabuf_va(struct dma_buf *dmabuf, uintptr_t *vaddr) return error_code; } +void cam_compat_util_put_dmabuf_va(struct dma_buf *dmabuf, void *vaddr) +{ + struct dma_buf_map mapping = DMA_BUF_MAP_INIT_VADDR(vaddr); + + dma_buf_vunmap(dmabuf, &mapping); +} + int cam_get_ddr_type(void) { /* We assume all chipsets running kernel version 5.15+ @@ -395,6 +402,11 @@ int cam_compat_util_get_dmabuf_va(struct dma_buf *dmabuf, uintptr_t *vaddr) return error_code; } +void cam_compat_util_put_dmabuf_va(struct dma_buf *dmabuf, void *vaddr) +{ + dma_buf_vunmap(dmabuf, vaddr); +} + int cam_get_ddr_type(void) { return of_fdt_get_ddrtype(); diff --git a/drivers/cam_utils/cam_compat.h b/drivers/cam_utils/cam_compat.h index 0b28894847..4ff5e6daf8 100644 --- a/drivers/cam_utils/cam_compat.h +++ b/drivers/cam_utils/cam_compat.h @@ -49,6 +49,7 @@ void cam_check_iommu_faults(struct iommu_domain *domain, struct cam_smmu_pf_info *pf_info); int cam_get_ddr_type(void); int cam_compat_util_get_dmabuf_va(struct dma_buf *dmabuf, uintptr_t *vaddr); +void cam_compat_util_put_dmabuf_va(struct dma_buf *dmabuf, void *vaddr); void cam_smmu_util_iommu_custom(struct device *dev, dma_addr_t discard_start, size_t discard_length);