Bug 15728

Summary: [945GM][kernel 2.6.25] Fail to run GL program after resume
Product: Mesa Reporter: Jie Luo <clotho67>
Component: Drivers/DRI/i915Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: khashayar.lists
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg
Xorg.0.log
reg dump before suspend
reg dump after resume
reg dump after resume and reload i915 kernel module

Description Jie Luo 2008-04-26 14:32:18 UTC
Created attachment 16201 [details]
dmesg

When upgrade to the new 2.6.25 kernel, I can not run any OpenGL program after resume. Here is the error when run glxgear after resume.

$ glxgears 
Failed to initialize TTM buffer manager.  Falling back to classic.
intelWaitIrq: drm_i915_irq_wait: -16

And I find this in my dmesg.

[  119.568138] [drm:i915_wait_irq] *ERROR* EBUSY -- rec: 256129 emitted: 256130

The resume works fine with 2.6.24, so this maybe a regression in i915 drm model.
Comment 1 Jie Luo 2008-04-26 14:34:39 UTC
Created attachment 16202 [details]
Xorg.0.log
Comment 2 Jie Luo 2008-04-27 20:34:53 UTC
Some extra information for this, xserver-1.4.0.90, mesa-7.0.3, intel video driver 2.3.0 work fine with kernel 2.6.25. So it should be some problem caused by the git xserver or mesa. 

With the git xserver and mesa, if you close X, and reload the i915 kernel model after resume, glxgears works again.
Comment 3 Khashayar Naderehvandi 2008-05-10 02:25:21 UTC
I can confirm having this problem on a stock hardy install which uses:
mesa 7.0.3
xserver 1.4.0.90
intel: 2.2.1

@Jie Luo: Are you saying that you don't see the problem with the same setup as I have, except updated intel driver? And that the problem reappears when you update mesa and xserver to git?
Comment 4 Jie Luo 2008-05-10 04:46:40 UTC
(In reply to comment #3)
> I can confirm having this problem on a stock hardy install which uses:
> mesa 7.0.3
> xserver 1.4.0.90
> intel: 2.2.1
> 
> @Jie Luo: Are you saying that you don't see the problem with the same setup as
> I have, except updated intel driver? And that the problem reappears when you
> update mesa and xserver to git?
> 

Yes. But as I didn't try intel driver 2.2.1, I don't know whether it works with kernel 2.6.25 in my system.
Comment 5 Khashayar Naderehvandi 2008-05-13 15:41:28 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > I can confirm having this problem on a stock hardy install which uses:
> > mesa 7.0.3
> > xserver 1.4.0.90
> > intel: 2.2.1
> > 
> > @Jie Luo: Are you saying that you don't see the problem with the same setup as
> > I have, except updated intel driver? And that the problem reappears when you
> > update mesa and xserver to git?
> > 
> 
> Yes. But as I didn't try intel driver 2.2.1, I don't know whether it works with
> kernel 2.6.25 in my system.
> 

In that case, I assume, the problem is not necessarily with the drm modules, no? I haven't managed to get 2.3.1 working properly on my g965 machine on ubuntu (the resolution isn't correct). But I will try to install Fedora 9 later on, when I have time, and see how things work out there. As far as I know, Fedora 9 ships a 2.6.25 kernel. 

(Note that I'm only interested in updated drm modules because the modules from kernel 2.6.24 cause a whole lot of VBLANK wakeups while running compiz)
Comment 6 Jie Luo 2008-05-14 20:31:00 UTC
Created attachment 16545 [details]
reg dump before suspend
Comment 7 Jie Luo 2008-05-14 20:31:47 UTC
Created attachment 16546 [details]
reg dump after resume
Comment 8 Jie Luo 2008-05-14 20:33:06 UTC
Created attachment 16547 [details]
reg dump after resume and reload i915 kernel module
Comment 9 Jie Luo 2008-05-14 20:39:15 UTC
From the regdump, it seems some register not restore properly during resume. This maybe the problem.
Comment 10 Jie Luo 2008-05-27 13:51:42 UTC
Some updates, OpenGL program will work once you reload the i915 kernel module after resume, and you do not need to reload it again. OpenGL program works correctly after that, even you do another suspend and resume.
Comment 11 Jie Luo 2008-07-10 17:30:03 UTC
(In reply to comment #10)
> Some updates, OpenGL program will work once you reload the i915 kernel module
> after resume, and you do not need to reload it again. OpenGL program works
> correctly after that, even you do another suspend and resume.
> 

This bug has being fixed in upstream kernel and drm master. it should be closed now.
Comment 12 Adam Jackson 2009-08-24 12:30:07 UTC
Mass version move, cvs -> git

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.