iommu/vt-d: Check FL and SL capability sanity in scalable mode
authorLu Baolu <baolu.lu@linux.intel.com>
Thu, 14 Oct 2021 05:38:34 +0000 (13:38 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:43 +0000 (09:39 +0100)
commit727fb414fe9fa96d71ef55a70ae692caaa102cc1
tree9d161bd9922713bfe6efced00ccffaffeadfde9e
parentb0a2bf28af7774ef10b087909f7a6feb62880f5f
iommu/vt-d: Check FL and SL capability sanity in scalable mode

[ Upstream commit 7afd7f6aa21a2929aff3a059b741933ee1819c6b ]

An iommu domain could be allocated and mapped before it's attached to any
device. This requires that in scalable mode, when the domain is allocated,
the format (FL or SL) of the page table must be determined. In order to
achieve this, the platform should support consistent SL or FL capabilities
on all IOMMU's. This adds a check for this and aborts IOMMU probing if it
doesn't meet this requirement.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20210926114535.923263-1-baolu.lu@linux.intel.com
Link: https://lore.kernel.org/r/20211014053839.727419-5-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Stable-dep-of: 257ec2907419 ("iommu/vt-d: Allow to use flush-queue when first level is default")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/intel/cap_audit.c
drivers/iommu/intel/cap_audit.h