]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Prefer soft-rc6 over RPS DOWN_TIMEOUT
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 22 Apr 2020 00:17:01 +0000 (01:17 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 24 Apr 2020 16:20:58 +0000 (17:20 +0100)
commit790d8138b3ca57c182d1168e5d3b7ea8afd02884
treecff828ecf7c5931d97d3b5c0286a5270ef98b744
parentf557f8c238b95dca1246c67f0b363bfe6a6ec5c2
drm/i915/gt: Prefer soft-rc6 over RPS DOWN_TIMEOUT

The RPS DOWN_TIMEOUT interrupt is signaled after a period of rc6, and
upon receipt of that interrupt we reprogram the GPU clocks down to the
next idle notch [to help convserve power during rc6]. However, on
execlists, we benefit from soft-rc6 immediately parking the GPU and
setting idle frequencies upon idling [within a jiffie], and here the
interrupt prevents us from restarting from our last frequency.

In the process, we can simply opt for a static pm_events mask and rely
on the enable/disable interrupts to flush the worker on parking.

This will reduce the amount of oscillation observed during steady
workloads with microsleeps, as each time the rc6 timeout occurs we
immediately follow with a waitboost for a dropped frame.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200422001703.1697-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_rps.c