1. 30 7月, 2019 1 次提交
  2. 04 7月, 2019 1 次提交
  3. 21 6月, 2019 2 次提交
  4. 15 6月, 2019 1 次提交
  5. 25 4月, 2019 1 次提交
  6. 14 3月, 2019 1 次提交
    • R
      drm/i915/gen11+: First assume next platforms will inherit stuff · 2dd24a9c
      Rodrigo Vivi 提交于
      This exactly same approach was already used from gen9
      to gen10 and from gen10 to gen11. Let's also use it
      for gen11+.
      
      Let's first assume that we inherit a similar platform
      and than we apply the differences on top.
      
      Different from the previous attempts this will be
      done this time with coccinelle. We obviously need to
      exclude some case that is really exclusive for gen11
      like  PCH, Firmware, and few others. Luckly this was
      easy to filter by selecting the files we are touching
      with coccinelle as exposed below:
      
      spatch -sp_file gen11\+.cocci --in-place i915_perf.c \
             intel_bios.c intel_cdclk.c intel_ddi.c \
             intel_device_info.c intel_display.c intel_dpll_mgr.c \
             intel_dsi_vbt.c intel_hdmi.c intel_mocs.c intel_color.c
      
      @noticelake@ expression e; @@
      -!IS_ICELAKE(e)
      +INTEL_GEN(e) < 11
      @notgen11@ expression e; @@
      -!IS_GEN(e, 11)
      +INTEL_GEN(e) < 11
      @icelake@ expression e; @@
      -IS_ICELAKE(e)
      +INTEL_GEN(e) >= 11
      @gen11@ expression e; @@
      -IS_GEN(e, 11)
      +INTEL_GEN(e) >= 11
      
      No functional change.
      
      v2: Remove intel_lrc.c per Tvrtko request since those were w/a
          for ICL hw issuea and media related configuration.
      
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190308214300.25057-1-rodrigo.vivi@intel.com
      2dd24a9c
  7. 06 3月, 2019 1 次提交
  8. 25 1月, 2019 7 次提交
  9. 13 12月, 2018 1 次提交
  10. 16 8月, 2018 1 次提交
  11. 04 5月, 2018 1 次提交
  12. 22 2月, 2018 1 次提交
  13. 10 2月, 2018 1 次提交
  14. 07 6月, 2017 1 次提交
  15. 14 2月, 2017 1 次提交
    • T
      drm/i915: Emit to ringbuffer directly · 73dec95e
      Tvrtko Ursulin 提交于
      This removes the usage of intel_ring_emit in favour of
      directly writing to the ring buffer.
      
      intel_ring_emit was preventing the compiler for optimising
      fetch and increment of the current ring buffer pointer and
      therefore generating very verbose code for every write.
      
      It had no useful purpose since all ringbuffer operations
      are started and ended with intel_ring_begin and
      intel_ring_advance respectively, with no bail out in the
      middle possible, so it is fine to increment the tail in
      intel_ring_begin and let the code manage the pointer
      itself.
      
      Useless instruction removal amounts to approximately
      two and half kilobytes of saved text on my build.
      
      Not sure if this has any measurable performance
      implications but executing a ton of useless instructions
      on fast paths cannot be good.
      
      v2:
       * Change return from intel_ring_begin to error pointer by
         popular demand.
       * Move tail increment to intel_ring_advance to enable some
         error checking.
      
      v3:
       * Move tail advance back into intel_ring_begin.
       * Rebase and tidy.
      
      v4:
       * Complete rebase after a few months since v3.
      
      v5:
       * Remove unecessary cast and fix !debug compile. (Chris Wilson)
      
      v6:
       * Make intel_ring_offset take request as well.
       * Fix recording of request postfix plus a sprinkle of asserts.
         (Chris Wilson)
      
      v7:
       * Use intel_ring_offset to get the postfix. (Chris Wilson)
       * Convert GVT code as well.
      
      v8:
       * Rename *out++ to *cs++.
      
      v9:
       * Fix GVT out to cs conversion in GVT.
      
      v10:
       * Rebase for new intel_ring_begin in selftests.
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Zhi Wang <zhi.a.wang@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170214113242.29241-1-tvrtko.ursulin@linux.intel.com
      73dec95e
  16. 30 1月, 2017 1 次提交
  17. 25 1月, 2017 1 次提交
  18. 02 12月, 2016 2 次提交
  19. 03 8月, 2016 3 次提交
  20. 25 7月, 2016 2 次提交
    • I
      drm/i915/bxt: Fix inadvertent CPU snooping due to incorrect MOCS config · 1542f5d9
      Imre Deak 提交于
      Setting a write-back cache policy in the MOCS entry definition also
      implies snooping, which has a considerable overhead. This is
      unexpected for a few reasons:
      - From user-space's point of view since it didn't want a coherent
        surface (it didn't set the buffer as such via the set caching IOCTL).
      - There is a separate MOCS entry field for snooping (which we never
        set).
      - This MOCS table is about caching in (e)LLC and there is no (e)LLC on
        BXT. There is a separate table for L3 cache control.
      
      Considering the above the current behavior of snooping looks like an
      unintentional side-effect of the WB setting. Changing it to be LLC-UC
      gets rid of the snooping without any ill-effects. For a coherent
      surface the application would use a separate MOCS entry at index 1 and
      call the set caching IOCTL to setup the PTE entries for the
      corresponding buffer to be snooped. In the future we could also add a
      new MOCS entry for coherent surfaces.
      
      This resulted in 70% improvement in synthetic texturing benchmarks.
      
      Kudos to Valtteri Rantala, Eero Tamminen and Michael T Frederick and
      Ville who helped to narrow the source of problem to the kernel and to
      the snooping behaviour in particular.
      
      With a follow-up change to adjust the 3rd entry value
      igt/gem_mocs_settings is passing after this change.
      
      v2:
      - Rebase on v2 of patch 1/2.
      v3:
      - Set the entry as LLC uncached instead of PTE-passthrough. This way
        we also keep snooping disabled, but we also make the cacheability/
        coherency setting indepent of the PTE which is managed by the
        kernel. (Chris)
      
      CC: Rong R Yang <rong.r.yang@intel.com>
      CC: Yakui Zhao <yakui.zhao@intel.com>
      CC: Valtteri Rantala <valtteri.rantala@intel.com>
      CC: Eero Tamminen <eero.t.tamminen@intel.com>
      CC: Michael T Frederick <michael.t.frederick@intel.com>
      CC: Ville Syrjälä <ville.syrjala@linux.intel.com>
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Acked-by: NZhao Yakui <yakui.zhao@intel.com>
      Tested-by: NRong R Yang <rong.r.yang@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1467380406-11954-3-git-send-email-imre.deak@intel.com
      (cherry picked from commit 6bee14ed)
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1542f5d9
    • I
      drm/i915/gen9: Clean up MOCS table definitions · 60050855
      Imre Deak 提交于
      Use named struct initializers for clarity. Also fix the target cache
      definition to reflect its role in GEN9 onwards. On GEN8 a TC value of 0
      meant ELLC but on GEN9+ it means the TC and LRU controls are taken from
      the PTE.
      
      No functional change, igt/gem_mocs_settings still passing after this
      change.
      
      v2: (Chris)
      - Add back the hexa literals for the entries.
        Add note that igt/gem_mocs_settings still passes.
      
      CC: Rong R Yang <rong.r.yang@intel.com>
      CC: Yakui Zhao <yakui.zhao@intel.com>
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Acked-by: NZhao Yakui <yakui.zhao@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1467380406-11954-2-git-send-email-imre.deak@intel.com
      (cherry picked from commit e419899b)
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      60050855
  21. 21 7月, 2016 1 次提交
  22. 20 7月, 2016 3 次提交
  23. 13 6月, 2016 1 次提交
  24. 08 6月, 2016 1 次提交
  25. 23 5月, 2016 1 次提交
  26. 09 5月, 2016 1 次提交
  27. 28 4月, 2016 1 次提交