]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/i915/i915_drv.c
Merge remote-tracking branch 'drm/drm-next'
[karo-tx-linux.git] / drivers / gpu / drm / i915 / i915_drv.c
index b31485a8bd39354fd303ee0662f9b0712fb59f08..760e0ce4aa26941c1ebd8d96706ccdbe3b7d7154 100644 (file)
@@ -638,6 +638,8 @@ static int i915_drm_suspend(struct drm_device *dev)
                return error;
        }
 
+       intel_guc_suspend(dev);
+
        intel_suspend_gt_powersave(dev);
 
        /*
@@ -767,6 +769,8 @@ static int i915_drm_resume(struct drm_device *dev)
        }
        mutex_unlock(&dev->struct_mutex);
 
+       intel_guc_resume(dev);
+
        intel_modeset_init_hw(dev);
 
        spin_lock_irq(&dev_priv->irq_lock);
@@ -1051,12 +1055,6 @@ static int skl_suspend_complete(struct drm_i915_private *dev_priv)
 {
        /* Enabling DC6 is not a hard requirement to enter runtime D3 */
 
-       /*
-        * This is to ensure that CSR isn't identified as loaded before
-        * CSR-loading program is called during runtime-resume.
-        */
-       intel_csr_load_status_set(dev_priv, FW_UNINITIALIZED);
-
        skl_uninit_cdclk(dev_priv);
 
        return 0;
@@ -1506,6 +1504,8 @@ static int intel_runtime_suspend(struct device *device)
        i915_gem_release_all_mmaps(dev_priv);
        mutex_unlock(&dev->struct_mutex);
 
+       intel_guc_suspend(dev);
+
        intel_suspend_gt_powersave(dev);
        intel_runtime_pm_disable_interrupts(dev_priv);
 
@@ -1565,6 +1565,8 @@ static int intel_runtime_resume(struct device *device)
        intel_opregion_notify_adapter(dev, PCI_D0);
        dev_priv->pm.suspended = false;
 
+       intel_guc_resume(dev);
+
        if (IS_GEN6(dev_priv))
                intel_init_pch_refclk(dev);