1. 05 Aug, 2013 5 commits
  2. 04 Aug, 2013 17 commits
  3. 26 Jul, 2013 4 commits
  4. 25 Jul, 2013 8 commits
  5. 24 Jul, 2013 6 commits
    • Daniel Vetter's avatar
      drm/i915: fix reference counting in i915_gem_create · d861e338
      Daniel Vetter authored
      This function is called without the dev->struct_mutex held, hence we
      need to use the _unlocked unreference variants.
      
      As soon as the object is registered userspace can sneak in here with a
      gem_close ioctl call, so the object can (and with my new evil tests
      actually does) get the final unreference in this place. The lack of
      locking then results in hilarity and some good leakage.
      
      To fix this we simply need to revert
      
      Chris Wilson <chris@chris-wilson.co.uk>
      
      v2: We need to make the trace call _before_ we drop our ref - the
      object might very well be gone by then already.
      
      v3: Just revert the original patch as suggested by Chris Wilson.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      [danvet: Remove the added white line again to tighten the return
      block, requested by Chris.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      d861e338
    • Chris Wilson's avatar
      drm/i915: Use Graphics Base of Stolen Memory on all gen3+ · 17fec8a0
      Chris Wilson authored
      So I made the mistake of missing that the desktop and mobile chipsets
      have different layouts in their PCI configurations, and we were
      incorrectly setting the wrong physical address for stolen memory on
      mobile chipsets.
      
      Since all gen3+ are actually consistent in the location of the GBSM
      register in the PCI configuration space on device 2 (the GPU), use it.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      [danvet: Drop cc: stable and fudge conflicts.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      17fec8a0
    • Daniel Vetter's avatar
      drm/i915: disable stolen mem for OVERLAY_NEEDS_PHYSICAL · f63a484c
      Daniel Vetter authored
      Our phys_object code can't deal with stolen memory and so blows up.
      Fixing this is quite a bit of work and not worth it much for a single
      page object, so just opt-out.
      
      This is necessary prep work to enable stolen on gen2/3 platforms where
      the overlay register file isn't stored in the gtt.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      f63a484c
    • Paulo Zanoni's avatar
      drm/i915: add functions to disable and restore LCPLL · be256dc7
      Paulo Zanoni authored
      For now there are no callers, but these functions are going to be
      needed for the code that allows Package C8+. Other future features may
      also require this code.
      
      Also merge the commit which introduced assert_can_disable_lcpll and
      had the following commit message:
      
      Most of the hardware needs to be disabled before LCPLL is disabled, so
      let's add a function to assert some of items listed in the "Display
      Sequences for LCPLL disabling" documentation.
      
      The idea is that hsw_disable_lcpll should not disable the hardware,
      the callers need to take care of calling hsw_disable_lcpll only once
      everything is already disabled.
      
      v2: - Rebase.
          - Fix D_COMP wait timeout.
      v3: - Use wait_for_atomic_use (Ben)
          - Remove/add a useless/needed POSTING_READ (Ben)
          - Early return in case LCPLL is already restored (Ben)
          - Add ndelay(100) (Ben)
      v4: - Merge the commit that added assert_can_disable_lcpll (Ben)
          - Add interrupt assertions (Ben)
      Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      [danvet: Fix compile fail since there's no HAS_LP_PCH yet.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      be256dc7
    • Paulo Zanoni's avatar
      drm/i915: disable CLKOUT_DP when it's not needed · 47701c3b
      Paulo Zanoni authored
      We currently don't support HDMI clock bending nor use SSC for DP or
      HDMI on Haswell, so the only case where we need CLKOUT_DP is for VGA.
      
      v2: - Replace the IS_ULT check for LPT-LP
          - Simplify GEN0/DBUFF0 check due to change on the previous patch
          - Also check for SBI_SSCCTL_DISABLE (Ben).
      Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      47701c3b
    • Paulo Zanoni's avatar
      drm/i915: extend lpt_enable_clkout_dp · 2fa86a1f
      Paulo Zanoni authored
      Now it implements 3 different sequences from BSpec and also has
      support for ULT.
      
      v2: - Change IS_ULT checks for LPT-LP checks
          - Add check for LPT-LP + with_fdi (Ben)
          - Merge DBUFF0/GEN0 bit definitions since they're the same
            register (Ben)
          - DBUFF0 (1<<0) is Disable, not Enable
      Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      2fa86a1f