drm/i915: make runtime PM swizzling/ring_freq init platform independent
authorImre Deak <imre.deak@intel.com>
Mon, 14 Apr 2014 17:24:39 +0000 (20:24 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 5 May 2014 07:09:09 +0000 (09:09 +0200)
We need to re-init sizzling on all platforms so move it to the
platform independent runtime resume callback. The ring frequency reinit
is also needed everywhere except on VLV, but gen6_update_ring_freq()
will be a noop on VLV, so we can move this function too to platform
independent code.

Signed-off-by: Imre Deak <imre.deak@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
drivers/gpu/drm/i915/intel_display.c

index 8c26000..114598d 100644 (file)
@@ -926,8 +926,6 @@ static void snb_runtime_resume(struct drm_i915_private *dev_priv)
        struct drm_device *dev = dev_priv->dev;
 
        intel_init_pch_refclk(dev);
-       i915_gem_init_swizzling(dev);
-       gen6_update_ring_freq(dev);
 }
 
 static void hsw_runtime_resume(struct drm_i915_private *dev_priv)
@@ -996,6 +994,9 @@ static int intel_runtime_resume(struct device *device)
        else
                WARN_ON(1);
 
+       i915_gem_init_swizzling(dev);
+       gen6_update_ring_freq(dev);
+
        intel_runtime_pm_restore_interrupts(dev);
 
        DRM_DEBUG_KMS("Device resumed\n");
index 5ae1e00..4717ddb 100644 (file)
@@ -7056,8 +7056,6 @@ void hsw_disable_pc8(struct drm_i915_private *dev_priv)
        }
 
        intel_prepare_ddi(dev);
-       i915_gem_init_swizzling(dev);
-       gen6_update_ring_freq(dev);
 }
 
 static void snb_modeset_global_resources(struct drm_device *dev)