https://bugs.freedesktop.org/show_bug.cgi?id=40630
--- Comment #35 from [email protected] 2011-09-10 08:41:20 PDT --- Small update and corrections: This is a summary of findings so far: 1. Fault always happens in MP1 of TP0, after resume from ram That's of course very strange 2. It doesn't matter if program was run through suspend or launched afrer suspend. Which means that its not an error of preserving channel/program state through suspend. Everything is uploaded new after the program starts. 3. It doesn't matter if there was suspend or hibernate, even hibernate without BIOS suport (echo shutdown > /sys/power/disk) Or in other words 'magic init' done on boot but missing after resume, or opposite a screwup by bios after resume is ruled out. 4. Actual size of allocated buffer doesn't matter. However just pretending that we allocated smaller buffers for each code type (by passing smaller size to nouveau_resource_alloc fixes the issue. (32K was largest size that was working) Also support for large pages was disabled in kernel and that didn't help. This means that its not allocation, failure. It could be memory copy failure though, although initially buffer is allocated in video ram. This also means that the _code offset_ is what matters. In addition to that note that code was uploaded by SIFC but it takes end address of area to copy to, thus really offset from start of out buffer shouldn't matter. 5. Buffers that glxgears happen to upload (tested on his and my system and appears not to change: 7fc00 - 2nd vertex shader - 392 bytes 7fe00 - vertex shader 392 bytes fff00 - pixel shader - 24 bytes However fault address is almost always 7bf00 or something very close to it (7bf08, 7c000) That address is way outside the areas that were uploaded, which means that TP1 really executes undefined code that just wasn't uploaded. Filling the whole code buffer with pattern (using nouveau_bo_map) with pattern made TP1 execute that pattern once again at 7bf00. Tested many times. However if in addition to doing so, the code buffer upload was skipped, all TPs (all 4 of them) faulted in tandem at 7fe00 (vertex shader) trying to execute the pattern. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ Nouveau mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/nouveau
