[Intel-gfx] [PATCH 1/1] drm/i915/uc: Use platform specific defaults for GuC/HuC enabling
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Apr 8 09:44:58 UTC 2022
On 07/04/2022 21:49, John Harrison wrote:
> On 4/7/2022 08:49, Tvrtko Ursulin wrote:
>> On 03/06/2021 17:48, Matthew Brost wrote:
>>> From: John Harrison <John.C.Harrison at Intel.com>
>>>
>>> The meaning of 'default' for the enable_guc module parameter has been
>>> updated to accurately reflect what is supported on current platforms.
>>> So start using the defaults instead of forcing everything off.
>>> Although, note that right now, the default is for everything to be off
>>> anyway. So this is not a change for current platforms.
>>>
>>> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
>>> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
>>> Reviewed-by: 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 0320878d96b0..e07f4cfea63a 100644
>>> --- a/drivers/gpu/drm/i915/i915_params.c
>>> +++ b/drivers/gpu/drm/i915/i915_params.c
>>> @@ -160,7 +160,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 4a114a5ad000..f27eceb82c0f 100644
>>> --- a/drivers/gpu/drm/i915/i915_params.h
>>> +++ b/drivers/gpu/drm/i915/i915_params.h
>>> @@ -59,7 +59,7 @@ struct drm_printer;
>>> param(int, disable_power_well, -1, 0400) \
>>> param(int, enable_ips, 1, 0600) \
>>> param(int, invert_brightness, 0, 0600) \
>>> - param(int, enable_guc, 0, 0400) \
>>> + param(int, enable_guc, -1, 0400) \
>>> param(int, guc_log_level, -1, 0400) \
>>> param(char *, guc_firmware_path, NULL, 0400) \
>>> param(char *, huc_firmware_path, NULL, 0400) \
>>
>> What is the BKM to use this with multi-GPU setups? Specifically I have
>> a TGL+DG1 laptop (off the shelf) and want to have GuC with DG1 only.
>> If I pass i915.enable_guc=3 it seems it wants to enable it for TGL as
>> well and wedges the GPU if it can't?
>>
> I don't think there is one.
>
> Module parameters are driver global and therefore apply to all cards in
> the system, both discrete and integrated. The '-1' default can and does
> have different meanings for each card. So in the TGL+DG1 case, TGL
> should default to execlist and DG1 should already be defaulting to GuC.
> So the -1 setting should do what you want. But if you did need to
> override for one specific card only then I think you would need to do
> that with a code change and rebuild.
You are right, I was on a kernel where DG1 wasn't yet defaulting to GuC
hence the confusion when I tried to pass enable_guc=3 that broke TGL as
well, but because I had no up to date firmware for it.
We really need per device modparams, as long as we have modparams..
Regards,
Tvrtko
More information about the Intel-gfx
mailing list