aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2014-04-18 09:16:23 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-05-05 03:09:08 -0400
commitc2bc2fc541b60f3afc263685af0e358b6bcac5a0 (patch)
treeee3d2658d4f5032ee93dad0c89a60c456c3ebb65
parentb5478bcd5f04c3eef934f506a98c8849bb410cd9 (diff)
drm/i915: factor out gen6_update_ring_freq
This is needed by the next patch moving the call out from platform specific RPM callbacks to platform independent code. No functional change. v2: - patch introduce in v2 of the patchset v3: - simplify platform check condition (Ville) 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>
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c2
-rw-r--r--drivers/gpu/drm/i915/intel_display.c2
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c18
3 files changed, 15 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index ff02b0cf38ce..8c26000d9bb8 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -927,9 +927,7 @@ static void snb_runtime_resume(struct drm_i915_private *dev_priv)
927 927
928 intel_init_pch_refclk(dev); 928 intel_init_pch_refclk(dev);
929 i915_gem_init_swizzling(dev); 929 i915_gem_init_swizzling(dev);
930 mutex_lock(&dev_priv->rps.hw_lock);
931 gen6_update_ring_freq(dev); 930 gen6_update_ring_freq(dev);
932 mutex_unlock(&dev_priv->rps.hw_lock);
933} 931}
934 932
935static void hsw_runtime_resume(struct drm_i915_private *dev_priv) 933static void hsw_runtime_resume(struct drm_i915_private *dev_priv)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a3a3a7eef81f..5ae1e008ab7e 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7057,9 +7057,7 @@ void hsw_disable_pc8(struct drm_i915_private *dev_priv)
7057 7057
7058 intel_prepare_ddi(dev); 7058 intel_prepare_ddi(dev);
7059 i915_gem_init_swizzling(dev); 7059 i915_gem_init_swizzling(dev);
7060 mutex_lock(&dev_priv->rps.hw_lock);
7061 gen6_update_ring_freq(dev); 7060 gen6_update_ring_freq(dev);
7062 mutex_unlock(&dev_priv->rps.hw_lock);
7063} 7061}
7064 7062
7065static void snb_modeset_global_resources(struct drm_device *dev) 7063static void snb_modeset_global_resources(struct drm_device *dev)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 69f98a238d60..ee6c568bcd14 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3525,7 +3525,7 @@ static void gen6_enable_rps(struct drm_device *dev)
3525 gen6_gt_force_wake_put(dev_priv, FORCEWAKE_ALL); 3525 gen6_gt_force_wake_put(dev_priv, FORCEWAKE_ALL);
3526} 3526}
3527 3527
3528void gen6_update_ring_freq(struct drm_device *dev) 3528static void __gen6_update_ring_freq(struct drm_device *dev)
3529{ 3529{
3530 struct drm_i915_private *dev_priv = dev->dev_private; 3530 struct drm_i915_private *dev_priv = dev->dev_private;
3531 int min_freq = 15; 3531 int min_freq = 15;
@@ -3595,6 +3595,18 @@ void gen6_update_ring_freq(struct drm_device *dev)
3595 } 3595 }
3596} 3596}
3597 3597
3598void gen6_update_ring_freq(struct drm_device *dev)
3599{
3600 struct drm_i915_private *dev_priv = dev->dev_private;
3601
3602 if (INTEL_INFO(dev)->gen < 6 || IS_VALLEYVIEW(dev))
3603 return;
3604
3605 mutex_lock(&dev_priv->rps.hw_lock);
3606 __gen6_update_ring_freq(dev);
3607 mutex_unlock(&dev_priv->rps.hw_lock);
3608}
3609
3598int valleyview_rps_max_freq(struct drm_i915_private *dev_priv) 3610int valleyview_rps_max_freq(struct drm_i915_private *dev_priv)
3599{ 3611{
3600 u32 val, rp0; 3612 u32 val, rp0;
@@ -4566,10 +4578,10 @@ static void intel_gen6_powersave_work(struct work_struct *work)
4566 valleyview_enable_rps(dev); 4578 valleyview_enable_rps(dev);
4567 } else if (IS_BROADWELL(dev)) { 4579 } else if (IS_BROADWELL(dev)) {
4568 gen8_enable_rps(dev); 4580 gen8_enable_rps(dev);
4569 gen6_update_ring_freq(dev); 4581 __gen6_update_ring_freq(dev);
4570 } else { 4582 } else {
4571 gen6_enable_rps(dev); 4583 gen6_enable_rps(dev);
4572 gen6_update_ring_freq(dev); 4584 __gen6_update_ring_freq(dev);
4573 } 4585 }
4574 dev_priv->rps.enabled = true; 4586 dev_priv->rps.enabled = true;
4575 mutex_unlock(&dev_priv->rps.hw_lock); 4587 mutex_unlock(&dev_priv->rps.hw_lock);