From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Imre Deak <imre.deak@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>,
intel-gfx@lists.freedesktop.org,
Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH 02/10] drm/i915: Rename intel_power_domains_fini() to intel_power_domains_fini_hw()
Date: Sun, 29 Jul 2018 23:09:23 -0700 [thread overview]
Message-ID: <20180730060923.GI14046@intel.com> (raw)
In-Reply-To: <20180720141504.22832-3-imre.deak@intel.com>
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@linux.intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> 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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-07-30 6:09 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-20 14:14 [PATCH 00/10] drm/i915: Clean up power well descriptors Imre Deak
2018-07-20 14:14 ` [PATCH 01/10] drm/i915/icl: Fix power well anonymous union initializers Imre Deak
2018-07-30 6:07 ` Rodrigo Vivi
2018-08-01 21:01 ` Paulo Zanoni
2018-08-02 23:17 ` Lucas De Marchi
2018-08-03 0:24 ` Paulo Zanoni
2018-08-03 10:23 ` Imre Deak
2018-08-03 21:09 ` Lucas De Marchi
2018-07-20 14:14 ` [PATCH 02/10] drm/i915: Rename intel_power_domains_fini() to intel_power_domains_fini_hw() Imre Deak
2018-07-30 6:09 ` Rodrigo Vivi [this message]
2018-08-01 21:02 ` Paulo Zanoni
2018-07-20 14:14 ` [PATCH 03/10] drm/i915/vlv: Remove redundant power well ID asserts Imre Deak
2018-08-01 21:03 ` Paulo Zanoni
2018-07-20 14:14 ` [PATCH 04/10] drm/i915: Constify power well descriptors Imre Deak
2018-08-01 21:39 ` Paulo Zanoni
2018-08-02 12:03 ` Imre Deak
2018-08-02 23:04 ` Paulo Zanoni
2018-07-20 14:14 ` [PATCH 05/10] drm/i915/vlv: Use power well CTL IDX instead of ID Imre Deak
2018-08-01 22:15 ` Paulo Zanoni
2018-08-02 11:56 ` Imre Deak
2018-07-20 14:15 ` [PATCH 06/10] drm/i915/ddi: " Imre Deak
2018-08-02 20:40 ` Paulo Zanoni
2018-08-03 9:13 ` Imre Deak
2018-07-20 14:15 ` [PATCH 07/10] drm/i915: Remove redundant power well IDs Imre Deak
2018-08-02 21:26 ` Paulo Zanoni
2018-08-03 9:31 ` Imre Deak
2018-07-20 14:15 ` [PATCH 08/10] drm/i915: Make power well ID names more uniform Imre Deak
2018-08-02 21:32 ` Paulo Zanoni
2018-07-20 14:15 ` [PATCH 09/10] drm/i915: Use existing power well IDs where possible Imre Deak
2018-08-02 21:39 ` Paulo Zanoni
2018-08-03 9:34 ` Imre Deak
2018-07-20 14:15 ` [PATCH 10/10] drm/i915/icl: Add missing power gate enums Imre Deak
2018-08-02 21:46 ` Paulo Zanoni
2018-07-20 14:53 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Clean up power well descriptors Patchwork
2018-07-20 14:57 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-07-20 15:15 ` ✓ Fi.CI.BAT: success " Patchwork
2018-07-21 15:39 ` ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180730060923.GI14046@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=paulo.r.zanoni@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).