linux/drivers/gpu/drm/tegra
Thierry Reding 273da5a046 drm/tegra: Reuse IOVA mapping where possible
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).

Cc: <stable@vger.kernel.org> # v5.5
Reported-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Tested-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
2020-02-06 18:21:55 +01:00
..
dc.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dc.h drm/tegra: Move IOMMU group into host1x client 2019-10-28 11:18:37 +01:00
dp.c drm/tegra: sor: Add DisplayPort support 2019-10-28 11:18:54 +01:00
dp.h drm/tegra: dp: Add DisplayPort link training helper 2019-10-28 11:18:53 +01:00
dpaux.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dpaux.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
drm.c drm/tegra: Relax IOMMU usage criteria on old Tegra 2020-02-06 18:21:14 +01:00
drm.h drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dsi.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
dsi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
falcon.c drm/tegra: falcon: Clarify address usage 2019-10-29 15:04:36 +01:00
falcon.h drm/tegra: falcon: Clarify address usage 2019-10-29 15:04:36 +01:00
fb.c drm/tegra: gem: Rename paddr -> iova 2019-10-28 11:18:38 +01:00
gem.c drm/tegra: Reuse IOVA mapping where possible 2020-02-06 18:21:55 +01:00
gem.h drm/tegra: gem: Rename paddr -> iova 2019-10-28 11:18:38 +01:00
gr2d.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
gr2d.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
gr3d.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
gr3d.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hda.c drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
hda.h drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
hdmi.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
hdmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hub.c drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
hub.h drm/tegra: Do not implement runtime PM 2020-01-10 16:37:43 +01:00
Kconfig drm/tegra: Unconditionally select IOMMU_IOVA 2019-11-01 10:49:29 +01:00
Makefile drm/tegra: Move drm_dp_link helpers to Tegra DRM 2019-10-23 18:22:10 +02:00
mipi-phy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mipi-phy.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
output.c drm/tegra: output: Implement system suspend/resume 2020-01-10 16:46:29 +01:00
plane.c drm/tegra: Reuse IOVA mapping where possible 2020-02-06 18:21:55 +01:00
plane.h drm/tegra: Support DMA API for display controllers 2019-10-29 15:04:36 +01:00
rgb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sor.c drm/tegra: sor: Initialize runtime PM before use 2020-01-31 21:29:24 +01:00
sor.h drm/tegra: sor: Add DisplayPort support 2019-10-28 11:18:54 +01:00
trace.c drm/tegra: dc: Trace register accesses 2017-08-17 17:57:14 +02:00
trace.h drm/tegra: trace: Fix path to include 2017-09-26 11:08:17 +02:00
vic.c gpu: host1x: Rename "parent" to "host" 2020-01-10 16:37:38 +01:00
vic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00