]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/psr: Chase psr.enabled only under the psr.lock
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 5 Apr 2018 11:49:15 +0000 (12:49 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 10 Apr 2018 10:38:42 +0000 (11:38 +0100)
commit9ac7ff8289b11c218cd9c4c28929fcd30ad762fa
tree50e2a2fbe5b61fe7dd7d96add9709e08985310b8
parentd17ee1bed08cb8f8c368a61b3ad1b88f9d773fa7
drm/i915/psr: Chase psr.enabled only under the psr.lock

Inside the psr work function, we want to wait for PSR to idle first and
wish to do so without blocking the normal modeset path, so we do so
without holding the PSR lock. However, we first have to find which pipe
PSR was enabled on, which requires chasing into the PSR struct and
requires locking to prevent intel_psr_disable() from concurrently
setting our pointer to NULL.

Fixes: cc0a8f505315 ("drm/i915: VLV/CHV PSR Software timer mode")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Durgadoss R <durgadoss.r@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <stable@vger.kernel.org> # v4.0+
Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180405114915.29609-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_psr.c