Bug 13785 - "drm/i915: add FIFO watermark support" breaks Fujitsu S7110 with SXGA+ display
Summary: "drm/i915: add FIFO watermark support" breaks Fujitsu S7110 with SXGA+ display
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jesse Barnes
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-16 12:30 UTC by Michael Karcher
Modified: 2009-07-19 18:24 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.31-rc2
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
Xorg.log (30.05 KB, text/plain)
2009-07-16 12:30 UTC, Michael Karcher
Details
kernel log output (33.24 KB, text/plain)
2009-07-16 12:31 UTC, Michael Karcher
Details
drm debugging output when setting 1280x1024 @ 85Hz (3.78 KB, text/plain)
2009-07-17 07:59 UTC, Michael Karcher
Details

Description Michael Karcher 2009-07-16 12:30:42 UTC
Created attachment 22377 [details]
Xorg.log

The patch mentioned in the subject (commit 7662c8bd6545c12ac7b2b39e4554c3ba34789c50 in mainline) breaks the X server on the Fujitsu S7110 with an SXGA+ display.

The X server still works and displays the correct image as long as no major drawing activity takes place. As soon as something happens on the screen (even scrolling in gnome-terminal), the image on the screen starts to jump around. When the drawing is finished, everything looks fine again. Reverting the mentioned patch helps.

https://bugs.freedesktop.org/show_bug.cgi?id=22264 might be related. I am sorry, but I currently don't have the log file of the broken X server at hand, so I can't check for underrun messages; yet the erratic display looks *VERY* much like FIFO underruns.

I have the Xorg.log (running current HEAD kernel 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4, but with 5aa8f839f8d96a65082456124fff1f16d4738586 and c99f0b4fe83c0ed1efcfedcfdb2050b08a3c1a15 reverted) attached.
Comment 1 Michael Karcher 2009-07-16 12:31:20 UTC
Created attachment 22378 [details]
kernel log output
Comment 2 Michael Karcher 2009-07-16 12:33:12 UTC
I forget to add that I was unable to locate the commit

commit dff33cfcefa31c30b72c57f44586754ea9e8f3e2
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Tue Jul 14 10:15:56 2009 -0700

    drm/i915: FIFO watermark calculation fixes

mentioned in the freedesktop bug tracker, as I could not find the git tree it is located in, so I can't test whether that patch fixes my issue.
Comment 3 Jesse Barnes 2009-07-16 16:45:20 UTC
It's in Eric's drm-intel-next branch, can you try that?

http://git.kernel.org/?p=linux/kernel/git/anholt/drm-intel.git;a=shortlog;h=drm-intel-next
Comment 4 Michael Karcher 2009-07-16 18:34:52 UTC
I just git-am'ed the mentioned patch from that kernel tree - The internal display of the laptop works fine again. I didn't test dual-head/TV-out or other options. In fact, I don't even own an TV set. Thanks you very much for your quick response.
Comment 5 Jesse Barnes 2009-07-16 18:57:40 UTC
Great, thanks for testing.
Comment 6 Jesse Barnes 2009-07-16 19:05:08 UTC
Marking fixed.  Should land in Linus's tree soon.
Comment 7 Michael Karcher 2009-07-16 21:20:20 UTC
Sorry, the bug is not completely fixed yet. I tested dualhead support, and it fails in the highest resolution, that is 1280x1024 at 85Hz. While the LVDS output at 1400x1050 @ 60Hz is rock solid, the VGA output at 1280x1024 flickers on accelerator activity (both outputs active at the same time. Movie Playback (using Textured Video) works fine, even in dualhead. If I reduce the external VGA output to 75 Hz, I get a correct picture with the movie running on both screens, both windowed and full-screen. I think this worked with the FIFO timings programmed by the BIOS. Will retry.

Also, I was able to run the external output at 1600x1200; the monitor is capable, but current X doesn't offer it. Probably that is a seperate bug.
Comment 8 Michael Karcher 2009-07-17 07:59:55 UTC
Created attachment 22386 [details]
drm debugging output when setting 1280x1024 @ 85Hz

I get the attached kernel log on enabling the non-functional 1280x1024 @ 85Hz on the VGA output (which is connected to pipe A). Obviously, the code decides to need more entries in the FIFO than the FIFO of pipe A provides in total. I am very confident that the hardware is able to run even 1600x1200 @ 60 Hz, using an even higher pixel clock on the external output without any problems.

The system has an Intel T7200 processor (i.e. FSB667) and DDR667 RAM in asymmetric dual channel configuration. (1G + 2G)
Comment 9 Michael Karcher 2009-07-17 08:01:00 UTC
reopening, as that code does not fix all issues about watermark setting.
Comment 10 Jesse Barnes 2009-07-17 16:37:18 UTC
Ah I think I just fixed that bug yesterday, see http://lists.freedesktop.org/archives/intel-gfx/2009-July/003471.html
Comment 11 Michael Karcher 2009-07-19 18:24:05 UTC
That fix helps.

Note You need to log in before you can comment on or make changes to this bug.