diff mbox series

PCI: Add quirk for AMD Navi14 to disable ATS support

Message ID 20210601024835.931947-1-evan.quan@amd.com
State New
Headers show
Series PCI: Add quirk for AMD Navi14 to disable ATS support | expand

Commit Message

Quan, Evan June 1, 2021, 2:48 a.m. UTC
Unexpected GPU hang was observed during runpm stress test
on 0x7341 rev 0x00. Further debugging shows broken ATS is
related. Thus as a followup of commit 5e89cd303e3a ("PCI:
Mark AMD Navi14 GPU rev 0xc5 ATS as broken"), we disable
the ATS for the specific SKU also.

V2: cosmetic fix for description part(suggested by Krzysztof)

Signed-off-by: Evan Quan <evan.quan@amd.com>
---
 drivers/pci/quirks.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Krzysztof Wilczyński June 1, 2021, 1:08 p.m. UTC | #1
Hi Evan,

Thank you for sending updated version!

[...]
> V2: cosmetic fix for description part(suggested by Krzysztof)

For future reference: as this is v2, then remember to update the subject
link to [PATCH v2] so that everyone looking at incoming patches would be
immediately made aware that this is a new version (also, some of our
automation such as Patchwork uses this when parsing subject lines).

Additionally, the changelog would customary be included under the "---"
lines so that it would automatically be removed alongside commit related
details from Git, see the following as an example:

  https://lore.kernel.org/linux-pci/20210601114301.2685875-1-linus.walleij@linaro.org/

Having said that, I am not sure if this warrants sending v3, as this
could be easily fixed here by either Bjorn or Lorenzo when this patch
will be merged, if they don't mind, of course.

[...]
> @@ -5176,7 +5176,8 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags);
>  static void quirk_amd_harvest_no_ats(struct pci_dev *pdev)
>  {
>  	if ((pdev->device == 0x7312 && pdev->revision != 0x00) ||
> -	    (pdev->device == 0x7340 && pdev->revision != 0xc5))
> +	    (pdev->device == 0x7340 && pdev->revision != 0xc5) ||
> +	    (pdev->device == 0x7341 && pdev->revision != 0x00))
[...]
>  /* AMD Navi14 dGPU */
>  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340, quirk_amd_harvest_no_ats);
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7341, quirk_amd_harvest_no_ats);
[...]

Thank you!

Reviewed-by: Krzysztof Wilczyński <kw@linux.com>

	Krzysztof
Quan, Evan June 2, 2021, 2:15 a.m. UTC | #2
[AMD Official Use Only]



> -----Original Message-----
> From: Krzysztof Wilczyński <kw@linux.com>
> Sent: Tuesday, June 1, 2021 9:08 PM
> To: Quan, Evan <Evan.Quan@amd.com>
> Cc: linux-pci@vger.kernel.org; Deucher, Alexander
> <Alexander.Deucher@amd.com>
> Subject: Re: [PATCH] PCI: Add quirk for AMD Navi14 to disable ATS support
> 
> Hi Evan,
> 
> Thank you for sending updated version!
> 
> [...]
> > V2: cosmetic fix for description part(suggested by Krzysztof)
> 
> For future reference: as this is v2, then remember to update the subject link
> to [PATCH v2] so that everyone looking at incoming patches would be
> immediately made aware that this is a new version (also, some of our
> automation such as Patchwork uses this when parsing subject lines).
> 
> Additionally, the changelog would customary be included under the "---"
> lines so that it would automatically be removed alongside commit related
> details from Git, see the following as an example:
> 
> 
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Flinux-pci%2F20210601114301.2685875-1-
> linus.walleij%40linaro.org%2F&amp;data=04%7C01%7Cevan.quan%40amd.co
> m%7Cc7b07f31831247233f3408d924fe51da%7C3dd8961fe4884e608e11a82d9
> 94e183d%7C0%7C0%7C637581496992050423%7CUnknown%7CTWFpbGZsb3d
> 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%
> 3D%7C1000&amp;sdata=K0LqWlNS1JhuFxuOmat%2F0f2NYOLJUa8auWybrmi
> XHXQ%3D&amp;reserved=0
> 
> Having said that, I am not sure if this warrants sending v3, as this could be
> easily fixed here by either Bjorn or Lorenzo when this patch will be merged, if
> they don't mind, of course.
[Quan, Evan] Thanks Krzysztof. Just sent out a V3 with these updated.

BR
Evan
> 
> [...]
> > @@ -5176,7 +5176,8 @@
> > DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422,
> > quirk_no_ext_tags);  static void quirk_amd_harvest_no_ats(struct pci_dev
> *pdev)  {
> >  	if ((pdev->device == 0x7312 && pdev->revision != 0x00) ||
> > -	    (pdev->device == 0x7340 && pdev->revision != 0xc5))
> > +	    (pdev->device == 0x7340 && pdev->revision != 0xc5) ||
> > +	    (pdev->device == 0x7341 && pdev->revision != 0x00))
> [...]
> >  /* AMD Navi14 dGPU */
> >  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340,
> > quirk_amd_harvest_no_ats);
> > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7341,
> > +quirk_amd_harvest_no_ats);
> [...]
> 
> Thank you!
> 
> Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
> 
> 	Krzysztof
diff mbox series

Patch

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index b7e19bbb901a..70803ad6d2ac 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5176,7 +5176,8 @@  DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags);
 static void quirk_amd_harvest_no_ats(struct pci_dev *pdev)
 {
 	if ((pdev->device == 0x7312 && pdev->revision != 0x00) ||
-	    (pdev->device == 0x7340 && pdev->revision != 0xc5))
+	    (pdev->device == 0x7340 && pdev->revision != 0xc5) ||
+	    (pdev->device == 0x7341 && pdev->revision != 0x00))
 		return;
 
 	if (pdev->device == 0x15d8) {
@@ -5203,6 +5204,7 @@  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_amd_harvest_no_ats);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7312, quirk_amd_harvest_no_ats);
 /* AMD Navi14 dGPU */
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340, quirk_amd_harvest_no_ats);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7341, quirk_amd_harvest_no_ats);
 /* AMD Raven platform iGPU */
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x15d8, quirk_amd_harvest_no_ats);
 #endif /* CONFIG_PCI_ATS */