[Intel-gfx] [PATCH] firmware/dmc/icl: load v1.07 on icelake.

Tomi Sarvela tomi.p.sarvela at intel.com
Thu Aug 2 07:15:00 UTC 2018


On 08/02/2018 08:11 AM, Rodrigo Vivi wrote:
> On Wed, Aug 01, 2018 at 05:30:49PM -0700, Paulo Zanoni wrote:
>> Em Qua, 2018-08-01 às 17:07 -0700, Anusha Srivatsa escreveu:
>>> Add Support to load DMC on Icelake.
>>>
>>> While at it, also add support to load the firmware
>>> during system resume.
>>>
>>> v2: load firmware during system resume.(Imre)
>>
>> Just to make it clear: did we test this on actual machines before
>> submitting or are we entirely relying on the CI results?
>>
>> I'm not sure the CI is running enough tests to validate this patch with
>> confidence, we'll probably need to do some manual testing here.
> 
> At some point I believe it was agreed that CI would test this
> and get the new firmware automatically from the cover-letter.
> 
> The problem is that I don't see any cover-letter so I'm afraid
> it is not running with the new firmware.
> 
> Tomi?

The requests can be checked from patchwork REST API:

https://patchwork.freedesktop.org/api/1.0/projects/intel-gfx/events/?page=1&name=pull-request-new

There has been a pull request for new firmware, but it couldn't be 
acted. CI can't connect to SSH repository, because those generally need 
an account. This has been tried and tested before. Better way is to use 
git://, http:// or https:// URLs, as the pull shouldn't need any special 
permissions.

This time I have manually pulled 
git://anongit.freedesktop.org/drm/drm-firmware/master but, if you want 
to make this automatic, the pull requests shouldn't be from repositories 
with obligatory login.

Another note: known firmware pull repositories are now

freedesktop.org	git://anongit.freedesktop.org/drm/drm-firmware (fetch)
g_anushasr	git://github.com/anushasr/linux-firmware.git (fetch)
h_anushasr	https://github.com/anushasr/linux-firmware.git (fetch)
kernel.org 
git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware 
(fetch)

If you know that in future there might be pull requests from another 
repository, please inform me about that in advance.

Tomi


> 
> Also I believe in case it has the cover letter it should run
> the full CI on the machine or at least stash it and run on
> the weekend or whenever we run the full on all machines and
> then report back again. Possible?
> 
> Martin?
> 
>>
>>>
>>> Cc: Imre Deak <imre.deak at intel.com>
>>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>>> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
>>> Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
>>> ---
>>>   drivers/gpu/drm/i915/intel_csr.c        | 7 +++++++
>>>   drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +++
>>>   2 files changed, 10 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_csr.c
>>> b/drivers/gpu/drm/i915/intel_csr.c
>>> index cf9b600..393d419 100644
>>> --- a/drivers/gpu/drm/i915/intel_csr.c
>>> +++ b/drivers/gpu/drm/i915/intel_csr.c
>>> @@ -34,6 +34,9 @@
>>>    * low-power state and comes back to normal.
>>>    */
>>>   
>>> +#define I915_CSR_ICL "i915/icl_dmc_ver1_07.bin"
>>> +#define ICL_CSR_VERSION_REQUIRED	CSR_VERSION(1, 7)
>>> +
>>>   #define I915_CSR_GLK "i915/glk_dmc_ver1_04.bin"
>>>   MODULE_FIRMWARE(I915_CSR_GLK);
>>>   #define GLK_CSR_VERSION_REQUIRED	CSR_VERSION(1, 4)
>>> @@ -301,6 +304,8 @@ static uint32_t *parse_csr_fw(struct
>>> drm_i915_private *dev_priv,
>>>   	if (csr->fw_path == i915_modparams.dmc_firmware_path) {
>>>   		/* Bypass version check for firmware override. */
>>>   		required_version = csr->version;
>>> +	} else if (IS_ICELAKE(dev_priv)) {
>>> +		required_version = ICL_CSR_VERSION_REQUIRED;
>>>   	} else if (IS_CANNONLAKE(dev_priv)) {
>>>   		required_version = CNL_CSR_VERSION_REQUIRED;
>>>   	} else if (IS_GEMINILAKE(dev_priv)) {
>>> @@ -458,6 +463,8 @@ void intel_csr_ucode_init(struct drm_i915_private
>>> *dev_priv)
>>>   
>>>   	if (i915_modparams.dmc_firmware_path)
>>>   		csr->fw_path = i915_modparams.dmc_firmware_path;
>>> +	else if (IS_ICELAKE(dev_priv))
>>> +		csr->fw_path = I915_CSR_ICL;
>>>   	else if (IS_CANNONLAKE(dev_priv))
>>>   		csr->fw_path = I915_CSR_CNL;
>>>   	else if (IS_GEMINILAKE(dev_priv))
>>> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
>>> b/drivers/gpu/drm/i915/intel_runtime_pm.c
>>> index cf89141..77c0986 100644
>>> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
>>> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
>>> @@ -3372,6 +3372,9 @@ static void icl_display_core_init(struct
>>> drm_i915_private *dev_priv,
>>>   
>>>   	/* 7. Setup MBUS. */
>>>   	icl_mbus_init(dev_priv);
>>> +
>>> +	if (resume && dev_priv->csr.dmc_payload)
>>> +		intel_csr_load_program(dev_priv);
>>>   }
>>>   
>>>   static void icl_display_core_uninit(struct drm_i915_private
>>> *dev_priv)
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Tomi
-- 
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo


More information about the Intel-gfx mailing list