]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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:14:48 +0000 (17:14 +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 e8a051e2d8140a257f6ca4dd2980664605522b04..b82f94af2fae48e8fa876ad09aea6e1606bcaa44 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 */