18:45 TimurTabi: Anyone here know anything about the nvif_object_mthd() function? Ben gave me a code drop before we went on vacation, but it crashes on my system and I don't understand any of the code I'm trying to debug.
18:46 TimurTabi: This check fails:
18:46 TimurTabi: ret = nvif_object_mthd(device, NV_DEVICE_V0_INFO, &args, sizeof(args));
18:46 TimurTabi: if (ret ||
18:46 TimurTabi: args.v.runlists.mthd == NV_DEVICE_INFO_INVALID || !args.v.runlists.data ||
18:46 TimurTabi: args.v.channels.mthd == NV_DEVICE_INFO_INVALID) {
18:47 TimurTabi: ret == 0, but the other three conditions are all true. That is, args.v.runlists.mthd == NV_DEVICE_INFO_INVALID, and so on.
18:48 TimurTabi: I have no idea what any of this code is trying to do, but it would be nice if someone could give me a clue what could cause args.v.runlists.mthd to be NV_DEVICE_INFO_INVALID.
18:51 airlied: TimurTabi: that means that the fifo hasn't been setup
18:51 TimurTabi: What fifo? I don't know really know much about this code.
18:52 airlied: the fifo subdevice, but I don't think it needs to be setup for gsprm paths
18:53 airlied: PFIFO in hw terms
18:54 TimurTabi: This is happening after gsprm is set up
18:54 TimurTabi: The real problem is there's a corrupt pointer in drm->ttm.copy
18:55 TimurTabi: and I can't figure out how it gets corrupted.
18:55 airlied: that is likely because the CE isn't getting setup
18:56 TimurTabi: Copy Engine?
18:56 airlied: yes
18:56 TimurTabi: Well, I have to admit, I don't really know much about what our hardware does.
18:56 airlied: so once gsprm is running, there are lots of parts of the driver that are still expecting direct hw programming to have happened
18:56 TimurTabi: That makes sense.
18:57 TimurTabi: Ben made it sounds like he had something hacked up, but working.
18:57 TimurTabi: Maybe it isn't actually working.
18:58 airlied: he had some basics of display bringup going, but no accel
18:59 TimurTabi: Well, it's the panic I'm trying to resolve.
19:00 airlied: https://github.com/airlied/linux/tree/nouveau-gsp-rm-boot-wip-hacks has some further hacks I've done here
19:01 airlied: but I'm mostly just wandering around in the dark trying to learn how it all works myself
19:01 airlied: also going on holidays for a week!
19:02 TimurTabi: Ah, I'll try your tree.
19:02 TimurTabi: I see you added vmalloc_to_sgt(). That's good.
19:02 TimurTabi: It does seem that I can never get around to adding any code because you guys add it first.
19:04 airlied: I suspect ben will have his own version of that as well, no idea how to get the fw to load without it, must have lots of RAM :-)
19:04 TimurTabi: And an iommu
19:05 airlied: but my rough ideas were to bring up an internal gsp client/device and try and hook up the push buf for the copy engine
19:06 airlied: the open gpu code has the scrubber setup code which I think should be close to what is needed
19:06 airlied: at least from the gsprm alloc/control interface calls
19:07 airlied: I was trying to add an r515 fifo impl that was fake when I finished yesterday, but I needed some more empty callbacks
19:30 TimurTabi: AS arch/x86/entry/thunk_64.o
19:30 TimurTabi: arch/x86/entry/thunk_64.o: warning: objtool: missing symbol table
19:30 TimurTabi: make[2]: *** [scripts/Makefile.build:361: arch/x86/entry/thunk_64.o] Error 1
19:30 TimurTabi: make[2]: *** Deleting file 'arch/x86/entry/thunk_64.o'
19:30 TimurTabi: I get this building your tree
19:31 TimurTabi: Wait, I think I forgot to check out the correct branch.
19:34 airlied: sounds likely
21:48 Mangix: So. What was the story with nouveau and display over locking again?
21:49 Mangix: Overclocking