summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/amd_iommu_debugfs.c
diff options
context:
space:
mode:
authorjimyan <jimyan@baidu.com>2020-01-15 11:03:55 +0800
committerJoerg Roedel <jroedel@suse.de>2020-01-17 10:57:30 +0100
commit53291622e2607db53ded78b534874b8fb515ba57 (patch)
treefa027e96de975922ee80e0677dbdf23461b58aa2 /drivers/iommu/amd_iommu_debugfs.c
parente2726daea583d81e447b71e09b79e67f618d6152 (diff)
iommu/vt-d: Don't reject Host Bridge due to scope mismatch
On a system with two host bridges(0000:00:00.0,0000:80:00.0), iommu initialization fails with DMAR: Device scope type does not match for 0000:80:00.0 This is because the DMAR table reports this device as having scope 2 (ACPI_DMAR_SCOPE_TYPE_BRIDGE): but the device has a type 0 PCI header: 80:00.0 Class 0600: Device 8086:2020 (rev 06) 00: 86 80 20 20 47 05 10 00 06 00 00 06 10 00 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 00 00 30: 00 00 00 00 90 00 00 00 00 00 00 00 00 01 00 00 VT-d works perfectly on this system, so there's no reason to bail out on initialization due to this apparent scope mismatch. Add the class 0x06 ("PCI_BASE_CLASS_BRIDGE") as a heuristic for allowing DMAR initialization for non-bridge PCI devices listed with scope bridge. Signed-off-by: jimyan <jimyan@baidu.com> Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com> Reviewed-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/amd_iommu_debugfs.c')
0 files changed, 0 insertions, 0 deletions