[Natty-SRU] Lenovo x420s panel display corruption when mode-setting

Jose Plans jose.plans at canonical.com
Mon Oct 3 10:46:19 UTC 2011


SRU Justification:

Impact: 
  Every Lenovo x420s with Samsung panels will present a corrupted
display when booting / mode setting. The systems are not usable. 

Fixes:
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/812638

Fix: 
  Backported patch commit from upstream:
  b24e71798871089da1a4ab049db2800afc1aac0c drm/i915: add pipe/plane
enable/disable functions by Jesse Barnes.

Test case: 
  The reproducer is to simply boot the system with any kernels prior to
Oneiric and using Lenovo x420 and it's Intel graphical chipset. 

Hardware tested was: 
  - Lenovo x301 and on Lenovo x420s with Samsung panel.

Note: 
  This a very intrusive patch, I have spent some time studying it
and I came to the conclusion it would be safer and easier to maintain if
this patch was include as-is rather than providing a forked patch. I
would like the list opinion on this.

  There are three major changes:
 (1) Addition of functions allowing to cleanly add or remove pipes /
planes.
 (2) Addition of assertion functions to alert help prevent scenarios
where pipes or planes are not present and they should be. For example a
plane is being activated but there was no pipe active to contain it.
 (3) During crtc mode setting, now the pipe and planes are allocated
later in the process conforming to intel specifications. Seen at the
changes made in: intel_crtc_mode_set() only affecting ironlake
+/sandybridge.

(3) is the real fix for this panel issue, however (1) is necessary for
it as well as (2) helps preventing further regressions.

 drivers/gpu/drm/i915/i915_reg.h      |    5 +-
 drivers/gpu/drm/i915/intel_display.c |  308
+++++++++++++++++++++++----------
 2 files changed, 217 insertions(+), 96 deletions(-)

        Jose

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-drm-i915-add-pipe-plane-enable-disable-functions.patch.patch
Type: text/x-patch
Size: 12606 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20111003/c853a112/attachment.bin>


More information about the kernel-team mailing list