Re: [PATCH 02/10] drm/i915: Rename intel_power_domains_fini() to intel_power_domains_fini_hw()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 20, 2018 at 05:14:56PM +0300, Imre Deak wrote:
> intel_power_domains_fini() rolls back what was done in
> intel_power_domains_init_hw(), so rename and move it accordingly. This
> allows us adding a cleanup function later for intel_power_domains_init()
> in a cleaner way.
> 
> No functional change.
> 
> Cc: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx>
> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx>
> Cc: Jani Nikula <jani.nikula@xxxxxxxxx>
> Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>

> ---
>  drivers/gpu/drm/i915/i915_drv.c         |  4 +-
>  drivers/gpu/drm/i915/intel_drv.h        |  2 +-
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 69 ++++++++++++++++-----------------
>  3 files changed, 37 insertions(+), 38 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 3834bd758a2e..3c984530fef9 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -709,7 +709,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
>  	intel_teardown_gmbus(dev_priv);
>  cleanup_csr:
>  	intel_csr_ucode_fini(dev_priv);
> -	intel_power_domains_fini(dev_priv);
> +	intel_power_domains_fini_hw(dev_priv);
>  	vga_switcheroo_unregister_client(pdev);
>  cleanup_vga_client:
>  	vga_client_register(pdev, NULL, NULL, NULL);
> @@ -1460,7 +1460,7 @@ void i915_driver_unload(struct drm_device *dev)
>  	i915_gem_fini(dev_priv);
>  	intel_fbc_cleanup_cfb(dev_priv);
>  
> -	intel_power_domains_fini(dev_priv);
> +	intel_power_domains_fini_hw(dev_priv);
>  
>  	i915_driver_cleanup_hw(dev_priv);
>  	i915_driver_cleanup_mmio(dev_priv);
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 5b4414f06aae..32be305c0e89 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -1943,8 +1943,8 @@ int intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state);
>  
>  /* intel_runtime_pm.c */
>  int intel_power_domains_init(struct drm_i915_private *);
> -void intel_power_domains_fini(struct drm_i915_private *);
>  void intel_power_domains_init_hw(struct drm_i915_private *dev_priv, bool resume);
> +void intel_power_domains_fini_hw(struct drm_i915_private *);
>  void intel_power_domains_suspend(struct drm_i915_private *dev_priv);
>  void intel_power_domains_verify_state(struct drm_i915_private *dev_priv);
>  void bxt_display_core_init(struct drm_i915_private *dev_priv, bool resume);
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 1a87176a85c1..f1742466436d 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -2902,41 +2902,6 @@ int intel_power_domains_init(struct drm_i915_private *dev_priv)
>  	return 0;
>  }
>  
> -/**
> - * intel_power_domains_fini - finalizes the power domain structures
> - * @dev_priv: i915 device instance
> - *
> - * Finalizes the power domain structures for @dev_priv depending upon the
> - * supported platform. This function also disables runtime pm and ensures that
> - * the device stays powered up so that the driver can be reloaded.
> - */
> -void intel_power_domains_fini(struct drm_i915_private *dev_priv)
> -{
> -	struct device *kdev = &dev_priv->drm.pdev->dev;
> -
> -	/*
> -	 * The i915.ko module is still not prepared to be loaded when
> -	 * the power well is not enabled, so just enable it in case
> -	 * we're going to unload/reload.
> -	 * The following also reacquires the RPM reference the core passed
> -	 * to the driver during loading, which is dropped in
> -	 * intel_runtime_pm_enable(). We have to hand back the control of the
> -	 * device to the core with this reference held.
> -	 */
> -	intel_display_set_init_power(dev_priv, true);
> -
> -	/* Remove the refcount we took to keep power well support disabled. */
> -	if (!i915_modparams.disable_power_well)
> -		intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> -
> -	/*
> -	 * Remove the refcount we took in intel_runtime_pm_enable() in case
> -	 * the platform doesn't support runtime PM.
> -	 */
> -	if (!HAS_RUNTIME_PM(dev_priv))
> -		pm_runtime_put(kdev);
> -}
> -
>  static void intel_power_domains_sync_hw(struct drm_i915_private *dev_priv)
>  {
>  	struct i915_power_domains *power_domains = &dev_priv->power_domains;
> @@ -3581,6 +3546,40 @@ void intel_power_domains_init_hw(struct drm_i915_private *dev_priv, bool resume)
>  }
>  
>  /**
> + * intel_power_domains_fini_hw - deinitialize hw power domain state
> + * @dev_priv: i915 device instance
> + *
> + * De-initializes the display power domain HW state. It also ensures that the
> + * device stays powered up so that the driver can be reloaded.
> + */
> +void intel_power_domains_fini_hw(struct drm_i915_private *dev_priv)
> +{
> +	struct device *kdev = &dev_priv->drm.pdev->dev;
> +
> +	/*
> +	 * The i915.ko module is still not prepared to be loaded when
> +	 * the power well is not enabled, so just enable it in case
> +	 * we're going to unload/reload.
> +	 * The following also reacquires the RPM reference the core passed
> +	 * to the driver during loading, which is dropped in
> +	 * intel_runtime_pm_enable(). We have to hand back the control of the
> +	 * device to the core with this reference held.
> +	 */
> +	intel_display_set_init_power(dev_priv, true);
> +
> +	/* Remove the refcount we took to keep power well support disabled. */
> +	if (!i915_modparams.disable_power_well)
> +		intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> +
> +	/*
> +	 * Remove the refcount we took in intel_runtime_pm_enable() in case
> +	 * the platform doesn't support runtime PM.
> +	 */
> +	if (!HAS_RUNTIME_PM(dev_priv))
> +		pm_runtime_put(kdev);
> +}
> +
> +/**
>   * intel_power_domains_suspend - suspend power domain state
>   * @dev_priv: i915 device instance
>   *
> -- 
> 2.13.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux