ACK: [SRU][OEM-5.6][PATCH 1/1] iommu/vt-d: Enable PCI ACS for platform opt in hint

Stefan Bader stefan.bader at canonical.com
Fri Aug 14 07:36:02 UTC 2020


On 13.08.20 10:26, Koba Ko wrote:
> From: Lu Baolu <baolu.lu at linux.intel.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1891449
> 
> PCI ACS is disabled if Intel IOMMU is off by default or intel_iommu=off
> is used in command line. Unfortunately, Intel IOMMU will be forced on if
> there're devices sitting on an external facing PCI port that is marked
> as untrusted (for example, thunderbolt peripherals). That means, PCI ACS
> is disabled while Intel IOMMU is forced on to isolate those devices. As
> the result, the devices of an MFD will be grouped by a single group even
> the ACS is supported on device.
> 
> [    0.691263] pci 0000:00:07.1: Adding to iommu group 3
> [    0.691277] pci 0000:00:07.2: Adding to iommu group 3
> [    0.691292] pci 0000:00:07.3: Adding to iommu group 3
> 
> Fix it by requesting PCI ACS when Intel IOMMU is detected with platform
> opt in hint.
> 
> Fixes: 89a6079df791a ("iommu/vt-d: Force IOMMU on for platform opt in hint")
> Co-developed-by: Lalithambika Krishnakumar <lalithambika.krishnakumar at intel.com>
> Signed-off-by: Lalithambika Krishnakumar <lalithambika.krishnakumar at intel.com>
> Signed-off-by: Lu Baolu <baolu.lu at linux.intel.com>
> Reviewed-by: Mika Westerberg <mika.westerberg at linux.intel.com>
> Cc: Mika Westerberg <mika.westerberg at linux.intel.com>
> Cc: Ashok Raj <ashok.raj at intel.com>
> Link: https://lore.kernel.org/r/20200622231345.29722-5-baolu.lu@linux.intel.com
> Signed-off-by: Joerg Roedel <jroedel at suse.de>
> (cherry picked from the commit 50310600ebda74b9988467e2e6128711c7ba56fc)
> Signed-off-by: Koba Ko <koba.ko at canonical.com>
Acked-by: Stefan Bader <stefan.bader at canonical.com>
> ---
>  drivers/iommu/dmar.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
> index 19245819f326..a658e68b81ea 100644
> --- a/drivers/iommu/dmar.c
> +++ b/drivers/iommu/dmar.c
> @@ -898,7 +898,8 @@ int __init detect_intel_iommu(void)
>  	if (!ret)
>  		ret = dmar_walk_dmar_table((struct acpi_table_dmar *)dmar_tbl,
>  					   &validate_drhd_cb);
> -	if (!ret && !no_iommu && !iommu_detected && !dmar_disabled) {
> +	if (!ret && !no_iommu && !iommu_detected &&
> +	    (!dmar_disabled || dmar_platform_optin())) {
>  		iommu_detected = 1;
>  		/* Make sure ACS will be enabled */
>  		pci_request_acs();
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20200814/c0b8e3a4/attachment-0001.sig>


More information about the kernel-team mailing list