1. 20 May, 2012 1 commit
    • Daniel Vetter's avatar
      drm/i915: fixup infoframe support for sdvo · 81014b9d
      Daniel Vetter authored
      At least the worst offenders:
      - SDVO specifies that the encoder should compute the ecc. Testing also
        shows that we must not send the ecc field, so copy the dip_infoframe
        struct to a temporay place and avoid the ecc field. This way the avi
        infoframe is exactly 17 bytes long, which agrees with what the spec
        mandates as a minimal storage capacity (with the ecc field it would
        be 18 bytes).
      - Only 17 when sending the avi infoframe. The SDVO spec explicitly
        says that sending more data than what the device announces results
        in undefined behaviour.
      - Add __attribute__((packed)) to the avi and spd infoframes, for
        otherwise they're wrongly aligned. Noticed because the avi infoframe
        ended up being 18 bytes large instead of 17. We haven't noticed this
        yet because we don't use the uint16_t fields yet (which are the only
        ones that would be wrongly aligned).
      
      This regression has been introduce by
      
      3c17fe4b is the first bad commit
      commit 3c17fe4b
      Author: David Härdeman <david@hardeman.nu>
      Date:   Fri Sep 24 21:44:32 2010 +0200
      
          i915: enable AVI infoframe for intel_hdmi.c [v4]
      
      Patch tested on my g33 with a sdvo hdmi adaptor.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=25732
      Tested-by: Peter Ross <pross@xvid.org> (G35 SDVO-HDMI)
      Reviewed-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      81014b9d
  2. 19 May, 2012 33 commits
  3. 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
  4. 09 May, 2012 1 commit
  5. 08 May, 2012 2 commits