[Intel-gfx] [PATCH 1/1] drm/i915/uc: Turn on GuC/HuC auto mode again
Martin Peres
martin.peres at linux.intel.com
Thu Aug 22 07:02:08 UTC 2019
On 19/08/2019 21:22, Lucas De Marchi wrote:
> On Mon, Aug 19, l we need is to add2019 at 4:15 AM Michal Wajdeczko
> <michal.wajdeczko at intel.com> wrote:
>>
>> 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.
>
> I don't think we should use dedicated CI machines for that. We could
> make the test to bind mount an empty
> directory before executing in order to hide the firmware, which would
> be an easy solution.
>
> In kmod testsuite I do something similar for modules, but I trap all
> fs-related calls (I had to do that for other reasons):
> https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/tree/testsuite/path.c
Let's not forget that IGT is meant to be run by anyone, and the more
testing we can do on a developer's machine, the better.
So thank you Lucas for being faster than me to suggest that relying on
dedicated machines is a bad idea, especially when it is such an easy
solution :)
Martin
>
> Lucas De Marchi
>
>
>>
>> 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) \
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>
>
More information about the Intel-gfx
mailing list