From e3e12f52b214121840b44c91de5b3e5af5d3eb84 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 06 Nov 2023 03:04:41 +0000 Subject: [PATCH] rk3568 rt init --- kernel/drivers/video/rockchip/mpp/mpp_iommu.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/drivers/video/rockchip/mpp/mpp_iommu.c b/kernel/drivers/video/rockchip/mpp/mpp_iommu.c index d99ff20..504c7934 100644 --- a/kernel/drivers/video/rockchip/mpp/mpp_iommu.c +++ b/kernel/drivers/video/rockchip/mpp/mpp_iommu.c @@ -87,7 +87,7 @@ oldest = buffer; } } - if (oldest && kref_read(&oldest->ref) <= 1) + if (oldest && kref_read(&oldest->ref) == 1) kref_put(&oldest->ref, mpp_dma_release_buffer); mutex_unlock(&dma->list_mutex); } @@ -179,7 +179,8 @@ } /* remove the oldest before add buffer */ - mpp_dma_remove_extra_buffer(dma); + if (!IS_ENABLED(CONFIG_DMABUF_CACHE)) + mpp_dma_remove_extra_buffer(dma); /* Check whether in dma session */ buffer = mpp_dma_find_buffer_fd(dma, fd); @@ -233,6 +234,8 @@ buffer->dma = dma; kref_init(&buffer->ref); + if (!IS_ENABLED(CONFIG_DMABUF_CACHE)) + kref_get(&buffer->ref); mutex_lock(&dma->list_mutex); dma->buffer_count++; @@ -437,6 +440,8 @@ info->dev = dev; info->pdev = pdev; init_rwsem(&info->rw_sem); + info->irq = platform_get_irq(pdev, 0); + info->got_irq = (info->irq < 0) ? false : true; return info; -- Gitblit v1.6.2