OSDN Git Service

drm: omapdrm: dss: Set the DMA coherent mask
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 13 Oct 2017 14:59:01 +0000 (17:59 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 19 Dec 2017 08:32:00 +0000 (10:32 +0200)
When merging the omapdrm and omapdss drivers the omapdrm virtual
platform device will disappear, and the omapdss platform device will be
used for DMA memory allocation. To prepare for that, set the DMA
coherent mask for the device.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/dss/dss.c

index d1755f1..6ce26a4 100644 (file)
@@ -23,6 +23,7 @@
 #define DSS_SUBSYS_NAME "DSS"
 
 #include <linux/debugfs.h>
+#include <linux/dma-mapping.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/io.h>
@@ -1441,6 +1442,12 @@ static int dss_probe(struct platform_device *pdev)
 
        dss.pdev = pdev;
 
+       r = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+       if (r) {
+               dev_err(&pdev->dev, "Failed to set the DMA mask\n");
+               return r;
+       }
+
        /*
         * The various OMAP3-based SoCs can't be told apart using the compatible
         * string, use SoC device matching.