[Intel-gfx] [PATCH 1/1] drm/i915/uc: Turn on GuC/HuC auto mode again
Michal Wajdeczko
michal.wajdeczko at intel.com
Mon Aug 19 11:15:00 UTC 2019
On Mon, 19 Aug 2019 10:09:15 +0200, Martin Peres
<martin.peres at linux.intel.com> wrote:
> On 18/08/2019 18:51, Michal Wajdeczko wrote:
>> We hope that now all issues related to missing uC firmwares
>> are fixed and that driver can continue to load without GuC
>> or HuC firmware available and running:
>>
>> - missing or corrupted HuC firmware has no impact to driver
>> load (clients should continue to use HUC_STATUS to check
>> if HuC firmware was loaded and authenticated)
>>
>> - missing or corrupted GuC firmware has no impact to driver
>> load (unless GuC firmware blob was overridden by the user
>> or GuC submission was requested or GuC was previously
>> enabled on this system without reboot - then we will mark
>> GPU as wedged and continue with KMS only)
>
> Please hold merging this patch, as many more items need to be crossed
> off before such a patch can land.
>
> Such items include:
>
> - Assess all the existing GUC-related bugs, and prove they won't
> suddenly get seen by more users
Yep, this is right time to double check that.
> - add fault injection to the FW loading path
About 40 new failure points were added to firmware loading path by
recent commits like [1] ("drm/i915/uc: Hardening firmware fetch")
and [2] ("drm/i915/uc: Inject probe errors into intel_uc_init_hw")
so I assume we could mark this item as done.
> - add IGT tests to make sure driver behaves well on different FW
> loading errors
Not sure which if we need another set of tests beyond existing and
already used igt at i915_module_load@reload-with-fault-injection.
Maybe all we need is to add dedicated CI machines that will try to
use GuC but without valid firmware on the system? Let CI team speak
here. Note I was already trying to mimic that scenario with [3] and
[4] and they we all good.
Thanks,
Michal
[1]
https://cgit.freedesktop.org/drm/drm-tip/commit/?id=5e0a809af2a2b577934ec54c0e50897b806f0732
[2]
https://cgit.freedesktop.org/drm/drm-tip/commit/?id=5d1ef2b4270de45e1b1b40a00838e3b6196eefd7
[3] https://patchwork.freedesktop.org/series/65378/#rev1
[4] https://patchwork.freedesktop.org/series/65379/#rev1
>
> Martin
>
>>
>> References: commit f774f0964919 ("drm/i915/guc: Turn on GuC/HuC auto
>> mode")
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
>> Cc: Jani Nikula <jani.nikula at intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_params.c | 2 +-
>> drivers/gpu/drm/i915/i915_params.h | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_params.c
>> b/drivers/gpu/drm/i915/i915_params.c
>> index 296452f9efe4..b4f481e1e6b6 100644
>> --- a/drivers/gpu/drm/i915/i915_params.c
>> +++ b/drivers/gpu/drm/i915/i915_params.c
>> @@ -146,7 +146,7 @@ i915_param_named_unsafe(edp_vswing, int, 0400,
>> i915_param_named_unsafe(enable_guc, int, 0400,
>> "Enable GuC load for GuC submission and/or HuC load. "
>> "Required functionality can be selected using bitmask values. "
>> - "(-1=auto, 0=disable [default], 1=GuC submission, 2=HuC load)");
>> + "(-1=auto [default], 0=disable, 1=GuC submission, 2=HuC load)");
>>
>> i915_param_named(guc_log_level, int, 0400,
>> "GuC firmware logging level. Requires GuC to be loaded. "
>> diff --git a/drivers/gpu/drm/i915/i915_params.h
>> b/drivers/gpu/drm/i915/i915_params.h
>> index d29ade3b7de6..5736c55694fe 100644
>> --- a/drivers/gpu/drm/i915/i915_params.h
>> +++ b/drivers/gpu/drm/i915/i915_params.h
>> @@ -54,7 +54,7 @@ struct drm_printer;
>> param(int, disable_power_well, -1) \
>> param(int, enable_ips, 1) \
>> param(int, invert_brightness, 0) \
>> - param(int, enable_guc, 0) \
>> + param(int, enable_guc, -1) \
>> param(int, guc_log_level, -1) \
>> param(char *, guc_firmware_path, NULL) \
>> param(char *, huc_firmware_path, NULL) \
More information about the Intel-gfx
mailing list