From ffc822522119fa8242e5e10d1aded7a2d638eb57 Mon Sep 17 00:00:00 2001 From: Jeffy Chen Date: Sun, 1 May 2022 11:19:41 +0800 Subject: [PATCH] video: rockchip: mpp: write a sem around session dma operations Write a sem to protect session dma destroy or release. Signed-off-by: Jeffy Chen Signed-off-by: Jianqun Xu Change-Id: I07e720ab603c6f99924d4ec9cd57475756582325 --- drivers/video/rockchip/mpp/mpp_common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/video/rockchip/mpp/mpp_common.c b/drivers/video/rockchip/mpp/mpp_common.c index 0f7bac8c1e47..f3e7fadfb0d4 100644 --- a/drivers/video/rockchip/mpp/mpp_common.c +++ b/drivers/video/rockchip/mpp/mpp_common.c @@ -375,9 +375,9 @@ static void mpp_session_deinit_default(struct mpp_session *session) mpp_session_clear(mpp, session); if (session->dma) { - mpp_iommu_down_read(mpp->iommu_info); + mpp_iommu_down_write(mpp->iommu_info); mpp_dma_session_destroy(session->dma); - mpp_iommu_up_read(mpp->iommu_info); + mpp_iommu_up_write(mpp->iommu_info); session->dma = NULL; } } @@ -1888,9 +1888,9 @@ int mpp_task_finalize(struct mpp_session *session, &task->mem_region_list, reg_link) { if (!mem_region->is_dup) { - mpp_iommu_down_read(mpp->iommu_info); + mpp_iommu_down_write(mpp->iommu_info); mpp_dma_release(session->dma, mem_region->hdl); - mpp_iommu_up_read(mpp->iommu_info); + mpp_iommu_up_write(mpp->iommu_info); } list_del_init(&mem_region->reg_link); }