media: ti-vpe: Set the DMA mask and coherent mask
authorBenoit Parrot <bparrot@ti.com>
Mon, 7 Oct 2019 15:10:03 +0000 (12:10 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 10 Oct 2019 16:51:00 +0000 (13:51 -0300)
VPE uses VPDMA (built-in dma engine) to transfer data to and from the IP
and memory. VPDMA expect 32 bits addresses. To make sure that is always
the case set the DMA mask and coherent mask for the device.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/ti-vpe/vpe.c

index ad9d8b5..d7f8eb9 100644 (file)
@@ -2517,6 +2517,13 @@ static int vpe_probe(struct platform_device *pdev)
        struct vpe_dev *dev;
        int ret, irq, func;
 
+       ret = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
+       if (ret) {
+               dev_err(&pdev->dev,
+                       "32-bit consistent DMA enable failed\n");
+               return ret;
+       }
+
        dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
        if (!dev)
                return -ENOMEM;