From patchwork Tue Dec 6 22:44:39 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [pull,request,oneiric] Fixes for i915 PCH refclk code Date: Tue, 06 Dec 2011 12:44:39 -0000 From: Seth Forshee X-Patchwork-Id: 129840 Message-Id: <20111206224439.GG23686@thinkpad-t410> To: kernel-team@lists.ubuntu.com 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(-) Acked-by: Herton Ronaldo Krzesinski