[PATCH v3 2/2] gpu: host1x: Set the DMA mask for host1x devices

Alexandre Courbot acourbot at nvidia.com
Thu Feb 25 10:00:58 UTC 2016


The default DMA mask covers a 32 bits address range, but devices can
address more than that. Set the DMA mask to the actual addressable range
to avoid the use of unneeded bounce buffers.

Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
Changes since v1:
- set the mask at the bus level so of_dma_configure() does the right thing

 drivers/gpu/host1x/bus.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c
index c27858ae0552..e04c7114f976 100644
--- a/drivers/gpu/host1x/bus.c
+++ b/drivers/gpu/host1x/bus.c
@@ -19,6 +19,7 @@
 #include <linux/of.h>
 #include <linux/slab.h>
 #include <linux/of_device.h>
+#include <linux/dma-mapping.h>
 
 #include "bus.h"
 #include "dev.h"
@@ -394,7 +395,7 @@ static int host1x_device_add(struct host1x *host1x,
 	INIT_LIST_HEAD(&device->list);
 	device->driver = driver;
 
-	device->dev.coherent_dma_mask = host1x->dev->coherent_dma_mask;
+	device->dev.coherent_dma_mask = DMA_BIT_MASK(34);
 	device->dev.dma_mask = &device->dev.coherent_dma_mask;
 	dev_set_name(&device->dev, "%s", driver->driver.name);
 	of_dma_configure(&device->dev, host1x->dev->of_node);
-- 
2.7.1



More information about the dri-devel mailing list