[PATCH 2/3] drm/tegra: Reuse IOVA mapping where possible
Dmitry Osipenko
digetx at gmail.com
Wed Feb 5 17:11:35 UTC 2020
04.02.2020 16:59, Thierry Reding пишет:
> From: Thierry Reding <treding at nvidia.com>
>
> This partially reverts the DMA API support that was recently merged
> because it was causing performance regressions on older Tegra devices.
> Unfortunately, the cache maintenance performed by dma_map_sg() and
> dma_unmap_sg() causes performance to drop by a factor of 10.
>
> The right solution for this would be to cache mappings for buffers per
> consumer device, but that's a bit involved. Instead, we simply revert to
> the old behaviour of sharing IOVA mappings when we know that devices can
> do so (i.e. they share the same IOMMU domain).
>
> Reported-by: Dmitry Osipenko <digetx at gmail.com>
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
> drivers/gpu/drm/tegra/gem.c | 10 +++++++-
> drivers/gpu/drm/tegra/plane.c | 44 ++++++++++++++++++++---------------
> drivers/gpu/host1x/job.c | 32 ++++++++++++++++++++++---
> 3 files changed, 63 insertions(+), 23 deletions(-)
Tested-by: Dmitry Osipenko <digetx at gmail.com>
More information about the dri-devel
mailing list