Re: [PATCH 1/1] drm/i915/uc: Use platform specific defaults for GuC/HuC enabling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxx>

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@xxxxxxxxx>
Signed-off-by: Matthew Brost <matthew.brost@xxxxxxxxx>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
---
  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



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux