[Intel-gfx] [PATCH] drm/i915: Release power well if load DMC failed
Jani Nikula
jani.nikula at intel.com
Wed Nov 21 07:53:41 UTC 2018
On Tue, 20 Nov 2018, "Lee, Shawn C" <shawn.c.lee at intel.com> wrote:
> Driver obtain power well at intel_csr_ucode_init().
> And release it after load DMC firmware successful.
Correct.
> An issue happened when DMC was not found or failed
> to load. Power well would not be released and just
> output some error messages. Driver have to release
> power well properly to keep put/get balance.
No. We intentionally do not release it until dmc firmware load succeeds.
See the comment in intel_csr_ucode_init(), as well as this in the branch
where dmc load fails:
dev_notice(dev_priv->drm.dev,
"Failed to load DMC firmware %s."
" Disabling runtime power management.\n",
csr->fw_path);
We don't support runtime pm without dmc on platforms with dmc.
BR,
Jani.
>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Jose Roberto de Souza <jose.souza at intel.com>
> Cc: Cooper Chiou <cooper.chiou at intel.com>
>
> Signed-off-by: Lee, Shawn C <shawn.c.lee at intel.com>
> ---
> drivers/gpu/drm/i915/intel_csr.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index a516697bf57d..8d04d7b6f00a 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -425,8 +425,6 @@ static void csr_load_work_fn(struct work_struct *work)
> if (dev_priv->csr.dmc_payload) {
> intel_csr_load_program(dev_priv);
>
> - intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> -
> DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
> dev_priv->csr.fw_path,
> CSR_VERSION_MAJOR(csr->version),
> @@ -440,6 +438,7 @@ static void csr_load_work_fn(struct work_struct *work)
> INTEL_UC_FIRMWARE_URL);
> }
>
> + intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> release_firmware(fw);
> }
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list