[Nouveau] [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81
Danilo Krummrich
danilokrummrich at dk-develop.de
Mon Feb 5 01:22:56 UTC 2018
On Gainward GTX 1070 routing any other SOR than SOR-1 to macro link
'G' (outp index 7) causes failures:
[ 6.712111] nouveau 0000:01:00.0: bus: MMIO read of 00000000 FAULT at 61c880 [ IBUS ]
[ 6.724888] nouveau 0000:01:00.0: disp: intr24 80000000
[ 8.716668] nouveau 0000:01:00.0: DRM: base-0: timeout
[ 10.716679] nouveau 0000:01:00.0: DRM: base-1: timeout
[ 63.511862] nouveau 0000:01:00.0: DRM: EVO timeout
As I'm not able to spot an issue in the driver, I suppose it's
firmware related.
Therefore to work around this issue skip crossbar routing for this
particular macro link and instead use identity mapping.
Signed-off-by: Danilo Krummrich <danilokrummrich at dk-develop.de>
---
drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c
index d2f9664afcf4..29de270f2232 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c
@@ -797,6 +797,13 @@ nvkm_device_pci_10de_139b[] = {
{}
};
+static const struct nvkm_device_pci_vendor
+nvkm_device_pci_10de_1b81[] = {
+ /* Gainward GTX 1070 8192 MB */
+ { 0x10b0, 0x1b81, "GeForce GTX 1070",{ .outp_links_skip = BIT(7) } },
+ {}
+};
+
static const struct nvkm_device_pci_device
nvkm_device_pci_10de[] = {
{ 0x0020, "RIVA TNT" },
@@ -1556,7 +1563,7 @@ nvkm_device_pci_10de[] = {
{ 0x1b06, "GeForce GTX 1080 TI" },
{ 0x1bb7, "Quadro P6000" },
{ 0x1b80, "GeForce GTX 1080" },
- { 0x1b81, "GeForce GTX 1070" },
+ { 0x1b81, "GeForce GTX 1070", nvkm_device_pci_10de_1b81 },
{ 0x1b82, "GeForce GTX 1070 TI" },
{ 0x1b84, "GeForce GTX 1060 3GB" },
{ 0x1b87, "P104-100" },
--
2.14.1
More information about the Nouveau
mailing list