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 <jeffy.chen@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I07e720ab603c6f99924d4ec9cd57475756582325
This commit is contained in:
Jeffy Chen
2022-05-01 11:19:41 +08:00
committed by Tao Huang
parent 516fad73c9
commit ffc8225221

View File

@@ -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);
}