PCI: Extract ATS disabling to a helper function
authorBartosz Pawlowski <bartosz.pawlowski@intel.com>
Fri, 8 Sep 2023 14:36:05 +0000 (14:36 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:44 +0000 (17:19 +0000)
[ Upstream commit f18b1137d38c091cc8c16365219f0a1d4a30b3d1 ]

Introduce quirk_no_ats() helper function to provide a standard way to
disable ATS capability in PCI quirks.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230908143606.685930-2-bartosz.pawlowski@intel.com
Signed-off-by: Bartosz Pawlowski <bartosz.pawlowski@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/quirks.c

index 7b62797..8a8f601 100644 (file)
@@ -5509,6 +5509,12 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags);
 
 #ifdef CONFIG_PCI_ATS
+static void quirk_no_ats(struct pci_dev *pdev)
+{
+       pci_info(pdev, "disabling ATS\n");
+       pdev->ats_cap = 0;
+}
+
 /*
  * Some devices require additional driver setup to enable ATS.  Don't use
  * ATS for those devices as ATS will be enabled before the driver has had a
@@ -5522,14 +5528,10 @@ static void quirk_amd_harvest_no_ats(struct pci_dev *pdev)
                    (pdev->subsystem_device == 0xce19 ||
                     pdev->subsystem_device == 0xcc10 ||
                     pdev->subsystem_device == 0xcc08))
-                       goto no_ats;
-               else
-                       return;
+                       quirk_no_ats(pdev);
+       } else {
+               quirk_no_ats(pdev);
        }
-
-no_ats:
-       pci_info(pdev, "disabling ATS\n");
-       pdev->ats_cap = 0;
 }
 
 /* AMD Stoney platform GPU */