Ilia Mirkin
2020-Oct-09 22:23 UTC
[Nouveau] nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
On Fri, Oct 9, 2020 at 5:54 PM Karol Herbst <kherbst at redhat.com> wrote:> > On Fri, Oct 9, 2020 at 11:35 PM Ondrej Zary <linux at zary.sk> wrote: > > > > Hello, > > I'm testing 5.9.0-rc8 and found that Riva TNT2 stopped working: > > [ 0.000000] Linux version 5.9.0-rc8+ (zary at gsql) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #326 SMP Fri Oct 9 22:31:40 CEST 2020 > > ... > > [ 14.771464] nouveau 0000:01:00.0: GPU not supported on big-endian > > [ 14.771782] nouveau: probe of 0000:01:00.0 failed with error -38 > > > > big-endian? WTF? The machine is x86. > > > > mhh, we reworked the endianess checks a bit and apparently that broke > something... I will give it some thoughts, but could you be so kind > and create an mmiotrace under 5.9 with nouveau? You won't need to > start X or anything while doing it. Just enable the trace and modprobe > nouveau and collect the trace.Looks like nvkm_device_endianness unconditionally reads out 0x4. I don't think that reg is there pre-NV11. At least NV4, NV5, NV10 and maybe NV15 (which is logically pre-NV11) don't support big-endian mode. Not sure about NV1A, which was the IGP of the series and IIRC logically pre-NV11 as well (but clearly could only be used with x86 chips, since it was part of the motherboard). Aha, it's documented in rnndb: https://github.com/envytools/envytools/blob/master/rnndb/bus/pmc.xml <reg32 offset="0x004" name="ENDIAN" variants="NV1A-"/> -ilia
Karol Herbst
2020-Oct-10 00:02 UTC
[Nouveau] nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
On Sat, Oct 10, 2020 at 12:23 AM Ilia Mirkin <imirkin at alum.mit.edu> wrote:> > On Fri, Oct 9, 2020 at 5:54 PM Karol Herbst <kherbst at redhat.com> wrote: > > > > On Fri, Oct 9, 2020 at 11:35 PM Ondrej Zary <linux at zary.sk> wrote: > > > > > > Hello, > > > I'm testing 5.9.0-rc8 and found that Riva TNT2 stopped working: > > > [ 0.000000] Linux version 5.9.0-rc8+ (zary at gsql) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #326 SMP Fri Oct 9 22:31:40 CEST 2020 > > > ... > > > [ 14.771464] nouveau 0000:01:00.0: GPU not supported on big-endian > > > [ 14.771782] nouveau: probe of 0000:01:00.0 failed with error -38 > > > > > > big-endian? WTF? The machine is x86. > > > > > > > mhh, we reworked the endianess checks a bit and apparently that broke > > something... I will give it some thoughts, but could you be so kind > > and create an mmiotrace under 5.9 with nouveau? You won't need to > > start X or anything while doing it. Just enable the trace and modprobe > > nouveau and collect the trace. > > Looks like nvkm_device_endianness unconditionally reads out 0x4. I > don't think that reg is there pre-NV11. At least NV4, NV5, NV10 and > maybe NV15 (which is logically pre-NV11) don't support big-endian > mode. Not sure about NV1A, which was the IGP of the series and IIRC > logically pre-NV11 as well (but clearly could only be used with x86 > chips, since it was part of the motherboard). > > Aha, it's documented in rnndb: > > https://github.com/envytools/envytools/blob/master/rnndb/bus/pmc.xml > <reg32 offset="0x004" name="ENDIAN" variants="NV1A-"/> >ohh, I should have checked there.. yeah, will write a fix for it then. Before my patch we just always tried to switch it, but never threw an error.> -ilia >
Ondrej Zary
2020-Oct-10 08:49 UTC
[Nouveau] nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
On Saturday 10 October 2020 00:23:38 Ilia Mirkin wrote:> On Fri, Oct 9, 2020 at 5:54 PM Karol Herbst <kherbst at redhat.com> wrote: > > > > On Fri, Oct 9, 2020 at 11:35 PM Ondrej Zary <linux at zary.sk> wrote: > > > > > > Hello, > > > I'm testing 5.9.0-rc8 and found that Riva TNT2 stopped working: > > > [ 0.000000] Linux version 5.9.0-rc8+ (zary at gsql) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #326 SMP Fri Oct 9 22:31:40 CEST 2020 > > > ... > > > [ 14.771464] nouveau 0000:01:00.0: GPU not supported on big-endian > > > [ 14.771782] nouveau: probe of 0000:01:00.0 failed with error -38 > > > > > > big-endian? WTF? The machine is x86. > > > > > > > mhh, we reworked the endianess checks a bit and apparently that broke > > something... I will give it some thoughts, but could you be so kind > > and create an mmiotrace under 5.9 with nouveau? You won't need to > > start X or anything while doing it. Just enable the trace and modprobe > > nouveau and collect the trace. > > Looks like nvkm_device_endianness unconditionally reads out 0x4. I > don't think that reg is there pre-NV11. At least NV4, NV5, NV10 and > maybe NV15 (which is logically pre-NV11) don't support big-endian > mode. Not sure about NV1A, which was the IGP of the series and IIRC > logically pre-NV11 as well (but clearly could only be used with x86 > chips, since it was part of the motherboard).Yes, you're right. Forcing nvkm_device_endianness to return true allows 5.9.0-rc8 to work: [ 0.000000] Linux version 5.9.0-rc8+ (zary at gsql) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #326 SMP Fri Oct 9 22:31:40 CEST 2020 ... [ 12.311258] nouveau 0000:01:00.0: bios: DCB table not found [ 12.311583] nouveau 0000:01:00.0: bios: DCB table not found [ 12.311834] nouveau 0000:01:00.0: bios: DCB table not found [ 12.311847] nouveau 0000:01:00.0: bios: DCB table not found [ 12.311989] agpgart-intel 0000:00:00.0: AGP 3.0 bridge [ 12.312017] agpgart-intel 0000:00:00.0: bridge is in legacy mode, falling back to 2.x [ 12.312031] agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode [ 12.312066] nouveau 0000:01:00.0: putting AGP V2 device into 4x mode [ 12.312162] agpgart-intel 0000:00:00.0: AGP 3.0 bridge [ 12.312182] agpgart-intel 0000:00:00.0: bridge is in legacy mode, falling back to 2.x [ 12.312195] agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode [ 12.312230] nouveau 0000:01:00.0: putting AGP V2 device into 4x mode [ 12.312247] nouveau 0000:01:00.0: tmr: unknown input clock freq [ 12.318341] nouveau 0000:01:00.0: fb: 32 MiB SDRAM [ 12.333376] [TTM] Zone kernel: Available graphics memory: 385048 KiB [ 12.333392] [TTM] Initializing pool allocator [ 12.333434] nouveau 0000:01:00.0: DRM: VRAM: 31 MiB [ 12.333443] nouveau 0000:01:00.0: DRM: GART: 128 MiB [ 12.333453] nouveau 0000:01:00.0: DRM: BMP version 5.6 [ 12.333460] nouveau 0000:01:00.0: DRM: No DCB data found in VBIOS [ 12.335355] nouveau 0000:01:00.0: DRM: MM: using M2MF for buffer copies [ 12.335443] nouveau 0000:01:00.0: bios: DCB table not found [ 12.336033] nouveau 0000:01:00.0: DRM: Saving VGA fonts [ 12.376420] nouveau 0000:01:00.0: DRM: No DCB data found in VBIOS [ 12.410397] nouveau 0000:01:00.0: DRM: allocated 1280x1024 fb: 0x4000, bo b68d2ac4 [ 12.441217] fbcon: nouveaudrmfb (fb0) is primary device [ 12.591964] Console: switching to colour frame buffer device 160x64 [ 12.593876] nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device [ 12.594944] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0 BTW. 5.8 kernel (that appeared today in Debian packports) is broken the same way.> Aha, it's documented in rnndb: > > https://github.com/envytools/envytools/blob/master/rnndb/bus/pmc.xml > <reg32 offset="0x004" name="ENDIAN" variants="NV1A-"/> > > -ilia >-- Ondrej Zary
Ondrej Zary
2020-Oct-28 20:15 UTC
[Nouveau] nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
On Saturday 10 October 2020 02:02:42 Karol Herbst wrote:> On Sat, Oct 10, 2020 at 12:23 AM Ilia Mirkin <imirkin at alum.mit.edu> wrote: > > > > On Fri, Oct 9, 2020 at 5:54 PM Karol Herbst <kherbst at redhat.com> wrote: > > > > > > On Fri, Oct 9, 2020 at 11:35 PM Ondrej Zary <linux at zary.sk> wrote: > > > > > > > > Hello, > > > > I'm testing 5.9.0-rc8 and found that Riva TNT2 stopped working: > > > > [ 0.000000] Linux version 5.9.0-rc8+ (zary at gsql) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #326 SMP Fri Oct 9 22:31:40 CEST 2020 > > > > ... > > > > [ 14.771464] nouveau 0000:01:00.0: GPU not supported on big-endian > > > > [ 14.771782] nouveau: probe of 0000:01:00.0 failed with error -38 > > > > > > > > big-endian? WTF? The machine is x86. > > > > > > > > > > mhh, we reworked the endianess checks a bit and apparently that broke > > > something... I will give it some thoughts, but could you be so kind > > > and create an mmiotrace under 5.9 with nouveau? You won't need to > > > start X or anything while doing it. Just enable the trace and modprobe > > > nouveau and collect the trace. > > > > Looks like nvkm_device_endianness unconditionally reads out 0x4. I > > don't think that reg is there pre-NV11. At least NV4, NV5, NV10 and > > maybe NV15 (which is logically pre-NV11) don't support big-endian > > mode. Not sure about NV1A, which was the IGP of the series and IIRC > > logically pre-NV11 as well (but clearly could only be used with x86 > > chips, since it was part of the motherboard). > > > > Aha, it's documented in rnndb: > > > > https://github.com/envytools/envytools/blob/master/rnndb/bus/pmc.xml > > <reg32 offset="0x004" name="ENDIAN" variants="NV1A-"/> > > > > ohh, I should have checked there.. yeah, will write a fix for it then. > Before my patch we just always tried to switch it, but never threw an > error.Any progress with the patch? -- Ondrej Zary
Maybe Matching Threads
- nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
- nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
- nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
- nouveau broken on Riva TNT2 in 5.9.0-rc8: GPU not supported on big-endian
- Blank console but X11 works on MCP79 - old regression since 3.8