01:01_lyude[d]: yayyyy
10:42notthatclippy[d]: _lyude[d]: decoded (i typo'd the decoder ring path and was trying 570.133). FBSR is failing to restore the non-WPR region. Probably the values sent down via the wpr_meta are bad:
10:42notthatclippy[d]: meta->nonWprHeapOffset = gsp->fb.heap.addr;
10:42notthatclippy[d]: meta->nonWprHeapSize = gsp->fb.heap.size;
10:43notthatclippy[d]: Maybe try OpenRM at the same version and see what it sends down for that structure on your GPU
10:50notthatclippy[d]: Actually, even the suspend failed to save the data
11:15notthatclippy[d]: The stuff you're sending down at init seems fine:
11:15notthatclippy[d]: mmio.pa: 2000000000000000, mmio.size: 4000000
11:15notthatclippy[d]: HeapMem.pa: bf3200000, HeapMem.size: 6c00000
11:15notthatclippy[d]: NonwprHeapMem.pa: bf3000000, NonwprHeapMem.size: 100000
11:16notthatclippy[d]: I cross-checked with another AD102 board and the sizes should be fine
18:36_lyude[d]: hmmm, I will give another try in a moment to see if I can get openrm running again
18:36_lyude[d]: somehow when I tried last time it hit linking errors when trying to load the module
19:06_lyude[d]: notthatclippy[d]: https://lyude.net/~lyudess/tmp/goldenwind-s3-openrm.log.gz here's the logs from openrm
19:06_lyude[d]: Thankfully it does appear that suspend/resume works with openrm
19:07_lyude[d]: Also - did it say which data it specifically failed to save during suspend before?
19:18_lyude[d]: Also - is it just me or does a mmio pa of 2000000000000000 (which would be 61 bytes long) seem like bogus?
19:50airlied: _lyude[d]: isn't a PCI BAR addr?
19:50_lyude[d]: maybe, I honestly don't know what they look like 😛
20:02airlied[d]: _lyude[d]: you should check s/r on 535
20:02_lyude[d]: airlied[d]: good idea! do we have an argument for forcing a specific gsp version
20:04airlied[d]: don't think so, I usually just rm the fw/loaders from the fs and reinstall linux-firmware later
20:06_lyude[d]: makes sense, I'll try in a moment. fwiw, I think I just made a little bit of progress on the display-hanging issue a moment ago. Something is wrong with how we handle situations with a cursor that has a continuously updating surface if the cursor ends up between two monitors
20:21_lyude[d]: oh dear.
20:22_lyude[d]: airlied[d]: do i get a cookie for finding my first gsp regression?
20:25airlied[d]: nice! must be some change in the sizing calc
20:29_lyude[d]: airlied[d]: is it something in the sizing calc that we have to account for? or the firmware?
20:33airlied[d]: I doubt it's a fw regression
20:35airlied[d]: probably have to dump the values from openrm then see how far off nouveau is
20:36_lyude[d]: yeah - I could also just see if I can find the openrm source that they use for calculating the buffer size
20:43airlied[d]: kgspPopulateWprMeta_TU102 is some of it
20:45_lyude[d]: my energy bill will be quite happy if i can fix this 🙂
21:21notthatclippy[d]: _lyude[d]: Not really. Some non-WPR GSP allocated region. For whatever reason the destination where it was supposed to be saved is too small to contain it.
21:21notthatclippy[d]: btw, GSP did return an error from UNLOADING_GUEST_DRIVER, but looks like nouveau ignored that and proceeded to suspend and resume afterwards anyway
21:22_lyude[d]: gotcha - airlied suggestd it might be an issue with how we calculate the size, and looking at openrm's code honestly it looks like there is quite a lot we're missing in that regard
22:11pac85[d]: If there are people that like benchmarking it would be cool to see how this one liner affects other titles https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39008
23:43karolherbst[d]: phomes_[d]: are you tracking perf of GL games? Might be a good idea to add it to the spreadsheet
23:43phomes_[d]: I am on it 🙂
23:44karolherbst[d]: cool