linux-stable/drivers/pci
Alex Deucher 8c40a8d7d3 PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken
commit 5e89cd303e upstream.

To account for parts of the chip that are "harvested" (disabled) due to
silicon flaws, caches on some AMD GPUs must be initialized before ATS is
enabled.

ATS is normally enabled by the IOMMU driver before the GPU driver loads, so
this cache initialization would have to be done in a quirk, but that's too
complex to be practical.

For Navi14 (device ID 0x7340), this initialization is done by the VBIOS,
but apparently some boards went to production with an older VBIOS that
doesn't do it.  Disable ATS for those boards.

Link: https://lore.kernel.org/r/20200114205523.1054271-3-alexander.deucher@amd.com
Bug: https://gitlab.freedesktop.org/drm/amd/issues/1015
See-also: d28ca864c4 ("PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken")
See-also: 9b44b0b09d ("PCI: Mark AMD Stoney GPU ATS as broken")
[bhelgaas: squash into one patch, simplify slightly, commit log]
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-29 16:45:25 +01:00
..
controller PCI: mobiveil: Fix csr_read()/write() build issue 2020-01-26 10:01:04 +01:00
endpoint PCI: endpoint: Clear BAR before freeing its space 2019-06-11 10:57:54 +01:00
hotplug PCI: pciehp: Do not disable interrupt twice on suspend 2020-01-17 19:48:51 +01:00
pcie PCI/PTM: Remove spurious "d" from granularity message 2020-01-17 19:48:54 +01:00
switch PCI/switchtec: Read all 64 bits of part_event_bitmap 2019-12-21 11:04:25 +01:00
access.c PCI: Make pcie_downstream_port() available outside of access.c 2019-09-07 07:45:25 -05:00
ats.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
bus.c PCI: Unexport pci_bus_get() and pci_bus_put() 2019-07-23 18:32:49 -05:00
ecam.c
host-bridge.c
iov.c Merge branch 'pci/resource' 2019-09-23 16:10:15 -05:00
irq.c
Kconfig pci-v5.4-changes 2019-09-23 19:16:01 -07:00
Makefile
mmap.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
msi.c PCI/MSI: Fix incorrect MSI-X masking on resume 2019-12-21 11:04:28 +01:00
of.c PCI: OF: Correct of_irq_parse_pci() documentation 2019-08-30 14:00:34 -05:00
p2pdma.c PCI/P2PDMA: Update pci_p2pdma_distance_many() documentation 2019-08-16 08:41:59 -05:00
pci-acpi.c Merge branch 'pci/enumeration' 2019-09-23 16:10:08 -05:00
pci-bridge-emul.c PCI: Use static const struct, not const static struct 2019-09-05 13:26:46 -05:00
pci-bridge-emul.h
pci-driver.c PCI/PM: Clear PCIe PME Status even for legacy power management 2020-01-17 19:48:53 +01:00
pci-label.c
pci-mid.c
pci-pf-stub.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
pci-stub.c PCI: Replace printk(KERN_INFO) with pr_info(), etc 2019-05-09 07:49:54 -05:00
pci-sysfs.c Merge branch 'next-lockdown' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-09-28 08:14:15 -07:00
pci.c PCI: Add a helper to check Power Resource Requirements _PR3 existence 2020-01-09 10:19:52 +01:00
pci.h pci-v5.4-changes 2019-09-23 19:16:01 -07:00
probe.c PCI: Fix missing bridge dma_ranges resource list cleanup 2020-01-17 19:48:53 +01:00
proc.c Merge branch 'next-lockdown' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-09-28 08:14:15 -07:00
quirks.c PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken 2020-01-29 16:45:25 +01:00
remove.c
rom.c
search.c PCI: Unexport pci_bus_sem 2019-07-23 18:32:50 -05:00
setup-bus.c PCI: Use PCI_SRIOV_NUM_BARS in loops instead of PCI_IOV_RESOURCE_END 2019-08-08 15:12:12 -05:00
setup-irq.c
setup-res.c
slot.c PCI: Decode PCIe 32 GT/s link speed 2019-06-13 16:49:45 -05:00
syscall.c PCI: Lock down BAR access when the kernel is locked down 2019-08-19 21:54:15 -07:00
vc.c Merge branch 'pci/trivial' 2019-09-23 16:10:31 -05:00
vpd.c PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port 2019-09-16 14:10:09 +01:00
xen-pcifront.c Merge branch 'pci/printk' 2019-05-13 18:34:46 -05:00