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

Submitted by Alexandre Courbot on Feb. 25, 2016, 10 a.m.

Details

Message ID 1456394458-15759-2-git-send-email-acourbot@nvidia.com
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Alexandre Courbot Feb. 25, 2016, 10 a.m.
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@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(-)

Patch hide | download patch | download mbox

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);