Skip to content
  1. Dec 17, 2012
  2. Dec 14, 2012
  3. Dec 11, 2012
    • Takashi Iwai's avatar
      drm/i915: Fix shifted screen on top of LVDS on IVY laptop · 335c07b7
      Takashi Iwai authored
      The commit [23670b32
      
      : drm/i915: CPT+ pch transcoder workaround]
      caused a regression on some HP laptops with IvyBridge.  The whole
      laptop screen is shifted downward for a few pixels constantly.
      The problem appears only on LVDS while DP and VGA seem unaffected.
      Also, the problem disappears once when go and back from S3.
      (S4 resume still shows the same problem.)
      
      This patch revives the minimum part the commit above dropped.
      For fixing this regression, only the setup of CHICKEN2 bit in
      cpt_init_clock_gating() is needed.
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      335c07b7
    • Daniel Vetter's avatar
      drm/i915: disable cpt phase pointer fdi rx workaround · 539526b4
      Daniel Vetter authored
      We've originally added this in
      
      commit 291427f5
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Fri Jul 29 12:42:37 2011 -0700
      
          drm/i915: apply phase pointer override on SNB+ too
      
      and then copy-pasted it over to ivb/ppt. The w/a was originally added
      for ilk/ibx in
      
      commit 5b2adf89
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Thu Oct 7 16:01:15 2010 -0700
      
          drm/i915: add Ironlake clock gating workaround for FDI link training
      
      and fixed up a bit in
      
      commit 6f06ce18
      
      
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Tue Jan 4 15:09:38 2011 -0800
      
          drm/i915: set phase sync pointer override enable before setting phase sync pointer
      
      It turns out that this w/a isn't actually required on cpt/ppt and
      positively harmful on ivb/ppt when using fdi B/C links - it results in
      a black screen occasionally, with seemingfully everything working as
      it should. The only failure indication I've found in the hw is that
      eventually (but not right after the modeset completes) a pipe underrun
      is signalled.
      
      Big thanks to Arthur Runyan for all the ideas for registers to check
      and changes to test, otherwise I couldn't ever have tracked this down!
      
      Cc: "Runyan, Arthur J" <arthur.j.runyan@intel.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      539526b4
  4. Dec 10, 2012
  5. Dec 08, 2012
  6. Dec 06, 2012
    • Chris Wilson's avatar
      drm/i915: Close race between processing unpin task and queueing the flip · e7d841ca
      Chris Wilson authored
      
      
      Before queuing the flip but crucially after attaching the unpin-work to
      the crtc, we continue to setup the unpin-work. However, should the
      hardware fire early, we see the connected unpin-work and queue the task.
      The task then promptly runs and unpins the fb before we finish taking
      the required references or even pinning it... Havoc.
      
      To close the race, we use the flip-pending atomic to indicate when the
      flip is finally setup and enqueued. So during the flip-done processing,
      we can check more accurately whether the flip was expected.
      
      v2: Add the appropriate mb() to ensure that the writes to the page-flip
      worker are complete prior to marking it active and emitting the MI_FLIP.
      On the read side, the mb should be enforced by the spinlocks.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@vger.kernel.org
      [danvet: Review the barriers a bit, we need a write barrier both
      before and after updating ->pending. Similarly we need a read barrier
      in the interrupt handler both before and after reading ->pending. With
      well-ordered irqs only one barrier in each place should be required,
      but since this patch explicitly sets out to combat spurious interrupts
      with is staged activation of the unpin work we need to go full-bore on
      the barriers, too. Discussed with Chris Wilson on irc and changes
      acked by him.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      e7d841ca
    • Daniel Vetter's avatar
      drm/i915: fixup l3 parity sysfs access check · ebf69cb8
      Daniel Vetter authored
      When l3 parity support for Haswell was enabled in
      
      commit f27b9265
      Author: Ben Widawsky <benjamin.widawsky@intel.com>
      Date:   Tue Jul 24 20:47:32 2012 -0700
      
          drm/i915: Expand DPF support to Haswell
      
      no one noticed that the patch which introduced this macro
      
      commit e1ef7cc2
      
      
      Author: Ben Widawsky <benjamin.widawsky@intel.com>
      Date:   Tue Jul 24 20:47:31 2012 -0700
      
          drm/i915: Macro to determine DPF support
      
      missed one spot. Fix this.
      
      Cc: Ben Widawsky <benjamin.widawsky@intel.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57441
      Reviewed-by: default avatarBen Widawsky <benjamin.widawsky@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ebf69cb8
  7. Dec 05, 2012
  8. Dec 04, 2012
  9. Nov 29, 2012
  10. Nov 24, 2012
  11. Nov 23, 2012
  12. Nov 22, 2012