[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