1. 25 11月, 2017 1 次提交
    • C
      drm/i915: Use exponential backoff for wait_for() · a54b1873
      Chris Wilson 提交于
      Instead of sleeping for a fixed 1ms (roughly, depending on timer slack),
      start with a small sleep and exponentially increase the sleep on each
      cycle.
      
      A good example of a beneficiary is the guc mmio communication channel.
      Typically we expect (and so spin) for 10us for a quick response, but this
      doesn't cover everything and so sometimes we fallback to the millisecond+
      sleep. This incurs a significant delay in time-critical operations like
      preemption (igt/gem_exec_latency), which can be improved significantly by
      using a small sleep after the spin fails.
      
      We've made this suggestion many times, but had little experimental data
      to support adding the complexity.
      
      v2: Bump the minimum usleep to 10us on advice of
      Documentation/timers/timers-howto.txt (Tvrko)
      v3: Specify min, max range for usleep intervals -- some code may
      crucially depend upon and so want to specify the sleep pattern.
      
      References: 1758b90e ("drm/i915: Use a hybrid scheme for fast register waits")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: John Harrison <John.C.Harrison@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
      Reviewed-by: NMichał Winiarski <michal.winiarski@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171124130031.20761-2-chris@chris-wilson.co.uk
      a54b1873
  2. 23 11月, 2017 1 次提交
  3. 22 11月, 2017 3 次提交
  4. 21 11月, 2017 1 次提交
  5. 18 11月, 2017 1 次提交
  6. 17 11月, 2017 2 次提交
  7. 14 11月, 2017 1 次提交
  8. 12 11月, 2017 2 次提交
  9. 11 11月, 2017 1 次提交
  10. 09 11月, 2017 3 次提交
  11. 08 11月, 2017 1 次提交
  12. 27 10月, 2017 2 次提交
  13. 26 10月, 2017 1 次提交
  14. 25 10月, 2017 1 次提交
  15. 18 10月, 2017 2 次提交
  16. 17 10月, 2017 1 次提交
  17. 11 10月, 2017 12 次提交
  18. 10 10月, 2017 1 次提交
  19. 07 10月, 2017 1 次提交
  20. 04 10月, 2017 1 次提交
    • R
      drm/i915/skl: Fix has_ipc on skl and document WaDisableIPC. · 4d6ef0da
      Rodrigo Vivi 提交于
      According to Spec for SKL+: "Isochronous Priority Control.
      If enabled, Display sends demoted requests once the transition
      watermark is reached. If transition watermark is not enabled,
      Display sends demoted requests when the display buffer is full."
      
      The commit 'e57f1c02 ("drm/i915/gen9+: Add has_ipc flag in
      device info structure")' introduced that as gen9+ but missing many
      SKL Skus.
      
      I believe the reason for that is Spec also mentions workarounds for
      SKL-ALL: "IPC (Isoch Priority Control) may cause underflows
      WA: Do not enable IPC in register ARB_CTL2"
      
      It seems lame to add the feature and forever disable it,
      but it will avoid a mistake of enabling it when we are reorganizing
      the feature definitions on i915_pci.c later.
      
      It will also allow us to probably extend that workaround for
      other platforms.
      
      Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NMahesh Kumar <mahesh1.kumar@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171003063652.17248-1-rodrigo.vivi@intel.com
      4d6ef0da
  21. 22 9月, 2017 1 次提交