Bug 13817

Summary: video output scrambled with KMS on i915
Product: Drivers Reporter: Matthieu Verbert (matthieu.verbert)
Component: Video(DRI - non Intel)Assignee: Jesse Barnes (jbarnes)
Status: RESOLVED CODE_FIX    
Severity: normal CC: jbarnes
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.31-rc3 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: video of my screen while moving a terminal

Description Matthieu Verbert 2009-07-23 09:20:20 UTC
Created attachment 22468 [details]
video of my screen while moving a terminal

When using KMS, the console is occasionally scrambled (like a shadow image appearing and disappearing very quickly). It is even more visible when X is
started, as moving any window can trigger the bug and renders the screen completely unreadable (I recorded a (admittedly really lousy) video with my phone in case the description is not good enough).

I bisected the problem and the problem started with commit 7662c8bd6545c12ac7b2b39e4554c3ba34789c50 (drm/i915: add FIFO watermark support), which appeared in Linus's tree between 2.6.31-rc2 and 2.6.31-rc3.
I have _not_ tried to revert just this patch (as I have no clue whether following patches depend on it or not), but I'm open to try any patch (as time permits, it's my work machine too).

Thanks,

Matthieu
Comment 1 Matthieu Verbert 2009-07-23 09:27:39 UTC
some hardware details (from lspci -vvv):

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
        Subsystem: Dell Device 01cc
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at eff00000 (32-bit, non-prefetchable) [size=512K]
        Region 1: I/O ports at eff8 [size=8]
        Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
        Region 3: Memory at efec0000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
                Address: 00000000  Data: 0000
        Capabilities: [d0] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

the laptop is a Dell Latitude D820 (bios version A09 fwiw).
Let me know if you need more details.
Comment 2 Jesse Barnes 2009-07-23 15:38:24 UTC
Should be fixed soon, patches are on their way upstream:
http://git.kernel.org/?p=linux/kernel/git/anholt/drm-intel.git;a=shortlog;h=drm-intel-next

(see the last couple of FIFO related fixes)
Comment 3 Matthieu Verbert 2009-07-24 09:42:12 UTC
I tried this tree on top of 2.6.31-rc4, and it indeed works (glxgears even reports that it's slightly faster than before).
Thanks for the hint !
Comment 4 Jesse Barnes 2009-07-24 16:22:13 UTC
Thanks for testing!
Comment 5 Matthieu Verbert 2009-08-03 09:38:43 UTC
any plan to merge it for rc6 ?
Comment 6 Matthieu Verbert 2009-08-09 20:23:54 UTC
I missed the pull request on LKML, but rc5-git5 now works OOB.
Thanks!