diff options
author | Thierry Reding <treding@nvidia.com> | 2019-09-09 14:28:46 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2019-10-28 11:18:08 +0100 |
commit | d98914ebc2af4504e2abc266610c29b4131598a3 (patch) | |
tree | ad7fd4beb40ea15f2b6567bcba05637445ecbc94 | |
parent | 004e822a6faa807f4413ac066fa29ea433550070 (diff) |
gpu: host1x: Do not limit DMA segment size
host1x nor any its clients have any limitations on the DMA segment size,
so don't pretend that they do.
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | drivers/gpu/host1x/bus.c | 2 | ||||
-rw-r--r-- | drivers/gpu/host1x/dev.c | 3 | ||||
-rw-r--r-- | drivers/gpu/host1x/dev.h | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c index 742aa9ff21b8..2c8559ff3481 100644 --- a/drivers/gpu/host1x/bus.c +++ b/drivers/gpu/host1x/bus.c @@ -445,7 +445,7 @@ static int host1x_device_add(struct host1x *host1x, of_dma_configure(&device->dev, host1x->dev->of_node, true); device->dev.dma_parms = &device->dma_parms; - dma_set_max_seg_size(&device->dev, SZ_4M); + dma_set_max_seg_size(&device->dev, UINT_MAX); err = host1x_device_parse_dt(device, driver); if (err < 0) { diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c index 5a3f797240d4..e5fdeea27158 100644 --- a/drivers/gpu/host1x/dev.c +++ b/drivers/gpu/host1x/dev.c @@ -237,6 +237,9 @@ static int host1x_probe(struct platform_device *pdev) return PTR_ERR(host->hv_regs); } + host->dev->dma_parms = &host->dma_parms; + dma_set_max_seg_size(host->dev, UINT_MAX); + dma_set_mask_and_coherent(host->dev, host->info->dma_mask); if (host->info->init) { diff --git a/drivers/gpu/host1x/dev.h b/drivers/gpu/host1x/dev.h index ff56f5e23a02..abafde7c665e 100644 --- a/drivers/gpu/host1x/dev.h +++ b/drivers/gpu/host1x/dev.h @@ -140,6 +140,8 @@ struct host1x { struct list_head devices; struct list_head list; + + struct device_dma_parameters dma_parms; }; void host1x_hypervisor_writel(struct host1x *host1x, u32 r, u32 v); |