]> 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)
commitf7527b2f7316822ece34574d886b2cfd80476225
treecff828ecf7c5931d97d3b5c0286a5270ef98b744
parentdf8d117a07a4a6a1024af4eef13bdbcd4b0465b1
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