12:52 pgwipeout: Good Morning, I'm trying to get nouveau to play on an aarch64 (arm64) single board computer. I keep getting `nouveau 0000:01:00.0: DRM: core caps notifier timeout` and `nouveau 0000:01:00.0: DRM: GPU lockup - switching to software fbcon` and no display appears. I've tried both MSIs and Legacy INTx, both of which I see are ticking up. I've tried
12:52 pgwipeout: both a GTX645 and GTX960 GPU.
14:34 imirkin: pgwipeout: pastebin dmesg
14:34 imirkin: a common problem on arm64/pcie is not enough IO space to allocate the BAR's for modern GPUs
15:02 pgwipeout: imirkin: https://pastebin.com/1MJUMJPc Plenty of BAR space on this one.
15:02 pgwipeout: Especially for the GTX645.
15:03 imirkin: yeah, that *looks* fine. just to be double-sure, mind getting "lspci -nnv -d 10de:" for me?
15:04 imirkin: also, can you confirm that this is a LE setup? (dunno if arm64 even has a be variant, but ... who knows)
15:05 pgwipeout: imirkin: https://pastebin.com/VnHKNvBe
15:06 pgwipeout: Yes, it's LE.
15:06 imirkin: yea, your BAR's are fine.
15:07 imirkin: so ... good news: basic things work
15:07 imirkin: like it's able to map the BAR and read, among others, register 0 which identifies the board
15:07 pgwipeout: Yeah, I've also messed about in hwmon and it accepts fan speed changes.
15:07 imirkin: and interrupts seem to be working - that's how you see all those errors :)
15:08 imirkin: (basically we get an interrupt saying "you bad bad person")
15:08 imirkin: but there seems to be some problem, e.g. waiting for notifiers.
15:09 imirkin: which means either the thing in the board isn't running, or some sort of cache coherency style issue
15:09 imirkin: also ... i wonder if something like 'nouveau.config=NvForcePost=1' would help in the kernel cmdline.
15:10 imirkin: perhaps the board is semi-initialized but not completely. i dunno what the efi situation on arm is these days
15:10 imirkin: and whether that efi would run this board's GOP
15:10 pgwipeout: This isn't an EFI config at all, all PCI setup is done in kernel.
15:10 imirkin: ah ok
15:10 imirkin: can you try adding that then?
15:11 pgwipeout: Yup, setting it now.
15:13 imirkin: normally we detect if a board is POST'd or not
15:13 imirkin: but i could easily imagine that detection being imperfect
15:13 pgwipeout: Should I see anything new in dmesg with that flag?
15:13 pgwipeout: Or do I need to enable debugging?
15:13 imirkin: i mean ... sure
15:13 imirkin: ideally everything just starts working ;)
15:13 imirkin: otherwise you'll get the same errors again
15:14 pgwipeout: Ah, I was just asking if it would print out that it attempted to force post.
15:14 imirkin: mmmmaybe
15:15 pgwipeout: Sadly it's the same.
16:01 pgwipeout: At least on the gtx645 we should see "devinit: running init tables"
16:03 HdkR: imirkin: ARMv8 does have BE. Just only one person has ever shipped it and decided to stop :P
16:04 imirkin: pgwipeout: ah yeah, that makes sense
16:04 imirkin: pgwipeout: anyways ... sorry, i don't have any great ideas
16:04 imirkin: my bag of tricks is fairly light on arm
16:05 pgwipeout: You said something about cache coherency, is there a way to force flushing the cache?
16:05 imirkin: dunno
16:05 imirkin: i just know that x86 makes life easy
16:05 imirkin: and other platforms don't
16:07 pgwipeout: Haha easy isn't how I'd describe the shenanigans x86 does behind the scenes.
16:07 imirkin: behind the scenes is ... behind the scenes
16:07 imirkin: not my prob.
16:09 pgwipeout: I wonder if it's some nutty option rom crap the card expects to happen.
16:09 imirkin: ideally the NvForcePost should take care of that.
16:09 imirkin: this runs the vbios init scripts
16:11 pgwipeout: Yeah, except option roms are compiled, and most only for x86.
16:11 pgwipeout: So if it expects something to be executed on the pc side, well.... you better be running x86.
16:12 imirkin: but the option rom just runs the vbios tables too, normally
16:12 pgwipeout: Ah.
16:13 imirkin: (there are some option roms which contain OF too... fun stuff.)
16:13 imirkin: and i'd be lying if i said i understood how this all works with BIOS vs EFI boots, etc
16:13 pgwipeout: Yeah someone actually built a static version of qemu into the arm64 OVMF branch that allows emulating x86 code for option roms.
16:14 pgwipeout: But that requires us to be running OVMF.
16:14 pgwipeout: I wonder if I can convince QEMU to mount it....
16:16 linkmauve: HdkR, is there a userland I could try with that, btw?
16:16 linkmauve: Just so that I could do waypipe from a PowerPC computer.
16:17 linkmauve: Or maybe it’d be more useful to fix waypipe to work between two different endiannesses.
16:19 HdkR: linkmauve: I suspect it was their own userland since no one is shipping BE images for ARMv8
16:19 linkmauve: Yeah, that’s sad.
16:27 imirkin: linkmauve: do waypipe between your countless ppc boxes?
16:28 linkmauve: I only have like five of them…
16:28 linkmauve: Most don’t even run Linux atm.
16:29 linkmauve: Plus some emulators, but those can’t run Linux yet.