1. 12 May, 2014 4 commits
    • Daniel Vetter's avatar
      drm/i915: Drop unecessary casts in i915_irq.c · 45a83f84
      Daniel Vetter authored
      Inspired by a review bikeshed from Jani.
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      45a83f84
    • Ville Syrjälä's avatar
      drm/i915/chv: Preliminary interrupt support for Cherryview · 43f328d7
      Ville Syrjälä authored
      CHV has the Gen8 master interrupt register, as well as Gen8
      GT/PCU interrupt registers.
      
      The display block is based on VLV, with the main difference
      of adding pipe C.
      
      v2: Rewrite the order of operations to make more sense
          Don't bail out if MASTER_CTL register doesn't show an interrupt,
          as display interrupts aren't reported there.
      
      v3: Rebase on top of Egbert Eich's hpd irq handling rework by using
      the relevant port hotplug logic like for vlv.
      
      v4: Rebase on top of Ben's gt irq #define refactoring.
      
      v5: Squash in gen8_gt_irq_handler refactoring from Zhao Yakui
      <yakui.zhao@intel.com>
      
      v6: Adapt to upstream changes, dev_priv->irq_received is gone.
      
      v7: Enable 3 the commented-out 3 pipe support.
      
      v8: Rebase on top of Paulo's irq setup rework, use the renamed macros from
      upstream.
      
      v9: Grab irq_lock around i915_enable_pipestat()
      
      FIXME: There's probably some potential for more shared code between bdw and chv.
      
      Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v2)
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      [danvet: Drop the unnecessary cast Jani spotted.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      43f328d7
    • Brad Volkin's avatar
      drm/i915: Use hash tables for the command parser · 44e895a8
      Brad Volkin authored
      For clients that submit large batch buffers the command parser has
      a substantial impact on performance. On my HSW ULT system performance
      drops as much as ~20% on some tests. Most of the time is spent in the
      command lookup code. Converting that from the current naive search to
      a hash table lookup reduces the performance drop to ~10%.
      
      The choice of value for I915_CMD_HASH_ORDER allows all commands
      currently used in the parser tables to hash to their own bucket (except
      for one collision on the render ring). The tradeoff is that it wastes
      memory. Because the opcodes for the commands in the tables are not
      particularly well distributed, reducing the order still leaves many
      buckets empty. The increased collisions don't seem to have a huge
      impact on the performance gain, but for now anyhow, the parser trades
      memory for performance.
      
      NB: Ville noticed that the error paths through the ring init code
      will leak memory. I've not addressed that here. We can do a follow
      up pass to handle all of the leaks.
      
      v2: improved comment describing selection of hash key mask (Damien)
      replace a BUG_ON() with an error return (Tvrtko, Ville)
      commit message improvements
      Signed-off-by: default avatarBrad Volkin <bradley.d.volkin@intel.com>
      Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      44e895a8
    • Ville Syrjälä's avatar
      drm/i915: Convert gmch platforms over to ilk_crtc_{enable, disable}_planes() · d3eedb1a
      Ville Syrjälä authored
      Use the same code for enabling/disabling planes on all platforms. Rename
      the functions to reflect that they're no longer specific to any
      platform.
      
      For now we leave the plane enable/disable to ccur at the same old
      position in the modeset sequence.
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      [danvet: Frob drm_vblank_on conflict.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      d3eedb1a
  2. 07 May, 2014 8 commits
  3. 06 May, 2014 13 commits
  4. 05 May, 2014 15 commits