[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