drm/i915: Increase render/media power gating hysteresis for gen9+
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 22 Jan 2018 13:55:41 +0000 (13:55 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 22 Jan 2018 18:27:04 +0000 (18:27 +0000)
commitc1beabcf143c72ecdfe76bf50aa6e385a6192d08
tree3eed763f4d93143cee7314f218ade1dd0fbee7b5
parent10bde236eff901407bdbcad2e605edaf7ba23bdb
drm/i915: Increase render/media power gating hysteresis for gen9+

On gen9+, after an idle period the HW will disable the entire power well
to conserve power (by preventing current leakage). It takes around a 100
microseconds to bring the power well back online afterwards. With the
current hysteresis value of 25us (really 25 * 1280ns), we do not have
sufficient time to respond to an interrupt and schedule the next execution
before the HW powers itself down. (At present, we prevent this by
grabbing the forcewake for prolonged periods of time, but that overkill
fixed in the next patch.) The minimum we want to set the power gating
hysteresis to is the length of time it takes us to service the GPU, which
across a broad spectrum of machines is about 250us.

(Note this also brings guc latency into the same ballpark as execlists.)

v2: Include some notes on where I plucked the numbers from.

Testcase: igt/gem_exec_nop/sequential
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180122135541.32222-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_pm.c