Bug 57988

Summary: [regression][bisected][NV4E] LVDS output has offset to the right, part falling of is incorrectly painted on the left
Product: xorg Reporter: Ronald <ronald645>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: regression
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Dmesg of regression: 3.7-rc8+nouveau(implement opcode 0xa9)
none
Dmesg of 'reverted' regression: 3.7-rc8+nouveau('implement opcode 0xa9')(reverted: 'remove some more unnecessary legacy bios code')
none
Dmesg of regression: 3.7-rc8+nouveau(implement opcode 0xa9)+remove '#if 0 / #endif' as mentioned by mupuf
none
Corrupted KMS console, sorry for the bad quality
none
Left side corruption; shown with lightdm
none
Left side corruption; shown with lightdm
none
Upper side corruption; shown with e17
none
Diff of regressed and non-regressed (with revert) dmesg
none
Quick fix none

Description Ronald 2012-12-07 16:36:22 UTC
Created attachment 71137 [details]
Dmesg of regression: 3.7-rc8+nouveau(implement opcode 0xa9)

Commit:

767baf828498: drm/nouveau: remove some more unnecessary legacy bios code

causes a regression. Attached are dmesg logs and photographs (since the title probably won't cut it).

Symptoms are:

- screen is dislocated to the right causing part of the screen to fall off
- the part that falls of the screen is improperly repainted on the left side, seems like a mirror effect in that this repainting is happening twice
- upper part of the screen has a horizontal bar that is probably 1 or 2 pixels thick. Desktop is displayed there, but it's scrambled.

This is with an 'C51 (NV4E)' chipset.

Mupuf on #nouveau mentioned removing the ' #if 0 / #endif ' parts in this commit and see if that rebuilds. I added 'pll_limit_tbl_ptr' back to nouveau_bios.h to make it compile. This does not help. Bug is still there. The dmesg log 'attempt' contains the dmesg output with this modification.

Mupuf also mentioned that 'it clearly is a PLL calculation problem'. Therefore, I also refer back to previous fdo bug #56202 . This was also related to 'PLL' (I have no idea what it is though)...
Comment 1 Ronald 2012-12-07 16:38:07 UTC
Created attachment 71138 [details]
Dmesg of 'reverted' regression: 3.7-rc8+nouveau('implement opcode 0xa9')(reverted: 'remove some more unnecessary legacy bios code')
Comment 2 Ronald 2012-12-07 16:39:24 UTC
Created attachment 71140 [details]
Dmesg of regression: 3.7-rc8+nouveau(implement opcode 0xa9)+remove '#if 0 / #endif' as mentioned by mupuf
Comment 3 Ronald 2012-12-07 16:42:49 UTC
Created attachment 71141 [details]
Corrupted KMS console, sorry for the bad quality
Comment 4 Ronald 2012-12-07 16:43:42 UTC
Created attachment 71142 [details]
Left side corruption; shown with lightdm
Comment 5 Ronald 2012-12-07 16:44:31 UTC
Created attachment 71144 [details]
Left side corruption; shown with lightdm

grrr
Comment 6 Ronald 2012-12-07 16:45:24 UTC
Created attachment 71145 [details]
Upper side corruption; shown with e17

The two significant dots used to be part of the cursor ... :/
Comment 7 Ronald 2012-12-07 16:51:08 UTC
Created attachment 71146 [details]
Diff of regressed and non-regressed (with revert) dmesg

Maybe it helps..

P.S. I was not able to increase the debug level by passing nouveau.debug=5 tot the kernel command line.

Any pointers on that one??
Comment 8 Emil Velikov 2012-12-07 17:29:21 UTC
Created attachment 71147 [details] [review]
Quick fix

Can you give this patch a try
Comment 9 Ronald 2012-12-07 21:03:36 UTC
Said patch fixes this bug. Thanks a ton!
Comment 10 Emil Velikov 2012-12-08 01:00:16 UTC
Thanks for the quick bisect and testing :)

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.