[Intel-gfx] [PATCH 17/23] drm/i915: don't get/put PC8 when getting/putting power wells
Jesse Barnes
jbarnes at virtuousgeek.org
Fri Feb 28 18:13:45 CET 2014
On Thu, 27 Feb 2014 19:26:44 -0300
Paulo Zanoni <przanoni at gmail.com> wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
>
> Because we already get/put runtime PM every time we get/put any power
> domain, and now PC8 and runtime PM are the same thing.
>
> With this, we can also now kill the hsw_{en,dis}able_package_c8
> functions.
>
> v2: - Rebase.
> v3: - Rebase.
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 20 --------------------
> drivers/gpu/drm/i915/intel_drv.h | 2 --
> drivers/gpu/drm/i915/intel_pm.c | 12 ++----------
> 3 files changed, 2 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index ef0bcf8..d9ea9b89 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6700,26 +6700,6 @@ void __hsw_do_disable_pc8(struct drm_i915_private *dev_priv)
> dev_priv->pc8.enabled = false;
> }
>
> -void hsw_enable_package_c8(struct drm_i915_private *dev_priv)
> -{
> - if (!HAS_PC8(dev_priv->dev))
> - return;
> -
> - mutex_lock(&dev_priv->pc8.lock);
> - intel_runtime_pm_put(dev_priv);
> - mutex_unlock(&dev_priv->pc8.lock);
> -}
> -
> -void hsw_disable_package_c8(struct drm_i915_private *dev_priv)
> -{
> - if (!HAS_PC8(dev_priv->dev))
> - return;
> -
> - mutex_lock(&dev_priv->pc8.lock);
> - intel_runtime_pm_get(dev_priv);
> - mutex_unlock(&dev_priv->pc8.lock);
> -}
> -
> #define for_each_power_domain(domain, mask) \
> for ((domain) = 0; (domain) < POWER_DOMAIN_NUM; (domain)++) \
> if ((1 << (domain)) & (mask))
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index a2e0cd7..2c02d68 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -722,8 +722,6 @@ unsigned long intel_gen4_compute_page_offset(int *x, int *y,
> void intel_display_handle_reset(struct drm_device *dev);
> void __hsw_do_enable_pc8(struct drm_i915_private *dev_priv);
> void __hsw_do_disable_pc8(struct drm_i915_private *dev_priv);
> -void hsw_enable_package_c8(struct drm_i915_private *dev_priv);
> -void hsw_disable_package_c8(struct drm_i915_private *dev_priv);
> void intel_dp_get_m_n(struct intel_crtc *crtc,
> struct intel_crtc_config *pipe_config);
> int intel_dotclock_calculate(int link_freq, const struct intel_link_m_n *m_n);
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 1e3580f..78f56e8 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -5311,26 +5311,18 @@ static void hsw_set_power_well(struct drm_device *dev,
> static void __intel_power_well_get(struct drm_device *dev,
> struct i915_power_well *power_well)
> {
> - struct drm_i915_private *dev_priv = dev->dev_private;
> -
> - if (!power_well->count++ && power_well->set) {
> - hsw_disable_package_c8(dev_priv);
> + if (!power_well->count++ && power_well->set)
> power_well->set(dev, power_well, true);
> - }
> }
>
> static void __intel_power_well_put(struct drm_device *dev,
> struct i915_power_well *power_well)
> {
> - struct drm_i915_private *dev_priv = dev->dev_private;
> -
> WARN_ON(!power_well->count);
>
> if (!--power_well->count && power_well->set &&
> - i915.disable_power_well) {
> + i915.disable_power_well)
> power_well->set(dev, power_well, false);
> - hsw_enable_package_c8(dev_priv);
> - }
> }
>
> void intel_display_power_get(struct drm_device *dev,
Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list