diff options
author | YueHaibing <yuehaibing@huawei.com> | 2019-09-03 02:50:56 -0400 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2019-09-03 08:58:20 -0400 |
commit | 097a7df2e3af1b716cd39ce90001a2c372488e58 (patch) | |
tree | b0dc862404b5e56a5791705ab2bd5597a81fd5d6 | |
parent | dbe8e6a81a2a45dfa210c2c271472db80efaa03f (diff) |
iommu/arm-smmu-v3: Fix build error without CONFIG_PCI_ATS
If CONFIG_PCI_ATS is not set, building fails:
drivers/iommu/arm-smmu-v3.c: In function arm_smmu_ats_supported:
drivers/iommu/arm-smmu-v3.c:2325:35: error: struct pci_dev has no member named ats_cap; did you mean msi_cap?
return !pdev->untrusted && pdev->ats_cap;
^~~~~~~
ats_cap should only used when CONFIG_PCI_ATS is defined,
so use #ifdef block to guard this.
Fixes: bfff88ec1afe ("iommu/arm-smmu-v3: Rework enabling/disabling of ATS for PCI masters")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
-rw-r--r-- | drivers/iommu/arm-smmu-v3.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index 29b773e186c8..4aa414843557 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c | |||
@@ -2311,6 +2311,7 @@ static void arm_smmu_install_ste_for_dev(struct arm_smmu_master *master) | |||
2311 | } | 2311 | } |
2312 | } | 2312 | } |
2313 | 2313 | ||
2314 | #ifdef CONFIG_PCI_ATS | ||
2314 | static bool arm_smmu_ats_supported(struct arm_smmu_master *master) | 2315 | static bool arm_smmu_ats_supported(struct arm_smmu_master *master) |
2315 | { | 2316 | { |
2316 | struct pci_dev *pdev; | 2317 | struct pci_dev *pdev; |
@@ -2324,6 +2325,12 @@ static bool arm_smmu_ats_supported(struct arm_smmu_master *master) | |||
2324 | pdev = to_pci_dev(master->dev); | 2325 | pdev = to_pci_dev(master->dev); |
2325 | return !pdev->untrusted && pdev->ats_cap; | 2326 | return !pdev->untrusted && pdev->ats_cap; |
2326 | } | 2327 | } |
2328 | #else | ||
2329 | static bool arm_smmu_ats_supported(struct arm_smmu_master *master) | ||
2330 | { | ||
2331 | return false; | ||
2332 | } | ||
2333 | #endif | ||
2327 | 2334 | ||
2328 | static void arm_smmu_enable_ats(struct arm_smmu_master *master) | 2335 | static void arm_smmu_enable_ats(struct arm_smmu_master *master) |
2329 | { | 2336 | { |