05.06.2019 11:46, Thierry Reding пишет: > From: Thierry Reding <treding@xxxxxxxxxx> > > Recent versions of the DMA API debug code have started to warn about > violations of the maximum DMA segment size. This is because the segment > size defaults to 64 KiB, which can easily be exceeded in large buffer > allocations such as used in DRM/KMS for framebuffers. > > Technically the Tegra SMMU and ARM SMMU don't have a maximum segment > size (they map individual pages irrespective of whether they are > contiguous or not), so the choice of 4 MiB is a bit arbitrary here. The > maximum segment size is a 32-bit unsigned integer, though, so we can't > set it to the correct maximum size, which would be the size of the > aperture. > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > drivers/gpu/host1x/bus.c | 3 +++ > include/linux/host1x.h | 2 ++ > 2 files changed, 5 insertions(+) > > diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c > index 9797ccb0a073..6387302c1245 100644 > --- a/drivers/gpu/host1x/bus.c > +++ b/drivers/gpu/host1x/bus.c > @@ -414,6 +414,9 @@ 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); > + > err = host1x_device_parse_dt(device, driver); > if (err < 0) { > kfree(device); > diff --git a/include/linux/host1x.h b/include/linux/host1x.h > index cfff30b9a62e..e6eea45e1154 100644 > --- a/include/linux/host1x.h > +++ b/include/linux/host1x.h > @@ -297,6 +297,8 @@ struct host1x_device { > struct list_head clients; > > bool registered; > + > + struct device_dma_parameters dma_parms; > }; > > static inline struct host1x_device *to_host1x_device(struct device *dev) > Just a very minor nit: It may be worthwhile to include "dma-mapping.h" directly for consistency here as well since nothing includes it directly. I noticed a build breakage of the grate-driver's kernel on a rebase with "git --exec 'make..'" cause we have some of "iommu/iova" headers that are moved around in the intermediate patches. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel