[pull request][oneiric] Fixes for i915 PCH refclk code

Seth Forshee seth.forshee at canonical.com
Tue Dec 6 22:44:39 UTC 2011

BugLink: http://bugs.launchpad.net/bugs/614238

These patches address a long-standing problem that causes VGA output
problems on some machines. These patches went into Linus's tree during
the 3.2 merge window, but I've been sitting on them a while as all
previous attempts to fix the problem had to be reverted due to
regressions on other hardware. Things are looking better this time
around, so please consider these backports for oneiric.

== SRU Justification ==

Impact: On some machines with an Ibex Peak PCH, SSC will be enabled on
the clock source used for analog outputs. This results in poor quality
output (described as "wavy") on the external display.

Fix: A series of upstream backports to the i915 driver. With these
backports, the driver will check for the existence of a CK505 clock
source, and if present this is used as the reference clock for analog
outputs so that SSC can remain enabled. Otherwise SSC is disabled. The
PCH refclk update code is also split out so that it can be called from
additional locations where the refclks should be updated.

Test Case: Running with backports on an affected system will fix quality
issues on VGA outputs. Verified for oneiric on LP #614238.

The following changes since commit 9b17787b269086b6556df3ff25f1421a5111131c:

  UBUNTU: Ubuntu-3.0.0-14.23 (2011-11-21 15:59:26 -0200)

are available in the git repository at:
  git://kernel.ubuntu.com/sforshee/ubuntu-oneiric.git lp614238

Jesse Barnes (1):
      drm/i915: split out PCH refclk update code

Keith Packard (7):
      drv/i915: Pull display_clock_mode out of VBT table
      drm/i915: Document a few more BDB_GENERAL_FEATURES bits from PCH BIOS
      drm/i915: Allow SSC parameter to override VBT value
      drm/i915: Fix PCH SSC reference clock settings
      drm/i915: Use CK505 as non-SSC source where available
      drm/i915: All PCH refclks are 120MHz
      drm/i915: Initialize PCH refclks at modeset init time

Thomas Jarosch (1):
      drm/i915: Fix wrong initializer for "locked" variable in assert_panel_unlocked

 drivers/gpu/drm/i915/i915_drv.c      |    8 ++-
 drivers/gpu/drm/i915/i915_drv.h      |    2 +
 drivers/gpu/drm/i915/intel_bios.c    |    7 ++
 drivers/gpu/drm/i915/intel_bios.h    |    9 ++-
 drivers/gpu/drm/i915/intel_display.c |  183 +++++++++++++++++++++++----------
 5 files changed, 150 insertions(+), 59 deletions(-)

More information about the kernel-team mailing list