drm/i915/chv: Remove Wait for a previous gfx force-off
authorDeepak S <deepak.s@linux.intel.com>
Sat, 28 Mar 2015 09:53:34 +0000 (15:23 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 31 Mar 2015 13:32:23 +0000 (15:32 +0200)
On CHV, PUNIT team confirmed that 'VLV_GFX_CLK_STATUS_BIT' is not a
sticky bit and it will always be set. So ignore Check for previous
Gfx force off during suspend and allow the force clk as part 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>
drivers/gpu/drm/i915/i915_drv.c

index 82f8be4b6745969804163e6cab7cf63199b0c22b..182d6a742778347e97fab10a29a3ba16d5cf404f 100644 (file)
@@ -1194,11 +1194,13 @@ int vlv_force_gfx_clock(struct drm_i915_private *dev_priv, bool force_on)
        int err;
 
        val = I915_READ(VLV_GTLC_SURVIVABILITY_REG);
-       WARN_ON(!!(val & VLV_GFX_CLK_FORCE_ON_BIT) == force_on);
 
 #define COND (I915_READ(VLV_GTLC_SURVIVABILITY_REG) & VLV_GFX_CLK_STATUS_BIT)
        /* Wait for a previous force-off to settle */
-       if (force_on) {
+       if (force_on && !IS_CHERRYVIEW(dev_priv->dev)) {
+               /* WARN_ON only for the Valleyview */
+               WARN_ON(!!(val & VLV_GFX_CLK_FORCE_ON_BIT) == force_on);
+
                err = wait_for(!COND, 20);
                if (err) {
                        DRM_ERROR("timeout waiting for GFX clock force-off (%08x)\n",