Created attachment 28020 [details] dmesg when kms is off everything is fine, but with kms on screen seems to blink randomly from time time whether I'm in shell~tty1 or when X is running. it almost seems like a crtc timing issue. along with the screen blink there's one horizontal bar/artifact at the same level as the cursor, both true for shell~tty1 and xorg~gui. also upon entering xorg~gui I noticed fuzzy fonts as if vert refresh rate was off but it was at 60Hz which happens to the max of my lcd.
Created attachment 28021 [details] gt200 vbios
Created attachment 28022 [details] Xorg.0 no go with exapixmaps, since when it is not working? :p
Created attachment 28023 [details] kernel log with xorg and ddx up, beware~7.4MB
Something strange happened which is preventing tiled frontbuffers working on NVA0 gpus, darktama is aware of it, but no solution has been found by him. The reason for the fuzzy image i do not know.
I narrowed down the 'blinkage' issue to commit "drm/nouveau: allow entire 0x0002xxxx range in VBIOS parser on >=nv50", http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=66125505c3ac0e201e8286c777be46f3b415ff53, this is what makes my NVA0 go crazy. I'm really happy that it all went well, my first time git bisecting anything...For each nouveau.ko that I build I had to hexedit the vermagic section/symbol to be able to insert the module into the current running kernel since vergmagic was always different after every compile (and I had to end with same filesize otherwise it wouldn't load!?). Is there a better way to do it? From what I read there's other way to do, e.g. strip .modinfo symbol but this never worked for me (objcopy -N .modinfo mod.ko mod-stripped.ko) stillunknown, AFAIK the fuzzy screen was a result of blinkage. Also the exapixmaps/tiles work for me now. There was at least 1 other person on the IRC that described similar blinking issue, I will try to make a video of what I was experiencing ;).
Here's what was happening, next time I will need to use Windows(TM) to record and be able to set my webcam to 30fps instead of 5fps :(. http://www.youtube.com/watch?v=TlqSOv8UyQg
Are you 100% certain that's the commit? Unless you're resuming from suspend, that code should have no effect, unless simply reading from one of the regs in your VBIOS scripts causes it.. I'd be curious for logs of "modprobe drm debug=1; modprobe nouveau modeset=1" both with and without that commit. Thanks!
Created attachment 28153 [details] good, http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=7992783bc72309bf4e1323097078406c4588adec
Created attachment 28154 [details] bad, http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=66125505c3ac0e201e8286c777be46f3b415ff53
"drm/nouveau: implement init table opcode 0x97" http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=7992783bc72309bf4e1323097078406c4588adec is the newest commit that works starting from "drm/nouveau: allow entire 0x0002xxxx range in VBIOS parser on >=nv50" I get blinking screen, I confirmed it with "drm/nv50: fix bogus warning when running analog output scripts" which happens to be a one liner. For each module I did a cold-boot.
I noticed something interesting with 0x00020074 register, if you look at the logs, when this register is omitted/tagged as unknown everything works fine. Currently with git code this is what's happening: nouveau 0000:01:00.0: Write: Reg: 0x00020074, Data: 0x80000000 while the mmiotrace from 190.18 blob shows this: R 4 222.638450 3 0xfa020074 0x90000000 0x0 0 W 4 222.638466 3 0xfa020074 0x90010000 0x0 0 ... R 4 222.638579 3 0xfa020074 0x90010000 0x0 0 W 4 222.638594 3 0xfa020074 0x90010000 0x0 0 notice that blob writes 0x90010000 to that registers, do we know what this register does?
fixed! thanks darktama http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=9709e636a5ca3d3116da3ab279d5420e2700cad8
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.