1. 28 11月, 2013 4 次提交
  2. 19 11月, 2013 1 次提交
  3. 14 11月, 2013 1 次提交
  4. 13 11月, 2013 1 次提交
  5. 12 11月, 2013 1 次提交
    • M
      drm/i915: add i915_get_reset_stats_ioctl · b6359918
      Mika Kuoppala 提交于
      This ioctl returns reset stats for specified context.
      
      The struct returned contains context loss counters.
      
      reset_count:    all resets across all contexts
      batch_active:   active batches lost on resets
      batch_pending:  pending batches lost on resets
      
      v2: get rid of state tracking completely and deliver only counts. Idea
          from Chris Wilson.
      
      v3: fix commit message
      
      v4: default context handled inside i915_gem_context_get_hang_stats
      
      v5: reset_count only for priviledged process
      
      v6: ctx=0 needs CAP_SYS_ADMIN for batch_* counters (Chris Wilson)
      
      v7: context hang stats never returns NULL
      
      v8: rebased on top of reworked context hang stats
          DRM_RENDER_ALLOW for ioctl
      
      v9: use DEFAULT_CONTEXT_ID. Improve comments for ioctl struct members
      Signed-off-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Cc: Ian Romanick <idr@freedesktop.org>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: NIan Romanick <ian.d.romanick@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b6359918
  6. 09 11月, 2013 2 次提交
  7. 08 11月, 2013 1 次提交
    • B
      drm/i915/bdw: Handle forcewake for writes on gen8 · ab2aa47e
      Ben Widawsky 提交于
      GEN8 removes the GT FIFO which we've all come to know and love. Instead
      it offers a wider range of optimized registers which always keep a
      shadowed copy, and are fed to the GPU when it wakes.
      
      How this is implemented in hardware is still somewhat of a mystery. As
      far as I can tell, the basic design is as follows:
      
      If the register is not optimized, you must use the old forcewake
      mechanism to bring the GT out of sleep. [1]
      
      If register is in the optimized list the write will signal that the
      GT should begin to come out of whatever sleep state it is in.
      
      While the GT is coming out of sleep, the requested write will be stored
      in an intermediate shadow register.
      
      Do to the fact that the implementation details are not clear, I see
      several risks:
      1. Order is not preserved as it is with GT FIFO. If we issue multiple
      writes to optimized registers, where order matters, we may need to
      serialize it with forcewake.
      2. The optimized registers have only 1 shadowed slot, meaning if we
      issue multiple writes to the same register, and those values need to
      reach the GPU in order, forcewake will be required.
      
      [1] We could implement a SW queue the way the GT FIFO used to work if
      desired.
      
      NOTE: Compile tested only until we get real silicon.
      
      v2:
      - Use a default case to make future platforms also work.
      - Get rid of IS_BROADWELL since that's not yet defined, but we want to
        MMIO as soon as possible.
      
      v3: Apply suggestions from Mika's review:
      - s/optimized/shadowed/
      - invert the logic of the helper so that it does what it says (the
        code itself was correct, just confusing to read).
      
      v4:
      - Squash in lost break.
      
      Signed-off-by: Ben Widawsky <ben@bwidawsk.net> (v1)
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ab2aa47e
  8. 10 10月, 2013 7 次提交
  9. 04 10月, 2013 1 次提交
    • C
      drm/i915/vlv: Turn off power gate for BIOS-less system. · 02f4c9e0
      Chon Ming Lee 提交于
      During system boot up, by default, the power gate for render, media and
      display well still power gated.  Normally, BIOS will turn off the power
      gate.  In the BIOS-less system, the driver need to turn off the power
      gate very early during driver load.
      
      v2: Move this to intel_uncore_sanitize to allow it to get call during
      resume path. (Daniel)
      v3: Remove redundant write 0 to DPIO_CTL, and use DPIO_RESET instead of
      just 0x1 (Ville)
          Add turn of power gate for display 2d/render well/media well.
      v4: Remove toggle cmnreset in intel_uncore_sanitize.  Cmnreset should
      toggle after CRI clock source has been selected.  Jesse DPIO reset patch
      which toggle the cmnreset in intel_modeset_init_hw() should handle it.
      (Ville)
      Signed-off-by: NChon Ming Lee <chon.ming.lee@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      02f4c9e0
  10. 01 10月, 2013 1 次提交
    • C
      drm/i915: Delay the release of the forcewake by a jiffie · aec347ab
      Chris Wilson 提交于
      Obtaining the forcwake requires expensive and time consuming
      serialisation. And we often try to obtain the forcewake multiple times
      in very quick succession. We can reduce the overhead of these sequences
      by delaying the forcewake release, and so not hammer the hw quite so
      hard.
      
      I was hoping this would help with the spurious
      [drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.
      found on Haswell. Alas not.
      
      v2: Fix teardown ordering - unmap the regs after turning off forcewake,
      and make sure we do turn off forcewake - both found by Ville.
      
      v3: As we introduce intel_uncore_fini(), use it to make sure everything
      is disabled before we hand back to the BIOS.
      
      Note: I have no claims for improved performance, stablity or power
      comsumption for this patch. We should not be hitting the registers often
      enough for this to improve benchmarks, but given the nature of our hw it
      is likely to improve long term stability.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      aec347ab
  11. 03 9月, 2013 1 次提交
  12. 25 7月, 2013 5 次提交