[Karmic] SRU: [PATCH 0/7] drm/i915: Fix Ironlake support

Andy Whitcroft apw at canonical.com
Thu Jan 7 12:13:57 UTC 2010

On Wed, Jan 06, 2010 at 11:28:37PM +0100, Stefan Bader wrote:
> [Note: tracking bug number TBD]
> SRU Justification:
> Impact: The support for Ironlake in the i915 driver shipped with Karmic has
> several major issues which prevent Karmic from running on platforms using this
> chipset.
> Fix: This is a selective pick of fixes recommeded by Intel to get those
> hardware running. It is not complete but without those, the systems could
> not be used.

There appears to be a bug in the first patch where we restore CG_2D_DIS
but never save it, which is unresolved in this stack.  There appears
to be a bug in the second patch but it is resolved in a later patch.
Otherwise they look vile but ironlake specific.  Details below:

d927c07 drm/i915: Refactor save/restore code
  this is meant to be totally benign code refactoring, I see what appear
  to be two changes.  First it no longer saves IIR, though that appears to
  be safe as it was never restored in the old code.  Second it seems to
  no longer save CG_2D_DIS but still restores it, that sounds like a bug
  to me.

f5179c1 drm/i915: Ironlake suspend/resume support
  this seems to sneakily carry the fix below:

    -	dev_priv->saveBCLRPAT_A = I915_READ(BCLRPAT_A);
    +	dev_priv->saveBCLRPAT_B = I915_READ(BCLRPAT_B);

  Otherwise it seems to add pair save/restore changes, other than there
  appears be a bug in handling of DPLL_B_MD which we save only as below:

	if (IS_I965G(dev) && !IS_IGDNG(dev))
		dev_priv->saveDPLL_B_MD = I915_READ(DPLL_B_MD);

  but restore as below:

	if (IS_I965G(dev))
		I915_WRITE(DPLL_B_MD, dev_priv->saveDPLL_B_MD);

  note that pipe A _is_ modified in the expected manner.

05f5315 drm/i915: Fix and cleanup DPLL calculation for Ironlake
  seems to reorder the search for a clock, seems to be ironlake specific

d9fd5fe drm/i915: HDMI hardware workaround for Ironlake
  looks to only affect ironlake, banging a couple of registers harder

ca1ec5e drm/i915: Add more registers save/restore for Ironlake suspend
  seems to add correctly paired save/restore of a number additional
  registers.  It also carries the fix for the issue in the second patch:

	if (IS_I965G(dev) && !IS_IGDNG(dev))
		I915_WRITE(DPLL_B_MD, dev_priv->saveDPLL_B_MD);

7325017 drm/i915: Add ACPI OpRegion support for Ironlake
  seems ony to change behaviour for ironlake

85208bb drm/i915: Add display hotplug event on Ironlake
  seems ony to change behaviour for ironlake


More information about the kernel-team mailing list