PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 14 Jan 2020 23:09:28 +0000 (17:09 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 15 Jan 2020 22:23:04 +0000 (16:23 -0600)
commit5e89cd303e3a4505752952259b9f1ba036632544
tree667e2d0fad9edb4e9af40c776e6d54fae5ec0eb7
parentca01e7987463e8675f223c366e262e82f633481a
PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken

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: d28ca864c493 ("PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken")
See-also: 9b44b0b09dec ("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
drivers/pci/quirks.c