NVIDIA: SAUCE: arm-smmuv3: Restrict ATS supported check to ACPI/IORT

BugLink: https://bugs.launchpad.net/bugs/2072591

ACPI/IORT has way to override ATS supported while DT does not have.
To allow ATS for DT, restrict ATS supported check to ACPI/IORT.

http://nvbugs/4241379

Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Signed-off-by: Satish Seelamsetti <sseelamsetti@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Prathamesh Shete <pshete@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Jacob Martin <jacob.martin@canonical.com>
Acked-by: Noah Wager <noah.wager@canonical.com>
Signed-off-by: Noah Wager <noah.wager@canonical.com>
This commit is contained in:
Pritesh Raithatha
2023-09-21 18:29:13 +00:00
committed by Noah Wager
parent 8ab5c6bdad
commit 5f8ab0a54b
+2 -2
View File
@@ -3,7 +3,7 @@
* IOMMU API for ARM architected SMMUv3 implementations.
*
* Copyright (C) 2015 ARM Limited
* Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2023-2024, NVIDIA CORPORATION. All rights reserved.
*
* Author: Will Deacon <will.deacon@arm.com>
*
@@ -2262,7 +2262,7 @@ static bool arm_smmu_ats_supported(struct arm_smmu_master *master)
if (!(smmu->features & ARM_SMMU_FEAT_ATS))
return false;
if (!(fwspec->flags & IOMMU_FWSPEC_PCI_RC_ATS))
if (is_acpi_node(dev_fwnode(dev)) && !(fwspec->flags & IOMMU_FWSPEC_PCI_RC_ATS))
return false;
return dev_is_pci(dev) && pci_ats_supported(to_pci_dev(dev));