From d4cdea389faa5c549009f33b74cdf5ea1b081c26 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Thu, 8 Jun 2023 15:55:59 +0800 Subject: [PATCH] media: rockchip: isp: fix rkisp_tb_helper build error for kernel 6.1 Signed-off-by: Tao Huang Change-Id: I2a87fe29e9d4c6ad207b86c7d6e4ae59b6a2898c --- .../media/platform/rockchip/isp/rkisp_tb_helper.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c b/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c index 4ae04a4dda10..c78493f0144c 100644 --- a/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c +++ b/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c @@ -71,18 +71,25 @@ static void shm_release(struct dma_buf *dma_buf) kfree(data); } -static void *shm_vmap(struct dma_buf *dma_buf) +static int shm_vmap(struct dma_buf *dma_buf, struct iosys_map *map) { struct shm_data *data = dma_buf->priv; + void *vaddr; - return vm_map_ram(data->pages, data->npages, 0); + vaddr = vm_map_ram(data->pages, data->npages, 0); + if (!vaddr) + return -ENOMEM; + iosys_map_set_vaddr(map, vaddr); + + return 0; } -static void shm_vunmap(struct dma_buf *dma_buf, void *vaddr) +static void shm_vunmap(struct dma_buf *dma_buf, struct iosys_map *map) { struct shm_data *data = dma_buf->priv; - vm_unmap_ram(vaddr, data->npages); + vm_unmap_ram(map->vaddr, data->npages); + iosys_map_clear(map); } static int shm_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma)