summaryrefslogtreecommitdiffstats
path: root/include/linux/debugobjects.h
diff options
context:
space:
mode:
authorSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>2022-06-07 08:37:47 -0500
committerSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>2022-07-13 17:27:24 -0500
commit23f81c17961ffb89701bec4a3773dd178d242f31 (patch)
tree4943cf9df0812da40fb5bd19ddf135b72ca90c52 /include/linux/debugobjects.h
parentce51cc80336eae16708d201f8db680a62cc556a1 (diff)
downloadcachepc-linux-23f81c17961ffb89701bec4a3773dd178d242f31.tar.gz
cachepc-linux-23f81c17961ffb89701bec4a3773dd178d242f31.zip
iommu/amd: Process all IVHDs before enabling IOMMU features
The ACPI IVRS table can contain multiple IVHD blocks. Each block contains information used to initialize each IOMMU instance. Currently, init_iommu_all sequentially process IVHD block and initialize IOMMU instance one-by-one. However, certain features require all IOMMUs to be configured in the same way system-wide. In case certain IVHD blocks contain inconsistent information (most likely FW bugs), the driver needs to go through and try to revert settings on IOMMUs that have already been configured. A solution is to split IOMMU initialization into 3 phases: Phase1 : Processes information of the IVRS table for all IOMMU instances. This allow all IVHDs to be processed prior to enabling features. Phase2 : Early feature support check on all IOMMUs (using information in IVHD blocks. Phase3 : Iterates through all IOMMU instances and enabling features. Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions