Ben Skeggs
2018-Feb-05 01:37 UTC
[Nouveau] [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81
On 5 February 2018 at 11:22, Danilo Krummrich <danilokrummrich at dk-develop.de> wrote:> 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.Are you able to mail me /dev/dri/card0/vbios.rom from that, please? I'd like to look into this some more and be 100% certain this is indeed a quirk, and not some subtle driver bug. Thanks, Ben.> > 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 > > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau
Ben Skeggs
2018-Feb-05 01:39 UTC
[Nouveau] [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81
On 5 February 2018 at 11:37, Ben Skeggs <skeggsb at gmail.com> wrote:> On 5 February 2018 at 11:22, Danilo Krummrich > <danilokrummrich at dk-develop.de> wrote: >> 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. > Are you able to mail me /dev/dri/card0/vbios.rom from that, please? > I'd like to look into this some more and be 100% certain this is > indeed a quirk, and not some subtle driver bug.Err.. /sys/kernel/debug/dri/0/vbios.rom rather ;)> > Thanks, > Ben. > >> >> 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 >> >> _______________________________________________ >> Nouveau mailing list >> Nouveau at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/nouveau
Danilo Krummrich
2018-Feb-05 02:19 UTC
[Nouveau] [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81
On 2018-02-05 02:39, Ben Skeggs wrote:> On 5 February 2018 at 11:37, Ben Skeggs <skeggsb at gmail.com> wrote: >> On 5 February 2018 at 11:22, Danilo Krummrich >> <danilokrummrich at dk-develop.de> wrote: >>> 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. >> Are you able to mail me /dev/dri/card0/vbios.rom from that, please? >> I'd like to look into this some more and be 100% certain this is >> indeed a quirk, and not some subtle driver bug. > Err.. /sys/kernel/debug/dri/0/vbios.rom rather ;) >Sure, that makes sense definitely, as I have checked gm200_sor_route_set and gm200_sor_route_get only to conform to the statements in this mail thread: https://lists.freedesktop.org/archives/nouveau/2014-December/019408.html BTW, I can reproduce the problem with a two monitor setup only, as (of course) having one monitor only at the physical port macro link 'G' is attached to makes to vbios pick the working SOR. Therefore the physical port macro link 'G' is attached to must not be picked as primary monitor. Also, may I ask you a related question: I was a bit confused why 'link' is completely unused in nvkm_outp_init_route() after gm200_sor_route_get() returns. Is this just obsolete or intended to use in the future somehow? Thanks, Danilo>> >> Thanks, >> Ben. >> >>> >>> 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 >>> >>> _______________________________________________ >>> Nouveau mailing list >>> Nouveau at lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/nouveau > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel-------------- next part -------------- A non-text attachment was scrubbed... Name: vbios.rom Type: application/octet-stream Size: 232448 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20180205/05868fa0/attachment-0001.obj>
Possibly Parallel Threads
- [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81
- [PATCH 1/3] drm/nouveau/pci: PCI IDs for pascal architecture
- [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81
- [PATCH v2 1/3] drm/nouveau/pci: PCI IDs for pascal architecture
- [PATCH 3/3] drm/nouveau/pci: SOR crossbar quirk for 10b0:1b81