Browse Source

drm/i915: Skip gunit save/restore for cherryview

With cherryview onwards, Gunit hardware itself save and restore all the
Gunit registers. Skipping the "vlv_save_gunit_s0ix_state" &
"vlv_restore_gunit_s0ix_state" for cherryview in S3/S0ix sequence.

Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Deepak S 10 years ago
parent
commit
98711167ce
1 changed files with 5 additions and 2 deletions
  1. 5 2
      drivers/gpu/drm/i915/i915_drv.c

+ 5 - 2
drivers/gpu/drm/i915/i915_drv.c

@@ -1298,7 +1298,9 @@ static int vlv_suspend_complete(struct drm_i915_private *dev_priv)
 	err = vlv_allow_gt_wake(dev_priv, false);
 	err = vlv_allow_gt_wake(dev_priv, false);
 	if (err)
 	if (err)
 		goto err2;
 		goto err2;
-	vlv_save_gunit_s0ix_state(dev_priv);
+
+	if (!IS_CHERRYVIEW(dev_priv->dev))
+		vlv_save_gunit_s0ix_state(dev_priv);
 
 
 	err = vlv_force_gfx_clock(dev_priv, false);
 	err = vlv_force_gfx_clock(dev_priv, false);
 	if (err)
 	if (err)
@@ -1329,7 +1331,8 @@ static int vlv_resume_prepare(struct drm_i915_private *dev_priv,
 	 */
 	 */
 	ret = vlv_force_gfx_clock(dev_priv, true);
 	ret = vlv_force_gfx_clock(dev_priv, true);
 
 
-	vlv_restore_gunit_s0ix_state(dev_priv);
+	if (!IS_CHERRYVIEW(dev_priv->dev))
+		vlv_restore_gunit_s0ix_state(dev_priv);
 
 
 	err = vlv_allow_gt_wake(dev_priv, true);
 	err = vlv_allow_gt_wake(dev_priv, true);
 	if (!ret)
 	if (!ret)