On Sun, 22 Jan 2012 11:29:12 +0100, Lubos Kolouch wrote: > Thanks, here you go: > dmesg after boot - http://paste.pocoo.org/show/538625/ > dmesg after failed resume - http://paste.pocoo.org/show/538626/ Ok, looks like my theory is correct. We're fitting a 24bpp mode to an 18bpp data rate, which doesn't work. I'm in the middle of bisecting a bluetooth failure in 3.3-rc1, so I don't have a working kernel at present, but here's a section of intel_dp.c in the intel_dp_mode_fixup function: int max_clock = intel_dp_max_link_bw(intel_dp) == DP_LINK_BW_2_7 ? 1 : 0; - int bpp = mode->private_flags & INTEL_MODE_DP_FORCE_6BPC ? 18 : 0; + int bpp = mode->private_flags & INTEL_MODE_DP_FORCE_6BPC ? 18 : 24; static int bws[2] = { DP_LINK_BW_1_62, DP_LINK_BW_2_7 }; (this is completely hand-generated, so 'patch' will almost certainly not work) This will force it to use the correct bpp when computing the bandwidth used by the new mode. This should fix your problem. If so, I'll have a larger patch which stops the underlying function from (almost always incorrectly) using the current bpp when computing bandwidth. -- keith.packard@intel.com