| From f18b1137d38c091cc8c16365219f0a1d4a30b3d1 Mon Sep 17 00:00:00 2001 |
| From: Bartosz Pawlowski <bartosz.pawlowski@intel.com> |
| Date: Fri, 8 Sep 2023 14:36:05 +0000 |
| Subject: PCI: Extract ATS disabling to a helper function |
| |
| From: Bartosz Pawlowski <bartosz.pawlowski@intel.com> |
| |
| commit f18b1137d38c091cc8c16365219f0a1d4a30b3d1 upstream. |
| |
| 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/pci/quirks.c | 9 +++++++-- |
| 1 file changed, 7 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/pci/quirks.c |
| +++ b/drivers/pci/quirks.c |
| @@ -5353,6 +5353,12 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SE |
| 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 |
| @@ -5365,8 +5371,7 @@ static void quirk_amd_harvest_no_ats(str |
| (pdev->device == 0x7341 && pdev->revision != 0x00)) |
| return; |
| |
| - pci_info(pdev, "disabling ATS\n"); |
| - pdev->ats_cap = 0; |
| + quirk_no_ats(pdev); |
| } |
| |
| /* AMD Stoney platform GPU */ |