pci-v5.5-fixes-2

-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAl4prP8UHGJoZWxnYWFz
 QGdvb2dsZS5jb20ACgkQWYigwDrT+vwQuRAAu5diJEEOerqKmnJavh+rk9eXnnO3
 39vsfkQpAyafSINHMaWOIHWyW9V7tEq41tEQF6TXwamlG+6gNBTv+GOPQ2MOJHT7
 cDpXCcnanbkwy1FuXMVjvzbDD0zfbi5Xsl7TGLc5NJbVpRjlXAN+sLzJlcs0Rzvb
 98Zm2Vtq4x4CTJiA+vF/em9VJ2shRZhQKpxMo7d3sR8ueoLnus36Ymdt3rf+HF9R
 ih8LdfYRkUqnd04IcX/z0N702fnZds7udbXN5/b46BA+Jt8KF2u0Md+sXbVyiBMn
 LWtbV3l3Rnqn0kwmYdw30MxJbRFyd19HO0ACPPtcalhLuJlMuEWFOxW/7VgJQ8wQ
 aEE/+BWxujiyEcPYSEVN6Jb5I95H7CgkXeWSqwVgvr3skw7XpCn7TRt5Ouo+yQus
 kUsX0+m/R1bO3KTktHRh7IsxVxwYqz11esD1rXuuMUsMa5WRde7dfsrN43x+pheI
 8IJf8hAInkH4w2xn+81qtrgdFy9tKvTBxO0hyuE34DzNvhUDpCALAKxcv83QHM9O
 YsNblrYSMnNSppOMCik6FVh0yy4HAHRC1iGNZXa0EqHiClRM/BQ4YtF/Wf8TczSy
 9aYz0m+nW68W/+E8di+2UvxX5ax/EPjd4i7auq7bSAzdaLJYGOxXukPK1YcaHHGC
 CDe5KelXO9hDGr4=
 =aIDk
 -----END PGP SIGNATURE-----

Merge tag 'pci-v5.5-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI fix from Bjorn Helgaas:
 "Mark ATS as broken on AMD Navi14 GPU rev 0xc5 (Alex Deucher)"

* tag 'pci-v5.5-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken
This commit is contained in:
Linus Torvalds 2020-01-23 11:08:15 -08:00
commit a572582b1a

View file

@ -5074,18 +5074,25 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags);
#ifdef CONFIG_PCI_ATS
/*
* Some devices have a broken ATS implementation causing IOMMU stalls.
* Don't use ATS for those devices.
* 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
* chance to load and configure the device.
*/
static void quirk_no_ats(struct pci_dev *pdev)
static void quirk_amd_harvest_no_ats(struct pci_dev *pdev)
{
pci_info(pdev, "disabling ATS (broken on this device)\n");
if (pdev->device == 0x7340 && pdev->revision != 0xc5)
return;
pci_info(pdev, "disabling ATS\n");
pdev->ats_cap = 0;
}
/* AMD Stoney platform GPU */
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_no_ats);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_no_ats);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_amd_harvest_no_ats);
/* AMD Iceland dGPU */
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_amd_harvest_no_ats);
/* AMD Navi14 dGPU */
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340, quirk_amd_harvest_no_ats);
#endif /* CONFIG_PCI_ATS */
/* Freescale PCIe doesn't support MSI in RC mode */