media: media: jpegenc: set bit mask for jpegenc
authorkyrie wu <kyrie.wu@mediatek.com>
Wed, 8 Jun 2022 06:07:55 +0000 (07:07 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 20 Jun 2022 09:30:34 +0000 (10:30 +0100)
set jpeg encode DMA bit mask to support 34bits
iova space(16GB) that the mt8186 iommu HW support.
Whole the iova range separate to 0~4G/4G~8G/8G~12G/12G~16G,
regarding which iova range jpgenc actually locate, it
depends on the dma-ranges property of vdec dtsi node.

Signed-off-by: kyrie wu <kyrie.wu@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c

index bc5b0a0168ec0012b04ae460ac6482f16d20b84d..87685a62a5c237511d1d32b377b3ced4043c4fa9 100644 (file)
@@ -1369,6 +1369,9 @@ static int mtk_jpeg_probe(struct platform_device *pdev)
        jpeg->vdev->device_caps = V4L2_CAP_STREAMING |
                                  V4L2_CAP_VIDEO_M2M_MPLANE;
 
+       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(jpeg->vdev, VFL_TYPE_VIDEO, -1);
        if (ret) {
                v4l2_err(&jpeg->v4l2_dev, "Failed to register video device\n");