drm/i915: Unbind objects in shrinker only if device is runtime active
authorPraveen Paneri <praveen.paneri@intel.com>
Mon, 2 May 2016 08:40:28 +0000 (14:10 +0530)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 2 May 2016 13:02:09 +0000 (14:02 +0100)
commit178a30c90ac74e661eb8c3703eff0daaa0aaf38f
treefc580309042c5fb74ddbf50b2262699da0359f93
parenta0cbe6a3f1c0e86342965430b4a775b5d35b416b
drm/i915: Unbind objects in shrinker only if device is runtime active

When the system is running low on memory, gem shrinker is invoked.
In this process objects will be unbounded from GTT and unbinding process
will require access to GTT(GTTADR) and also to fence register potentially.
That requires a resume of gfx device, if suspended, in the shrinker path.
Considering the power leakage due to intermediate resume, perform unbinding
operation only if device is already runtime active.

v2: Use newly implemented intel_runtime_pm_get_if_in_use (Chris)

Signed-off-by: Akash Goel <akash.goel@intel.com>
Signed-off-by: Praveen Paneri <praveen.paneri@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1462178429-13449-1-git-send-email-praveen.paneri@intel.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_gem_shrinker.c