diff options
author | Imre Deak <imre.deak@intel.com> | 2014-04-18 09:16:23 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-05-05 03:09:08 -0400 |
commit | c2bc2fc541b60f3afc263685af0e358b6bcac5a0 (patch) | |
tree | ee3d2658d4f5032ee93dad0c89a60c456c3ebb65 | |
parent | b5478bcd5f04c3eef934f506a98c8849bb410cd9 (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.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 18 |
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 | ||
935 | static void hsw_runtime_resume(struct drm_i915_private *dev_priv) | 933 | static 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 | ||
7065 | static void snb_modeset_global_resources(struct drm_device *dev) | 7063 | static 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 | ||
3528 | void gen6_update_ring_freq(struct drm_device *dev) | 3528 | static 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 | ||
3598 | void 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 | |||
3598 | int valleyview_rps_max_freq(struct drm_i915_private *dev_priv) | 3610 | int 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); |