On 2023-05-16 10:53, Nicolas Chauvet wrote:
Le lun. 15 mai 2023 à 14:57, Robin Murphy <robin.murphy@xxxxxxx> a écrit :
Hi all,
For the sake of discussion, here's my irrational pet project to bring
the tegra-gart driver right up to date as an example of a
properly-implemented IOMMU driver for a non-isolated address space. Part
of that irrationality is that I don't even own any hardware which uses
this driver, so it's only build-tested :)
Thanks,
Robin.
Robin Murphy (4):
iommu/tegra-gart: Add default identity domain support
iommu/tegra-gart: Improve domain support
iommu/tegra-gart: Generalise domain support
iommu: Clean up force_aperture confusion
drivers/iommu/dma-iommu.c | 19 ++--
drivers/iommu/mtk_iommu_v1.c | 4 +
drivers/iommu/sprd-iommu.c | 1 +
drivers/iommu/tegra-gart.c | 162 +++++++++++++++++++----------------
4 files changed, 99 insertions(+), 87 deletions(-)
For what it worth, I've tried to test this serie with "grate patches"
(1) rebased on top on 6.4-rc2, that would make use of the tegra-gart.
That was on PAZ00 (with only 512M of RAM and 96M CMA still allocated).
Unfortunately, this lead to the following errors with display problems
(no character displayed in lxt-terminal and etc)
Thanks for testing - it's quite possible I've made a silly mistake
somewhere, but just to double-check, does the same happen with the
existing driver if you boot with "tegra-gart.gart_debug=1" (or at least
enable the parameter via sysfs before the DRM driver gets going)?
Thanks,
Robin.
[ 888.691348] tegra-mc 7000f000.memory-controller: gart: Page entry is in-use
[ 888.698400] [drm:tegra_bo_gart_map_locked [tegra_drm]] *ERROR*
mapping failed 4294967274 262144
[ 888.707365] [drm:tegra_bo_gart_map_locked [tegra_drm]] *ERROR*
failed size 262144: -12
[ 888.716735] tegra-mc 7000f000.memory-controller: gart: Page entry is in-use
[ 888.723800] [drm:tegra_bo_gart_map_locked [tegra_drm]] *ERROR*
mapping failed 4294967274 262144
[ 888.733156] [drm:tegra_bo_gart_map_locked [tegra_drm]] *ERROR*
failed size 262144: -12
[ 889.055247] tegra-mc 7000f000.memory-controller: gart: Page entry is in-use
[ 889.062296] [drm:tegra_bo_gart_map_locked [tegra_drm]] *ERROR*
mapping failed 4294967274 262144
[ 889.071266] [drm:tegra_bo_gart_map_locked [tegra_drm]] *ERROR*
failed size 262144: -12
(1) https://github.com/grate-driver/linux