summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIrui Wang <irui.wang@mediatek.com>2021-06-05 04:29:15 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2021-06-17 10:11:28 +0200
commitc2c3bde0e1aed4250e7eafb1bc739760c61d10b8 (patch)
treefb996d1c0edc6a22d2e4b2fa13061cbc1c903ad0
parent5cd57605771216755bd6f98748d4f11d1e65b780 (diff)
media: mtk-vcodec: Support 34bits dma address for venc
Use the dma_set_mask_and_coherent helper to set venc DMA bit mask to support 34bits iova space(16GB) that the mt8192 iommu HW support. Whole the iova range separate to 0~4G/4G~8G/8G~12G/12G~16G, regarding which iova range VENC actually locate, it depends on the dma-ranges property of venc dtsi node. Signed-off-by: Irui Wang <irui.wang@mediatek.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-rw-r--r--drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
index 7d7b8cfc2cc5..26b089e81213 100644
--- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
+++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
@@ -361,6 +361,9 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
goto err_event_workq;
}
+ if (of_get_property(pdev->dev.of_node, "dma-ranges", NULL))
+ dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(34));
+
ret = video_register_device(vfd_enc, VFL_TYPE_VIDEO, 1);
if (ret) {
mtk_v4l2_err("Failed to register video device");