mirror-linux/drivers/memory/tegra
Jason Gunthorpe c462944901 iommu/tegra-gart: Remove tegra-gart
Thierry says this is not used anymore, and doesn't think it makes sense as
an iommu driver. The HW it supports is about 10 years old now and newer HW
uses different IOMMU drivers.

As this is the only driver with a GART approach, and it doesn't really
meet the driver expectations from the IOMMU core, let's just remove it
so we don't have to think about how to make it fit in.

It has a number of identified problems:
 - The assignment of iommu_groups doesn't match the HW behavior

 - It claims to have an UNMANAGED domain but it is really an IDENTITY
   domain with a translation aperture. This is inconsistent with the core
   expectation for security sensitive operations

 - It doesn't implement a SW page table under struct iommu_domain so
   * It can't accept a map until the domain is attached
   * It forgets about all maps after the domain is detached
   * It doesn't clear the HW of maps once the domain is detached
     (made worse by having the wrong groups)

Cc: Thierry Reding <treding@nvidia.com>
Cc: Dmitry Osipenko <digetx@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/6-v8-81230027b2fa+9d-iommu_all_defdom_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2023-09-25 11:40:54 +02:00
..
Kconfig memory: tegra30-emc: Print additional memory info 2022-01-27 10:40:34 +01:00
Makefile memory: tegra: Add Tegra234 support 2022-05-09 10:46:00 +02:00
mc.c iommu/tegra-gart: Remove tegra-gart 2023-09-25 11:40:54 +02:00
mc.h memory: tegra: Make CPU cluster BW request a multiple of MC channels 2023-05-16 12:11:01 +02:00
tegra20-emc.c memory: tegra20-emc: fix interconnect registration race 2023-03-13 21:13:48 +02:00
tegra20.c iommu/tegra-gart: Remove tegra-gart 2023-09-25 11:40:54 +02:00
tegra30-emc.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
tegra30.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
tegra114.c memory: tegra: Extract setup code into callback 2021-06-03 21:49:41 +02:00
tegra124-emc.c memory: tegra124-emc: fix interconnect registration race 2023-03-13 21:13:48 +02:00
tegra124.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
tegra186-emc.c memory: tegra: Prefer octal over symbolic permissions 2023-07-25 22:09:36 +02:00
tegra186.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
tegra194.c memory: tegra: Add dummy implementation on Tegra194 2023-07-10 12:04:56 +02:00
tegra210-emc-cc-r21021.c memory: tegra: read values from correct device 2023-04-10 18:55:55 +02:00
tegra210-emc-core.c memory: Explicitly include correct DT includes 2023-07-25 22:09:37 +02:00
tegra210-emc-table.c memory: tegra: remove redundant variable initialization 2023-03-22 18:48:46 +01:00
tegra210-emc.h memory: tegra: Drop <linux/clk-provider.h> 2020-06-22 13:54:58 +02:00
tegra210-mc.h memory: tegra: Add EMC scaling support code for Tegra210 2020-06-22 13:54:57 +02:00
tegra210.c memory: tegra: Extract setup code into callback 2021-06-03 21:49:41 +02:00
tegra234.c memory: tegra: add MC client for Tegra234 GPU 2023-08-05 09:01:31 +02:00