Subject: Current suspend issues on Lenovo X200

Hello!

All recent kernels can suspend the Lenovo X200, but almost none
can awake:

- 2.6.27-rc9: can suspend once, wakeup: ok
second suspend: system freeze instead of wakeup
-> shows parts of the X screen, but does not react on ping
- 2.6.27: system freeze instead of wakeup
-> shows parts of the X screen, but does not react on ping
- 2.6.27-next-20081023:
-> no X running (because xorg does not work with that kernel)
-> wakes up
-> console is blank after suspend
-> can reboot / shutdown blindly

Sincerly,

Nico

--
Think about Free and Open Source Software (FOSS).
http://nico.schottelius.org/documentations/foss/the-term-foss/

PGP: BFE4 C736 ABE5 406F 8F42 F7CF B8BE F92A 9885 188C


Attachments:
(No filename) (716.00 B)
signature.asc (197.00 B)
Digital signature
Download all attachments
Subject: Re: Current suspend issues on Lenovo X200

First of all, this was wrong:

Nico -telmich- Schottelius [Thu, Oct 23, 2008 at 10:43:26PM +0200]:
> - 2.6.27: system freeze instead of wakeup
> -> shows parts of the X screen, but does not react on ping

System does not freeze, but reboots instead.

Tried next-20081023 and 2.6.27 with acpi_sleep=s3_bios:

- suspend and wakeup on console works fine for both!
- no X running on next
- 2.6.27 + X -> reboot on wakeup

Nico


Attachments:
(No filename) (427.00 B)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-10-23 22:02:11

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

On Thursday, 23 of October 2008, Nico Schottelius wrote:
> First of all, this was wrong:
>
> Nico -telmich- Schottelius [Thu, Oct 23, 2008 at 10:43:26PM +0200]:
> > - 2.6.27: system freeze instead of wakeup
> > -> shows parts of the X screen, but does not react on ping
>
> System does not freeze, but reboots instead.
>
> Tried next-20081023 and 2.6.27 with acpi_sleep=s3_bios:
>
> - suspend and wakeup on console works fine for both!
> - no X running on next
> - 2.6.27 + X -> reboot on wakeup

Let me guess, you have a NVidia graphics?

Rafael

2008-10-24 03:03:28

by Nigel Cunningham

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

Hey Rafael :)

On Fri, 2008-10-24 at 00:06 +0200, Rafael J. Wysocki wrote:
> On Thursday, 23 of October 2008, Nico Schottelius wrote:
> > First of all, this was wrong:
> >
> > Nico -telmich- Schottelius [Thu, Oct 23, 2008 at 10:43:26PM +0200]:
> > > - 2.6.27: system freeze instead of wakeup
> > > -> shows parts of the X screen, but does not react on ping
> >
> > System does not freeze, but reboots instead.
> >
> > Tried next-20081023 and 2.6.27 with acpi_sleep=s3_bios:
> >
> > - suspend and wakeup on console works fine for both!
> > - no X running on next
> > - 2.6.27 + X -> reboot on wakeup
>
> Let me guess, you have a NVidia graphics?

Not this time. Going off the other log he posted, it's...

Chipset Mobile Intel® GM45 Express Chipset found

Regards,

Nigel

2008-10-24 07:06:45

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Friday, 24 of October 2008, Nigel Cunningham wrote:
> Hey Rafael :)
>
> On Fri, 2008-10-24 at 00:06 +0200, Rafael J. Wysocki wrote:
> > On Thursday, 23 of October 2008, Nico Schottelius wrote:
> > > First of all, this was wrong:
> > >
> > > Nico -telmich- Schottelius [Thu, Oct 23, 2008 at 10:43:26PM +0200]:
> > > > - 2.6.27: system freeze instead of wakeup
> > > > -> shows parts of the X screen, but does not react on ping
> > >
> > > System does not freeze, but reboots instead.
> > >
> > > Tried next-20081023 and 2.6.27 with acpi_sleep=s3_bios:
> > >
> > > - suspend and wakeup on console works fine for both!
> > > - no X running on next
> > > - 2.6.27 + X -> reboot on wakeup
> >
> > Let me guess, you have a NVidia graphics?
>
> Not this time. Going off the other log he posted, it's...
>
> Chipset Mobile Intel® GM45 Express Chipset found

This is going to be interesting. :-)

Nico, if the system is 64-bit, I'd recommend trying .28-rc1.

Thanks,
Rafael

Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

Rafael J. Wysocki [Fri, Oct 24, 2008 at 09:11:04AM +0200]:
> > Not this time. Going off the other log he posted, it's...
> >
> > Chipset Mobile Intel? GM45 Express Chipset found
>
> This is going to be interesting. :-)
>
> Nico, if the system is 64-bit, I'd recommend trying .28-rc1.

Yes, I'm on amd64;

As seen on my other post: xorg does not run on .28-rc1

Nico


Attachments:
(No filename) (369.00 B)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-10-24 14:01:36

by Mikael Abrahamsson

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Fri, 24 Oct 2008, Nico -telmich- Schottelius wrote:

> Yes, I'm on amd64;

I'm on ubuntu 8.10-rc with all updates (so I'm on their 2.6.27-7 kernel)
on Lenovo X200.

I can replicate the problems without X, I get an oops when it comes out of
sleep (can't scroll up and nothing in the log).

If I shut down X, power down bluetooth (fn-F4) and rmmod btusb and
bluetooth, I can successfully get the X200 to sleep (by executing the
/etc/acpi/sleep.sh script) and come back up again properly.

If I have X enabled, power down bluetooth, /etc/ini.d/bluetooth stop and
rmmod btusb/bluetooth, I still get the problem when coming out of sleep. I
get a mouse pointer (unmovable), black background, and after 5-10 seconds
I get hard power down (watchdog?).

I have tried to ctrl-alt-F1 to text console and make it go to sleep to see
if this works in conjunction with X running, but it seems some X daemon is
catching/hindering the fn-F4 and ./sleep.sh, so I haven't been able to try
this.

Anything else I can test that might help?

--
Mikael Abrahamsson email: [email protected]

2008-10-24 14:28:34

by Andres Freund

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

Hi Nico,

On Thursday 23 October 2008 22:43:26 Nico -telmich- Schottelius wrote:
> - 2.6.27-next-20081023:
> -> no X running (because xorg does not work with that kernel)
I think what you need is one rather short fix for the intel xorg driver:

diff --git a/src/i830_driver.c b/src/i830_driver.c
index c1d61f4..eaf5d27 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -502,8 +502,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)
range = gtt_size + 4;

/* new 4 series hardware has seperate GTT stolen with GFX stolen */
- if (IS_G4X(pI830))
- range = 0;
+ if (IS_G4X(pI830) || IS_GM45(pI830))
+ range = 4;

if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {
switch (gmch_ctrl & I855_GMCH_GMS_MASK) {

(Out of the "[git pull] agp patches for 2.6.28-rc1" thread)

Andres


Attachments:
(No filename) (801.00 B)
signature.asc (197.00 B)
This is a digitally signed message part.
Download all attachments

2008-10-24 14:31:09

by Andres Freund

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > Chipset Mobile Intel? GM45 Express Chipset found
> > This is going to be interesting. :-)
> > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> Yes, I'm on amd64;
> As seen on my other post: xorg does not run on .28-rc1
The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
which require a newer driver, so trying this may be benifical (patch in reply
to your first post).

Andres


Attachments:
(No filename) (492.00 B)
signature.asc (197.00 B)
This is a digitally signed message part.
Download all attachments

2008-10-24 18:03:58

by Jens Axboe

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Fri, Oct 24 2008, Andres Freund wrote:
> On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > This is going to be interesting. :-)
> > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > Yes, I'm on amd64;
> > As seen on my other post: xorg does not run on .28-rc1
> The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> which require a newer driver, so trying this may be benifical (patch in reply
> to your first post).

No go, same for me on x60 on ubuntu 8.10-rc1.

--
Jens Axboe

2008-10-24 18:22:28

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Friday, 24 of October 2008, Andres Freund wrote:
> On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > This is going to be interesting. :-)
> > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > Yes, I'm on amd64;
> > As seen on my other post: xorg does not run on .28-rc1
> The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> which require a newer driver, so trying this may be benifical (patch in reply
> to your first post).

Nico, Mikael, if the Andres' patch doesn't help, please add the output of
lspci -vv from Lenovo X200 and a boot log into
http://bugzilla.kernel.org/show_bug.cgi?id=11220 .

Also, if you are able to get a debugging info from the box right before the
failure, it may help a lot.

Thanks,
Rafael

2008-10-24 18:23:31

by Jesse Barnes

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

On Friday, October 24, 2008 7:28 am Andres Freund wrote:> Hi Nico,>> On Thursday 23 October 2008 22:43:26 Nico -telmich- Schottelius wrote:> > - 2.6.27-next-20081023:> > -> no X running (because xorg does not work with that kernel)>> I think what you need is one rather short fix for the intel xorg driver:>> diff --git a/src/i830_driver.c b/src/i830_driver.c> index c1d61f4..eaf5d27 100644> --- a/src/i830_driver.c> +++ b/src/i830_driver.c> @@ -502,8 +502,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)> range = gtt_size + 4;>> /* new 4 series hardware has seperate GTT stolen with GFX stolen */> - if (IS_G4X(pI830))> - range = 0;> + if (IS_G4X(pI830) || IS_GM45(pI830))> + range = 4;>> if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {> switch (gmch_ctrl & I855_GMCH_GMS_MASK) {>> (Out of the "[git pull] agp patches for 2.6.28-rc1" thread)
Something like this might also help.
G4x chips do their own memory arbitration management, so we shouldn't tryingto save/restore the DSPARB reg.
Jesse
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.hindex f20ffe1..6ba8712 100644--- a/drivers/gpu/drm/i915/i915_drv.h+++ b/drivers/gpu/drm/i915/i915_drv.h@@ -657,6 +657,9 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev)) +/* dsparb controlled by hw only */+#define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_GM45(dev))+ #define PRIMARY_RINGBUFFER_SIZE (128*1024) #endifdiff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.cindex 603fe74..4bea6ea 100644--- a/drivers/gpu/drm/i915/i915_suspend.c+++ b/drivers/gpu/drm/i915/i915_suspend.c@@ -241,7 +241,8 @@ int i915_save_state(struct drm_device *dev) pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); /* Display arbitration control */- dev_priv->saveDSPARB = I915_READ(DSPARB);+ if (!DSPARB_HWCONTROL(dev))+ dev_priv->saveDSPARB = I915_READ(DSPARB); /* Pipe & plane A info */ dev_priv->savePIPEACONF = I915_READ(PIPEACONF);@@ -365,7 +366,8 @@ int i915_restore_state(struct drm_device *dev) pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); - I915_WRITE(DSPARB, dev_priv->saveDSPARB);+ if (!DSPARB_HWCONTROL(dev))+ I915_WRITE(DSPARB, dev_priv->saveDSPARB); /* Pipe & plane A info */ /* Prime the clock */????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2008-10-24 18:29:43

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Friday, 24 of October 2008, Jens Axboe wrote:
> On Fri, Oct 24 2008, Andres Freund wrote:
> > On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > > This is going to be interesting. :-)
> > > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > > Yes, I'm on amd64;
> > > As seen on my other post: xorg does not run on .28-rc1
> > The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> > which require a newer driver, so trying this may be benifical (patch in reply
> > to your first post).
>
> No go, same for me on x60 on ubuntu 8.10-rc1.

Is this a regression on your box?

Rafael

2008-10-24 18:48:36

by Jens Axboe

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Fri, Oct 24 2008, Rafael J. Wysocki wrote:
> On Friday, 24 of October 2008, Jens Axboe wrote:
> > On Fri, Oct 24 2008, Andres Freund wrote:
> > > On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > > > This is going to be interesting. :-)
> > > > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > > > Yes, I'm on amd64;
> > > > As seen on my other post: xorg does not run on .28-rc1
> > > The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> > > which require a newer driver, so trying this may be benifical (patch in reply
> > > to your first post).
> >
> > No go, same for me on x60 on ubuntu 8.10-rc1.
>
> Is this a regression on your box?

Yes, definitely.

--
Jens Axboe

2008-10-24 18:50:27

by Andres Freund

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

Hi,

On Friday 24 October 2008 20:02:48 Jens Axboe wrote:
> > The kernel has a fix for memory management for GM45 cards since
> > 2.6.28-rc1 which require a newer driver, so trying this may be benifical
> > (patch in reply to your first post).
> No go, same for me on x60 on ubuntu 8.10-rc1.
Uh, sorry, just now recognized you wrote x60 and not x200 (I guess the x60 has
no GM45?).

Andres


Attachments:
(No filename) (391.00 B)
signature.asc (197.00 B)
This is a digitally signed message part.
Download all attachments

2008-10-24 18:52:06

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Friday, 24 of October 2008, Jens Axboe wrote:
> On Fri, Oct 24 2008, Rafael J. Wysocki wrote:
> > On Friday, 24 of October 2008, Jens Axboe wrote:
> > > On Fri, Oct 24 2008, Andres Freund wrote:
> > > > On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > > > > This is going to be interesting. :-)
> > > > > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > > > > Yes, I'm on amd64;
> > > > > As seen on my other post: xorg does not run on .28-rc1
> > > > The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> > > > which require a newer driver, so trying this may be benifical (patch in reply
> > > > to your first post).
> > >
> > > No go, same for me on x60 on ubuntu 8.10-rc1.
> >
> > Is this a regression on your box?
>
> Yes, definitely.

Which kernel did work?

2008-10-24 18:56:57

by Jens Axboe

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Fri, Oct 24 2008, Rafael J. Wysocki wrote:
> On Friday, 24 of October 2008, Jens Axboe wrote:
> > On Fri, Oct 24 2008, Rafael J. Wysocki wrote:
> > > On Friday, 24 of October 2008, Jens Axboe wrote:
> > > > On Fri, Oct 24 2008, Andres Freund wrote:
> > > > > On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > > > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > > > > > This is going to be interesting. :-)
> > > > > > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > > > > > Yes, I'm on amd64;
> > > > > > As seen on my other post: xorg does not run on .28-rc1
> > > > > The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> > > > > which require a newer driver, so trying this may be benifical (patch in reply
> > > > > to your first post).
> > > >
> > > > No go, same for me on x60 on ubuntu 8.10-rc1.
> > >
> > > Is this a regression on your box?
> >
> > Yes, definitely.
>
> Which kernel did work?

2.6.27, for instance. It's pretty much always worked, the last time it
broke was the timer stuff around KS. Other than that, it's been very
solid for a almost 2 years.

--
Jens Axboe

2008-10-24 19:01:21

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200 (w/ Intel graphics)

On Friday, 24 of October 2008, Jens Axboe wrote:
> On Fri, Oct 24 2008, Rafael J. Wysocki wrote:
> > On Friday, 24 of October 2008, Jens Axboe wrote:
> > > On Fri, Oct 24 2008, Rafael J. Wysocki wrote:
> > > > On Friday, 24 of October 2008, Jens Axboe wrote:
> > > > > On Fri, Oct 24 2008, Andres Freund wrote:
> > > > > > On Friday 24 October 2008 15:01:31 Nico -telmich- Schottelius wrote:
> > > > > > > > > Chipset Mobile Intel? GM45 Express Chipset found
> > > > > > > > This is going to be interesting. :-)
> > > > > > > > Nico, if the system is 64-bit, I'd recommend trying .28-rc1.
> > > > > > > Yes, I'm on amd64;
> > > > > > > As seen on my other post: xorg does not run on .28-rc1
> > > > > > The kernel has a fix for memory management for GM45 cards since 2.6.28-rc1
> > > > > > which require a newer driver, so trying this may be benifical (patch in reply
> > > > > > to your first post).
> > > > >
> > > > > No go, same for me on x60 on ubuntu 8.10-rc1.
> > > >
> > > > Is this a regression on your box?
> > >
> > > Yes, definitely.
> >
> > Which kernel did work?
>
> 2.6.27, for instance. It's pretty much always worked, the last time it
> broke was the timer stuff around KS. Other than that, it's been very
> solid for a almost 2 years.

So it's a recent breakage for you. May be a different issue from the x200 one,
only the symptoms are similar (well, the symptoms are usually similar if failing
resume is involved).

Subject: Re: Current suspend issues on Lenovo X200

Jesse Barnes [Fri, Oct 24, 2008 at 11:23:17AM -0700]:
> On Friday, October 24, 2008 7:28 am Andres Freund wrote:
> > Hi Nico,
> >
> > On Thursday 23 October 2008 22:43:26 Nico -telmich- Schottelius wrote:
> > > - 2.6.27-next-20081023:
> > > -> no X running (because xorg does not work with that kernel)
> >
> > I think what you need is one rather short fix for the intel xorg driver:
> >
> > diff --git a/src/i830_driver.c b/src/i830_driver.c
> > index c1d61f4..eaf5d27 100644
> > --- a/src/i830_driver.c
> > +++ b/src/i830_driver.c
> > @@ -502,8 +502,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)
> > range = gtt_size + 4;
> >
> > /* new 4 series hardware has seperate GTT stolen with GFX stolen */
> > - if (IS_G4X(pI830))
> > - range = 0;
> > + if (IS_G4X(pI830) || IS_GM45(pI830))
> > + range = 4;
> >
> > if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {
> > switch (gmch_ctrl & I855_GMCH_GMS_MASK) {
> >
> > (Out of the "[git pull] agp patches for 2.6.28-rc1" thread)
>
> Something like this might also help.
>
> G4x chips do their own memory arbitration management, so we shouldn't trying
> to save/restore the DSPARB reg.
>

I'm a bit confused. Which of both patches against 2.6.28-rc1 should I try?

Nico


Attachments:
(No filename) (1.21 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-10-25 15:55:27

by Andres Freund

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

Hi Nico,

On Saturday 25 October 2008 16:53:29 Nico -telmich- Schottelius wrote:
> Jesse Barnes [Fri, Oct 24, 2008 at 11:23:17AM -0700]:
> > On Friday, October 24, 2008 7:28 am Andres Freund wrote:
> > > On Thursday 23 October 2008 22:43:26 Nico -telmich- Schottelius wrote:
> > > > - 2.6.27-next-20081023:
> > > > -> no X running (because xorg does not work with that kernel)
> > > I think what you need is one rather short fix for the intel xorg
> > > driver:
> > > diff --git a/src/i830_driver.c b/src/i830_driver.c
> > > index c1d61f4..eaf5d27 100644
> > > --- a/src/i830_driver.c
> > > +++ b/src/i830_driver.c
> > > @@ -502,8 +502,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)
> > > range = gtt_size + 4;
> > >
> > > /* new 4 series hardware has seperate GTT stolen with GFX stolen */
> > > - if (IS_G4X(pI830))
> > > - range = 0;
> > > + if (IS_G4X(pI830) || IS_GM45(pI830))
> > > + range = 4;
> > >
> > > if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {
> > > switch (gmch_ctrl & I855_GMCH_GMS_MASK) {
> > >
> > > (Out of the "[git pull] agp patches for 2.6.28-rc1" thread)
> > Something like this might also help.
> > G4x chips do their own memory arbitration management, so we shouldn't
> > trying to save/restore the DSPARB reg.
> I'm a bit confused. Which of both patches against 2.6.28-rc1 should I try?
"My" patch is definitely needed to make the X intel driver work with 2.6.28-
rc1. Its a patch for X and not for the kernel.
Its not necessarily directly related to what you reported, but to:
>?- 2.6.27-next-20081023:
> ?-> no X running (because xorg does not work with that kernel)
It might also help to work with suspend, because seemingly (according to Intel
people) its not expected that the driver works with that bug.

So try the patch I posted (which is out of the upstream development version)
to make X work with 2.6.28-rc1 and continue testing if X works with 2.6.28-
rcx.

Andres


Attachments:
(No filename) (1.89 kB)
signature.asc (197.00 B)
This is a digitally signed message part.
Download all attachments

2008-11-12 18:24:56

by Jesse Barnes

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

On Saturday, October 25, 2008 7:53 am Nico -telmich- Schottelius wrote:
> Jesse Barnes [Fri, Oct 24, 2008 at 11:23:17AM -0700]:
> > On Friday, October 24, 2008 7:28 am Andres Freund wrote:
> > > Hi Nico,
> > >
> > > On Thursday 23 October 2008 22:43:26 Nico -telmich- Schottelius wrote:
> > > > - 2.6.27-next-20081023:
> > > > -> no X running (because xorg does not work with that kernel)
> > >
> > > I think what you need is one rather short fix for the intel xorg
> > > driver:
> > >
> > > diff --git a/src/i830_driver.c b/src/i830_driver.c
> > > index c1d61f4..eaf5d27 100644
> > > --- a/src/i830_driver.c
> > > +++ b/src/i830_driver.c
> > > @@ -502,8 +502,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)
> > > range = gtt_size + 4;
> > >
> > > /* new 4 series hardware has seperate GTT stolen with GFX stolen */
> > > - if (IS_G4X(pI830))
> > > - range = 0;
> > > + if (IS_G4X(pI830) || IS_GM45(pI830))
> > > + range = 4;
> > >
> > > if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {
> > > switch (gmch_ctrl & I855_GMCH_GMS_MASK) {
> > >
> > > (Out of the "[git pull] agp patches for 2.6.28-rc1" thread)
> >
> > Something like this might also help.
> >
> > G4x chips do their own memory arbitration management, so we shouldn't
> > trying to save/restore the DSPARB reg.
>
> I'm a bit confused. Which of both patches against 2.6.28-rc1 should I try?

Have you tried recent (last few days) git bits of the kernel and xf86-video-
intel?

Jesse

Subject: Re: Current suspend issues on Lenovo X200

Jesse Barnes [Wed, Nov 12, 2008 at 10:24:44AM -0800]:
> On Saturday, October 25, 2008 7:53 am Nico -telmich- Schottelius wrote:
> > Jesse Barnes [Fri, Oct 24, 2008 at 11:23:17AM -0700]:
> > > On Friday, October 24, 2008 7:28 am Andres Freund wrote:
> > > > Hi Nico,
> > > >
> > > > On Thursday 23 October 2008 22:43:26 Nico -telmich- Schottelius wrote:
> > > > > - 2.6.27-next-20081023:
> > > > > -> no X running (because xorg does not work with that kernel)
> > > >
> > > > I think what you need is one rather short fix for the intel xorg
> > > > driver:
> > > >
> > > > diff --git a/src/i830_driver.c b/src/i830_driver.c
> > > > index c1d61f4..eaf5d27 100644
> > > > --- a/src/i830_driver.c
> > > > +++ b/src/i830_driver.c
> > > > @@ -502,8 +502,8 @@ I830DetectMemory(ScrnInfoPtr pScrn)
> > > > range = gtt_size + 4;
> > > >
> > > > /* new 4 series hardware has seperate GTT stolen with GFX stolen */
> > > > - if (IS_G4X(pI830))
> > > > - range = 0;
> > > > + if (IS_G4X(pI830) || IS_GM45(pI830))
> > > > + range = 4;
> > > >
> > > > if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I9XX(pI830)) {
> > > > switch (gmch_ctrl & I855_GMCH_GMS_MASK) {
> > > >
> > > > (Out of the "[git pull] agp patches for 2.6.28-rc1" thread)
> > >
> > > Something like this might also help.
> > >
> > > G4x chips do their own memory arbitration management, so we shouldn't
> > > trying to save/restore the DSPARB reg.
> >
> > I'm a bit confused. Which of both patches against 2.6.28-rc1 should I try?
>
> Have you tried recent (last few days) git bits of the kernel and xf86-video-
> intel?

Yep, sorry, opened a new thread. Issue got better (console works without s3_bios),
but xorg still reboots the system. I'll try the referenced workaround at
http://ubuntuforums.org/showpost.php?p=6105510&postcount=12

Nico

--
Think about Free and Open Source Software (FOSS).
http://nico.schottelius.org/documentations/foss/the-term-foss/

PGP: BFE4 C736 ABE5 406F 8F42 F7CF B8BE F92A 9885 188C


Attachments:
(No filename) (1.95 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-11-14 15:52:28

by Mikael Abrahamsson

[permalink] [raw]
Subject: Re: Current suspend issues on Lenovo X200

On Fri, 14 Nov 2008, Nico -telmich- Schottelius wrote:

> Yep, sorry, opened a new thread. Issue got better (console works without
> s3_bios), but xorg still reboots the system. I'll try the referenced
> workaround at
> http://ubuntuforums.org/showpost.php?p=6105510&postcount=12

This workaround has worked 99% for me since I started using it over a
week ago (once has it happened that I just got the "black X11 and pointer"
which required me to power cycle to fix).

Only issue has been that approximately 1 out of 20 wakeups, my wifi won't
come on after wakeup (LED doesn't even come on). If I sleep it and then
wake it up again, it's worked properly.

I'm using the Ubuntu 8.10 latest kernel 2.7.27-7-generic.

--
Mikael Abrahamsson email: [email protected]