[Intel-gfx] [PATCH 2/4] drm/i915: Move FBC init and cleanup calls to modeset functions

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Nov 8 15:29:54 UTC 2018


On Wed, Nov 07, 2018 at 04:16:45PM -0800, José Roberto de Souza wrote:
> Although FBC helps save power it do not belongs to power management
> also the cleanup was placed in i915_driver_unload() also not a good
> place. intel_modeset_init()/intel_modeset_cleanup() are better places
> also this will help make easy disable features that depends in
> display being enabled in driver.
> 
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.c      | 1 -
>  drivers/gpu/drm/i915/intel_display.c | 4 ++++
>  drivers/gpu/drm/i915/intel_pm.c      | 2 --
>  3 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index b9108a5821a5..09208c73ca04 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1778,7 +1778,6 @@ void i915_driver_unload(struct drm_device *dev)
>  	i915_reset_error_state(dev_priv);
>  
>  	i915_gem_fini(dev_priv);
> -	intel_fbc_cleanup_cfb(dev_priv);
>  
>  	intel_power_domains_fini_hw(dev_priv);
>  
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index ae6d58dbf1ed..4c176e13e9bb 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -15016,6 +15016,8 @@ int intel_modeset_init(struct drm_device *dev)
>  
>  	intel_init_quirks(dev_priv);
>  
> +	intel_fbc_init(dev_priv);
> +
>  	intel_init_pm(dev_priv);
>  
>  	/*
> @@ -15829,6 +15831,8 @@ void intel_modeset_cleanup(struct drm_device *dev)
>  	intel_teardown_gmbus(dev_priv);
>  
>  	destroy_workqueue(dev_priv->modeset_wq);
> +
> +	intel_fbc_cleanup_cfb(dev_priv);

This whole thing is a bit dubious. Presumably we should have cleaned
this up already when we disabled all the outputs. But fbc could use
a bit of work in general so no point in worrying about such details now.

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  }
>  
>  /*
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 9da8ff263d36..dc034617febb 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -9435,8 +9435,6 @@ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
>  /* Set up chip specific power management-related functions */
>  void intel_init_pm(struct drm_i915_private *dev_priv)
>  {
> -	intel_fbc_init(dev_priv);
> -
>  	/* For cxsr */
>  	if (IS_PINEVIEW(dev_priv))
>  		i915_pineview_get_mem_freq(dev_priv);
> -- 
> 2.19.1

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list