Skip to content

Commit 0b2527a

Browse files
jpbruckerjoergroedel
authored andcommitted
iommu/arm-smmu-v3: Use pci_ats_supported()
The new pci_ats_supported() function checks if a device supports ATS and is allowed to use it. Signed-off-by: Jean-Philippe Brucker <[email protected]> Acked-by: Will Deacon <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Joerg Roedel <[email protected]>
1 parent 7a441b2 commit 0b2527a

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

drivers/iommu/arm-smmu-v3.c

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2652,26 +2652,20 @@ static void arm_smmu_install_ste_for_dev(struct arm_smmu_master *master)
26522652
}
26532653
}
26542654

2655-
#ifdef CONFIG_PCI_ATS
26562655
static bool arm_smmu_ats_supported(struct arm_smmu_master *master)
26572656
{
2658-
struct pci_dev *pdev;
2657+
struct device *dev = master->dev;
26592658
struct arm_smmu_device *smmu = master->smmu;
2660-
struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(master->dev);
2659+
struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
26612660

2662-
if (!(smmu->features & ARM_SMMU_FEAT_ATS) || !dev_is_pci(master->dev) ||
2663-
!(fwspec->flags & IOMMU_FWSPEC_PCI_RC_ATS) || pci_ats_disabled())
2661+
if (!(smmu->features & ARM_SMMU_FEAT_ATS))
26642662
return false;
26652663

2666-
pdev = to_pci_dev(master->dev);
2667-
return !pdev->untrusted && pdev->ats_cap;
2668-
}
2669-
#else
2670-
static bool arm_smmu_ats_supported(struct arm_smmu_master *master)
2671-
{
2672-
return false;
2664+
if (!(fwspec->flags & IOMMU_FWSPEC_PCI_RC_ATS))
2665+
return false;
2666+
2667+
return dev_is_pci(dev) && pci_ats_supported(to_pci_dev(dev));
26732668
}
2674-
#endif
26752669

26762670
static void arm_smmu_enable_ats(struct arm_smmu_master *master)
26772671
{

0 commit comments

Comments
 (0)