drm/i915: Track the rpm wakerefs for error handling
Keep hold of the local wakeref used in error handling, to cancel the tracking upon release so that leaks can be identified. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190114142129.24398-4-chris@chris-wilson.co.uk
This commit is contained in:
parent
506d1f6245
commit
183e260ba2
|
@ -3291,6 +3291,7 @@ void i915_handle_error(struct drm_i915_private *dev_priv,
|
|||
const char *fmt, ...)
|
||||
{
|
||||
struct intel_engine_cs *engine;
|
||||
intel_wakeref_t wakeref;
|
||||
unsigned int tmp;
|
||||
char error_msg[80];
|
||||
char *msg = NULL;
|
||||
|
@ -3312,7 +3313,7 @@ void i915_handle_error(struct drm_i915_private *dev_priv,
|
|||
* isn't the case at least when we get here by doing a
|
||||
* simulated reset via debugfs, so get an RPM reference.
|
||||
*/
|
||||
intel_runtime_pm_get(dev_priv);
|
||||
wakeref = intel_runtime_pm_get(dev_priv);
|
||||
|
||||
engine_mask &= INTEL_INFO(dev_priv)->ring_mask;
|
||||
|
||||
|
@ -3374,7 +3375,7 @@ void i915_handle_error(struct drm_i915_private *dev_priv,
|
|||
wake_up_all(&dev_priv->gpu_error.reset_queue);
|
||||
|
||||
out:
|
||||
intel_runtime_pm_put_unchecked(dev_priv);
|
||||
intel_runtime_pm_put(dev_priv, wakeref);
|
||||
}
|
||||
|
||||
/* Called from drm generic code, passed 'crtc' which
|
||||
|
|
Loading…
Reference in New Issue