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)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 18 Oct 2023 21:07:06 +0000 (16:07 -0500)
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>
drivers/pci/quirks.c

index eeec1d6f90238ed981d1161cf563862050fbc934..7f38348c758b95df1c7109cbbf4b45e66e11d050 100644 (file)
@@ -5507,6 +5507,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
@@ -5520,14 +5526,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 */