Bug 16833

Summary: [965GM] 2.4.0: black screen with "(EE) underrun on pipe A"
Product: xorg Reporter: Barry Scott <barry.scott>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: high CC: colin, sergio, simon.farnsworth, zhenyu.z.wang
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 16926    
Attachments:
Description Flags
Xorg Config
none
Xorg log with modedebug true
none
program FIFO watermark values
none
X log with Jesse's patch applied
none
only update fifo watermark
none
Log with the patch in attachment 18003 applied none

Description Barry Scott 2008-07-24 03:44:24 UTC
Created attachment 17851 [details]
Xorg Config

We see the underrun error approx 1 in 4 cold boots.

OS: Fedora 8
Kernel: 2.6.24.3-50.fc8

Attached is the config and log with ModeDebug on. The log has been
truncated to remove 24,000 repeats of the underrun error message
Comment 1 Barry Scott 2008-07-24 03:45:44 UTC
Created attachment 17852 [details]
Xorg log with modedebug true
Comment 2 Barry Scott 2008-07-24 03:47:44 UTC
We can easily test any new code to help resolve the issue. Let me know how we can help.
Comment 3 Sérgio M. Basto 2008-07-24 04:47:57 UTC
fedora 8 use xorg 7.2, should upgrade first , to xorg 7.3 with xserver-1.4 
Comment 4 Barry Scott 2008-07-24 05:03:21 UTC
Why do I need to update to server 1.4? Is the bug fixed in 1.4?

That is not an easy update for me to do. My understanding is that
the driver is supposed to work against 1.3.
Comment 5 Colin Guthrie 2008-07-24 12:35:10 UTC
I usually use XAA on my i945GM but I'm playing with EXA... I'm seeing the expected issues (slow scrolling in FF etc.) but I also see:

(II) intel(0): EDID vendor "LPL", prod id 0
(II) intel(0): DDCModeFromDetailedTiming: 1680x1050 Warning: We only handle seperate sync.
(EE) intel(0): underrun on pipe B!
(II) intel(0): EDID vendor "LPL", prod id 0
(II) intel(0): DDCModeFromDetailedTiming: 1680x1050 Warning: We only handle seperate sync.
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1680x1050"x0.0  122.00  1680 1712 1776 1904  1050 1051 1054 1066 -hsync -vsync
 (64.1 kHz)
(II) intel(0): Modeline "1680x1050"x0.0  122.00  1680 1712 1776 1904  1050 1051 1054 1066 -hsync -vsync
 (64.1 kHz)


On EXA I don't seem to get the underrun but the other output is the same. It seems to be related to a visible flicker in the display and I'm currently trying to track it down (not sure if it's a regression in the driver or something else (but I will refrain from spamming this bug about it).
Comment 6 Gordon Jin 2008-07-24 22:20:35 UTC
Barry, besides the (EE) messages, are you suffering real impact?

Could you try xf86-video-intel 2.4.0 release or master tip? There's a major fix for underrun pipe issue recently.
Comment 7 Simon Farnsworth 2008-07-25 01:19:07 UTC
The impact we're seeing is that the screen goes completely black. Syncs are still being generated, but no video data appears on the VGA output.

Using imlib2_grab to read back the X root window shows that the display is still being drawn.
Comment 8 Barry Scott 2008-07-25 02:30:26 UTC
(In reply to comment #6)
> Barry, besides the (EE) messages, are you suffering real impact?
> 
> Could you try xf86-video-intel 2.4.0 release or master tip? There's a major fix
> for underrun pipe issue recently.
> 

As you can see from the log we are running 2.4.0 release. Have you fixed
underrun issue since 2.4.0 release?

As Simon says we have major problem as the screen is black.

Barry
Comment 9 Gordon Jin 2008-07-25 23:18:24 UTC
(In reply to comment #8)
> As you can see from the log we are running 2.4.0 release. Have you fixed
> underrun issue since 2.4.0 release?

No, I meant the fix in 2.4.0.
Then I'll ask Jesse to look into this new issue.
Comment 10 Sérgio M. Basto 2008-07-26 07:25:47 UTC
(In reply to comment #4)
> Why do I need to update to server 1.4? Is the bug fixed in 1.4?
> 

I don't know but have may bug fixes .

what version of intel drive  have break yours computer ? 
Comment 11 Simon Farnsworth 2008-07-28 01:31:01 UTC
(In reply to comment #10)
> (In reply to comment #4)
> > Why do I need to update to server 1.4? Is the bug fixed in 1.4?
> > 
> 
> I don't know but have may bug fixes .
> 
> what version of intel drive  have break yours computer ? 
> 

None of the versions we've tried work correctly - given that this appears to be a display pipe underrun, and upgrading X is a serious hassle for us, we'd like to wait until it's confirmed that the X server is at fault.

We've tried 2.3.0 and 2.4.0; if there's a particular version we should try instead, we can do that.
Comment 12 Jesse Barnes 2008-07-28 10:29:51 UTC
Created attachment 17931 [details] [review]
program FIFO watermark values

Looks like the watermark values on your platform may be incorrect.  Do the underruns still happen with this patch applied?  What about if you run at a lower resolution or pixel clock?
Comment 13 Sérgio M. Basto 2008-07-28 21:15:35 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > (In reply to comment #4)
> > > Why do I need to update to server 1.4? Is the bug fixed in 1.4?
> > > 
> > 
> > I don't know but have may bug fixes .
> > 
> > what version of intel drive  have break yours computer ? 
> > 
> 
> None of the versions we've tried work correctly 

So this is not about one regression :)  

> - given that this appears to be a display pipe underrun, and upgrading X is a > serious hassle for us, we'd like
> to wait until it's confirmed that the X server is at fault.

I put here: http://sergiomb.no-ip.org/specs/xstuff/?C=M;O=D
my specs for build Xorg 7.3.1 on F8 .
you don't need change libdrm .
I, usually, use source from gits but should work with released sources on 
http://xorg.freedesktop.org/releases/individual/driver/


> 
> We've tried 2.3.0 and 2.4.0; if there's a particular version we should try
> instead, we can do that.
> 

well , my experience with my i915GM, xserver 1.4 do the difference , 
else you should use the old i810-1.6.5 version . Since Intel 2.0 is not a good idea, use xserver 1.3 . 


Comment 14 Simon Farnsworth 2008-07-29 02:25:20 UTC
(In reply to comment #12)
> Created an attachment (id=17931) [details]
> program FIFO watermark values
> 
> Looks like the watermark values on your platform may be incorrect.  Do the
> underruns still happen with this patch applied?  What about if you run at a
> lower resolution or pixel clock?
> 
It's not consistent - sometimes it's fine, sometimes it's not. Reducing to 640x480@60Hz for testing doesn't fix it.

Changing resolution doesn't appear to affect it on unpatched 2.4.0; we still get the blank screen problem regularly. The patch doesn't appear to solve it - I'll attach the log with ModeDebug 1.

Also, should I switch to the old i810 driver as recommended by Sergio? If not, will a new X server resolve the problem on my GME965?
Comment 15 Simon Farnsworth 2008-07-29 02:26:02 UTC
Created attachment 17955 [details]
X log with Jesse's patch applied
Comment 16 Jesse Barnes 2008-07-29 18:09:37 UTC
The old driver may or may not work for you, but it won't support dynamic output discovery & reconfiguration.

I don't see how a new X server would help you here, but I may be overlooking some interaction...

Fundamentally, the underrun messages indicate that the pipe in question wasn't able to get the data it needed in time to send it out to the display.  Usually, this is because the FIFO size is too small for the programmed display mode, or the FIFO watermarks are set too low, which would cause the pipe to refill its FIFO too late to serve the current request.  I'll have to check if there's anything special we're missing for 965GME in this area.
Comment 17 Jesse Barnes 2008-07-30 08:18:10 UTC
Created attachment 18003 [details] [review]
only update fifo watermark

Ok, let's try leaving DSPARB alone and just fixing up the FIFO watermark...
Comment 18 Sérgio M. Basto 2008-07-30 08:29:55 UTC
(In reply to comment #16)

> I don't see how a new X server would help you here, but I may be overlooking
> some interaction...
> 

Simply, because xserver 1.3 is too buggy , that what I take for my experience. 
Comment 19 Simon Farnsworth 2008-07-30 08:51:49 UTC
Created attachment 18004 [details]
Log with the patch in attachment 18003 [details] [review] applied

The "only update fifo watermark" patch doesn't fix it, either; I've attached the X log with ModeDebug 1 again, in case it shows something interesting.
Comment 20 Barry Scott 2008-08-07 02:32:25 UTC
http://people.freedesktop.org/~jcristau/i830_dsparb_sooner.diff
fixes the problem for me.

I tested 360 reboots without a failure.
Comment 21 Jesse Barnes 2008-08-07 09:12:27 UTC
Well, that's a nice bonus!  Thanks for testing Barry.

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.