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

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


On 08/02/2018 10:15 AM, Tomi Sarvela wrote:
> 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.

The results from the re-tested patchset are back, with dmesgs:

https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9839/fi-icl-u/boot0.log

https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9839/fi-icl-u/dmesg0.log

Testrun hung in igt at drv_selftest@live_hangcheck, which is standard place 
for ICL to rest in peace.

https://intel-gfx-ci.01.org/tree/drm-tip/fi-icl-u.html

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


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


More information about the Intel-gfx mailing list