On Mon, Feb 5, 2018 at 12:19 PM, Danilo Krummrich <danilokrummrich@xxxxxxxxxxxxx> wrote: > On 2018-02-05 02:39, Ben Skeggs wrote: >> >> On 5 February 2018 at 11:37, Ben Skeggs <skeggsb@xxxxxxxxx> wrote: >>> >>> On 5 February 2018 at 11:22, Danilo Krummrich >>> <danilokrummrich@xxxxxxxxxxxxx> 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. Thanks for that. I've only had a quick look so far, but I'm going to guess the is a driver bug already. The DCB specifies two different outputs on pad macro 1 (which, would be SOR1 if identity-mapped) that can apparently be used together. If used at the same time though, they both can't be driven by the same SOR, and would need routing. I guess it'd be interesting to see if NVIDIA can manage to drive those two outputs together, which would be a big hint as to whether the board is buggy, or we are. I'm going to guess the latter ;) > > 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? I suspect it's a left-over from an earlier revision of that code, or perhaps I intended to validate it against what we discovered? Not sure now! Thanks, Ben. > > 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@xxxxxxxxxxxxx> >>>> --- >>>> 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@xxxxxxxxxxxxxxxxxxxxx >>>> https://lists.freedesktop.org/mailman/listinfo/nouveau >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@xxxxxxxxxxxxxxxxxxxxx >> https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel