[Intel-gfx] [PATCH] drm/i915: Release power well if load DMC failed

Jani Nikula jani.nikula at intel.com
Wed Nov 21 09:29:58 UTC 2018


On Wed, 21 Nov 2018, "Lee, Shawn C" <shawn.c.lee at intel.com> wrote:
> On Tue, 20 Nov 2018, "Jani Nikula" <jani.nikula at intel.com> wrote:
>>On Wed, 21 Nov 2018, "Lee, Shawn C" <shawn.c.lee at intel.com> wrote:
>>> On Tue, 20 Nov 2018, "Jani Nikula" <jani.nikula 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.
>>>
>>> If load DMC failed, we found DP phy was always on even without 
>>> external display connected.  So it looks like an expected behavior, 
>>> right?
>>
>>I'll put it this way, we don't really go out of our way to support everything without the DMC firmware. Every choice like this doubles the testing requirements.
>>
>
> Understood. This is not a normal case (without DMC) on customer
> system.  We just think it will be better to release power well if we
> already got it before.

Why are you supporting a non-DMC setup on a customer system? Don't do
it.

BR,
Jani.

>
>>Do you see issues with DMC firmware loaded? Do you have issues with loading DMC firmware?
>
> No issue with DMC firmware loaded. Thanks!
>
>>
>>BR,
>>Jani.
>>
>>
>>>
>>>>
>>>>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
>>
>>--
>>Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list