Re: Regression with i915 and suspend on Thinkpad x220

From: Keith Packard
Date: Sun May 22 2011 - 02:24:19 EST


On Sat, 21 May 2011 23:55:57 -0500, Matt Mackall <mpm@xxxxxxxxxxx> wrote:

> I've got a new Thinkpad x220 which won't wake up from suspend with
> 2.6.39, but works fine with 2.6.37.
>
> I bisected it down to this cset:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4efe070896e1f7373c98a13713e659d1f5dee52a
>
> drm/i915: make the blitter report buffer modifications to the FBC unit

For now, you should be able to disable FBC:

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index c34a8dd..2a82895 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -183,7 +183,7 @@ static const struct intel_device_info intel_sandybridge_d_info = {
static const struct intel_device_info intel_sandybridge_m_info = {
.gen = 6, .is_mobile = 1,
.need_gfx_hws = 1, .has_hotplug = 1,
- .has_fbc = 1,
+ .has_fbc = 0,
.has_bsd_ring = 1,
.has_blt_ring = 1,
};

Let us know if this works. There's a patch heading for 2.6.40 that
provides a module parameter to control FBC from the kernel command
line. We've got a couple X220s on order and I hope we'll be able to
reproduce (and fix) this issue -- FBC saves enough power that we'd like
to be able to leave it enabled on hardware that supports it.

--
keith.packard@xxxxxxxxx

Attachment: pgp00000.pgp
Description: PGP signature