summaryrefslogtreecommitdiff
path: root/drivers/staging/vc04_services/bcm2835-camera
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2023-09-23 17:31:55 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-10-05 11:04:44 +0300
commitbc65b13eddc35f0cf5b429ca143b9394a6826707 (patch)
tree73d06e8e0a9f8038c5ec766a564c7f17ca92021e /drivers/staging/vc04_services/bcm2835-camera
parent274fba8bb9e3dd581d91372a0bb84fe32870aa60 (diff)
downloadlinux-bc65b13eddc35f0cf5b429ca143b9394a6826707.tar.xz
staging: vc04_services: bcm2835-camera: Explicitly set DMA mask
In the following patches, vchiq_arm will be migrated to create and use its own bus and all the vchiq drivers (bcm2835-camera, bcm2835-audio) will be registered to it. Since the platform driver/device model internally sets the DMA mask for its registered devices, we would have to do it ourself when we remove the platform driver/device registration for vchiq devices. This patch explicitly sets the DMA mask to bcm2835-camera so as not to introduce a regression when we move away from platform device/driver model. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Link: https://lore.kernel.org/r/20230923143200.268063-2-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vc04_services/bcm2835-camera')
-rw-r--r--drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
index 346d00df815a..fcad5118f3e8 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
@@ -1852,6 +1852,12 @@ static int bcm2835_mmal_probe(struct platform_device *pdev)
unsigned int resolutions[MAX_BCM2835_CAMERAS][2];
int i;
+ ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
+ if (ret) {
+ dev_err(&pdev->dev, "dma_set_mask_and_coherent failed: %d\n", ret);
+ return ret;
+ }
+
ret = vchiq_mmal_init(&instance);
if (ret < 0)
return ret;