mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 15:47:05 +07:00
drm/i915: Resume GuC before using GEM
Resuming GEM presumes it can talk to hw, in particular to ensure the kernel context is loaded upon resume for powersaving. If the GuC is still asleep at this point, we upset the HW. Rearrange the resume such that we restore the original order of init-hw, resume-guc, use-gem. Fixes:37cd33006d
("drm/i915: Remove redundant intel_autoenable_gt_powersave()") References:a1c4199414
("drm/i915/guc: Add host2guc notification for suspend and resume") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Alex Dai <yu.dai@intel.com> Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171114130300.25677-2-chris@chris-wilson.co.uk Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
This commit is contained in:
parent
df49ec8223
commit
7469c62cb6
drivers/gpu/drm/i915
@ -1708,8 +1708,6 @@ static int i915_drm_resume(struct drm_device *dev)
|
||||
|
||||
i915_gem_resume(dev_priv);
|
||||
|
||||
intel_guc_resume(dev_priv);
|
||||
|
||||
intel_modeset_init_hw(dev);
|
||||
|
||||
spin_lock_irq(&dev_priv->irq_lock);
|
||||
|
@ -4852,6 +4852,8 @@ void i915_gem_resume(struct drm_i915_private *i915)
|
||||
if (i915_gem_init_hw(i915))
|
||||
goto err_wedged;
|
||||
|
||||
intel_guc_resume(i915);
|
||||
|
||||
/* Always reload a context for powersaving. */
|
||||
if (i915_gem_switch_to_kernel_context(i915))
|
||||
goto err_wedged;
|
||||
|
Loading…
Reference in New Issue
Block a user