drm/i915/guc: Fix runtime suspend
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 2 May 2019 20:30:09 +0000 (21:30 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 May 2019 07:38:37 +0000 (08:38 +0100)
commit818f5cb3e8fb386609f7d3c751f195dd3050d22d
tree3158db6fc299b813fb67e221c80afe1f22750774
parent3ce2ea6574be67b6efd6fb1a7f6e2c7aa27b82f1
drm/i915/guc: Fix runtime suspend

We are not allowed to rpm_get() inside the runtime-suspend callback, so
split the intel_uc_suspend() into the core that assumes the caller holds
the wakeref (intel_uc_runtime_suspend), and one that acquires the wakeref
as necessary (intel_uc_suspend).

Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Fixes: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190502203009.15727-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/intel_uc.c
drivers/gpu/drm/i915/intel_uc.h