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