1. 19 May, 2012 17 commits
  2. 10 May, 2012 3 commits
    • Chris Wilson's avatar
      drm/i915: Simplify interrupt processing for IvyBridge · 0e43406b
      Chris Wilson authored
      We can take advantage that the PCH_IIR is a subordinate register to
      reduce one of the required IIR reads, and that we only need to clear
      interrupts handled to reduce the writes. And by simply tidying the code
      we can reduce the line count and hopefully make it more readable.
      
      v2: Split out the bugfix from the refactoring.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      0e43406b
    • Chris Wilson's avatar
      drm/i915: Avoid a double-read of PCH_IIR during interrupt handling · 9adab8b5
      Chris Wilson authored
      Currently the code re-reads PCH_IIR during the hotplug interrupt
      processing. Not only is this a wasted read, but introduces a potential
      for handling a spurious interrupt as we then may not clear all the
      interrupts processed (since the re-read IIR may contains more interrupts
      asserted than we clear using the result of the original read).
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      9adab8b5
    • Daniel Vetter's avatar
      drm/i915: enable semaphores on gen6 if dmar is not active · 59de3295
      Daniel Vetter authored
      Inspired by the recent ppgtt regression report, where switching of
      dmar only for the gpu seems to fix things completely, I've looked
      again at the semaphores+vt-d situation.
      
      Contrary to my earlier testing a few months back my system is now
      stable with dmar disabled for the igd, and not only when disabling
      dmar completely.
      
      So I'm rather hopeful that all our recent fixes for snb have changed
      things for code and it's time to try enabling semaphores again. We've
      also had issues with enabling semaphores which are not vt-d related,
      but I guess these are all fixed by the autoreport-disabling and lazy
      request fix. And there's only one way to find out whether there are
      still other issues ...
      
      When I've tried to apply this patch I've noticed that semaphores on
      gen6 have already silently been enabled in
      
      commit 2911a35b
      Author: Ben Widawsky <ben@bwidawsk.net>
      Date:   Thu Apr 5 14:47:36 2012 -0700
      
          drm/i915: use semaphores for the display plane
      
      Fix this up by only checking whether dmar is enabled on the gfx (not
      on the entire system).
      Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      59de3295
  3. 09 May, 2012 1 commit
  4. 08 May, 2012 17 commits
  5. 07 May, 2012 2 commits
    • Dave Airlie's avatar
      Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next · 4f256e8a
      Dave Airlie authored
      Daniel prepared this branch with a back-merge as git was getting
      very confused about changes in intel_display.c
      4f256e8a
    • Daniel Vetter's avatar
      Merge tag 'v3.4-rc6' into drm-intel-next · dc257cf1
      Daniel Vetter authored
      Conflicts:
      	drivers/gpu/drm/i915/intel_display.c
      
      Ok, this is a fun story of git totally messing things up. There
      /shouldn't/ be any conflict in here, because the fixes in -rc6 do only
      touch functions that have not been changed in -next.
      
      The offending commits in drm-next are 14415745..1fa61106 which
      simply move a few functions from intel_display.c to intel_pm.c. The
      problem seems to be that git diff gets completely confused:
      
      $ git diff 14415745..1fa61106
      
      is a nice mess in intel_display.c, and the diff leaks into totally
      unrelated functions, whereas
      
      $git diff --minimal  14415745..1fa61106
      
      is exactly what we want.
      
      Unfortunately there seems to be no way to teach similar smarts to the
      merge diff and conflict generation code, because with the minimal diff
      there really shouldn't be any conflicts. For added hilarity, every
      time something in that area changes the + and - lines in the diff move
      around like crazy, again resulting in new conflicts. So I fear this
      mess will stay with us for a little longer (and might result in
      another backmerge down the road).
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      dc257cf1