* [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable
@ 2021-01-13 22:07 John.C.Harrison
2021-01-14 0:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2) Patchwork
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: John.C.Harrison @ 2021-01-13 22:07 UTC (permalink / raw)
To: Intel-GFX
From: John Harrison <John.C.Harrison@Intel.com>
There is a module parameter for controlling what GuC/HuC features are
enabled. Setting to -1 means 'use the default'. However, the default
was not well defined, out of date and needs to be different across
platforms.
The default is now to disable both GuC and HuC on legacy platforms
where legacy means TGL/RKL and anything prior to Gen12. For new
platforms, the default is to load HuC but not GuC as GuC submission
has not yet landed.
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 31 ++++++++++++++++++++----
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 7 +-----
drivers/gpu/drm/i915/i915_params.h | 1 +
3 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 6a0452815c41..6abb8f2dc33d 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -15,6 +15,29 @@
static const struct intel_uc_ops uc_ops_off;
static const struct intel_uc_ops uc_ops_on;
+static void uc_expand_default_options(struct intel_uc *uc)
+{
+ struct drm_i915_private *i915 = uc_to_gt(uc)->i915;
+
+ if (i915->params.enable_guc != -1)
+ return;
+
+ /* Don't enable GuC/HuC on pre-Gen12 */
+ if (INTEL_GEN(i915) < 12) {
+ i915->params.enable_guc = 0;
+ return;
+ }
+
+ /* Don't enable GuC/HuC on older Gen12 platforms */
+ if (IS_TIGERLAKE(i915) || IS_ROCKETLAKE(i915)) {
+ i915->params.enable_guc = 0;
+ return;
+ }
+
+ /* Default: enable HuC authentication only */
+ i915->params.enable_guc = ENABLE_GUC_LOAD_HUC;
+}
+
/* Reset GuC providing us with fresh state for both GuC and HuC.
*/
static int __intel_uc_reset_hw(struct intel_uc *uc)
@@ -52,9 +75,6 @@ static void __confirm_options(struct intel_uc *uc)
yesno(intel_uc_wants_guc_submission(uc)),
yesno(intel_uc_wants_huc(uc)));
- if (i915->params.enable_guc == -1)
- return;
-
if (i915->params.enable_guc == 0) {
GEM_BUG_ON(intel_uc_wants_guc(uc));
GEM_BUG_ON(intel_uc_wants_guc_submission(uc));
@@ -79,8 +99,7 @@ static void __confirm_options(struct intel_uc *uc)
"Incompatible option enable_guc=%d - %s\n",
i915->params.enable_guc, "GuC submission is N/A");
- if (i915->params.enable_guc & ~(ENABLE_GUC_SUBMISSION |
- ENABLE_GUC_LOAD_HUC))
+ if (i915->params.enable_guc & ~ENABLE_GUC_MASK)
drm_info(&i915->drm,
"Incompatible option enable_guc=%d - %s\n",
i915->params.enable_guc, "undocumented flag");
@@ -88,6 +107,8 @@ static void __confirm_options(struct intel_uc *uc)
void intel_uc_init_early(struct intel_uc *uc)
{
+ uc_expand_default_options(uc);
+
intel_guc_init_early(&uc->guc);
intel_huc_init_early(&uc->huc);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index 602f1a0bc587..67b06fde1225 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -152,16 +152,11 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
uc_fw->path = NULL;
}
}
-
- /* We don't want to enable GuC/HuC on pre-Gen11 by default */
- if (i915->params.enable_guc == -1 && p < INTEL_ICELAKE)
- uc_fw->path = NULL;
}
static const char *__override_guc_firmware_path(struct drm_i915_private *i915)
{
- if (i915->params.enable_guc & (ENABLE_GUC_SUBMISSION |
- ENABLE_GUC_LOAD_HUC))
+ if (i915->params.enable_guc & ENABLE_GUC_MASK)
return i915->params.guc_firmware_path;
return "";
}
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 330c03e2b4f7..f031966af5b7 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -32,6 +32,7 @@ struct drm_printer;
#define ENABLE_GUC_SUBMISSION BIT(0)
#define ENABLE_GUC_LOAD_HUC BIT(1)
+#define ENABLE_GUC_MASK GENMASK(1, 0)
/*
* Invoke param, a function-like macro, for each i915 param, with arguments:
--
2.25.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2)
2021-01-13 22:07 [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John.C.Harrison
@ 2021-01-14 0:20 ` Patchwork
2021-01-14 4:08 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-01-14 21:39 ` [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John Harrison
2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-01-14 0:20 UTC (permalink / raw)
To: john.c.harrison; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 2932 bytes --]
== Series Details ==
Series: drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2)
URL : https://patchwork.freedesktop.org/series/85521/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9604 -> Patchwork_19346
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/index.html
Known issues
------------
Here are the changes found in Patchwork_19346 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@amdgpu/amd_basic@query-info:
- fi-tgl-y: NOTRUN -> [SKIP][1] ([fdo#109315] / [i915#2575])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/fi-tgl-y/igt@amdgpu/amd_basic@query-info.html
* igt@debugfs_test@read_all_entries:
- fi-tgl-y: [PASS][2] -> [DMESG-WARN][3] ([i915#402]) +2 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/fi-tgl-y/igt@debugfs_test@read_all_entries.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/fi-tgl-y/igt@debugfs_test@read_all_entries.html
* igt@gem_exec_suspend@basic-s3:
- fi-tgl-y: [PASS][4] -> [DMESG-WARN][5] ([i915#2411] / [i915#402])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html
#### Possible fixes ####
* igt@i915_getparams_basic@basic-subslice-total:
- fi-tgl-y: [DMESG-WARN][6] ([i915#402]) -> [PASS][7] +2 similar issues
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
Participating hosts (42 -> 38)
------------------------------
Missing (4): fi-ctg-p8600 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u
Build changes
-------------
* Linux: CI_DRM_9604 -> Patchwork_19346
CI-20190529: 20190529
CI_DRM_9604: 486ddc08f81c5bbdac49e52eaa4c94532d763fef @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5957: 2a2b3418f7458dfa1fac255cc5c71603f617690a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19346: e92930765a9fa2feca26fc068a7ef881b584372f @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
e92930765a9f drm/i915/uc: Add function to define defaults for GuC/HuC enable
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/index.html
[-- Attachment #1.2: Type: text/html, Size: 3744 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2)
2021-01-13 22:07 [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John.C.Harrison
2021-01-14 0:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2) Patchwork
@ 2021-01-14 4:08 ` Patchwork
2021-01-14 21:39 ` [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John Harrison
2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-01-14 4:08 UTC (permalink / raw)
To: john.c.harrison; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 20990 bytes --]
== Series Details ==
Series: drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2)
URL : https://patchwork.freedesktop.org/series/85521/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_9604_full -> Patchwork_19346_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_19346_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_19346_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_19346_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
- shard-kbl: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@perf@non-zero-reason}:
- shard-skl: NOTRUN -> [TIMEOUT][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl3/igt@perf@non-zero-reason.html
Known issues
------------
Here are the changes found in Patchwork_19346_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_persistence@engines-persistence:
- shard-snb: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#1099])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-snb4/igt@gem_ctx_persistence@engines-persistence.html
* igt@gem_ctx_persistence@legacy-engines-hang@blt:
- shard-skl: NOTRUN -> [SKIP][5] ([fdo#109271]) +361 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl2/igt@gem_ctx_persistence@legacy-engines-hang@blt.html
* igt@gem_exec_reloc@basic-parallel:
- shard-skl: NOTRUN -> [TIMEOUT][6] ([i915#1729])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl8/igt@gem_exec_reloc@basic-parallel.html
* igt@gem_exec_whisper@basic-queues-forked:
- shard-glk: [PASS][7] -> [DMESG-WARN][8] ([i915#118] / [i915#95])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-glk4/igt@gem_exec_whisper@basic-queues-forked.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-glk8/igt@gem_exec_whisper@basic-queues-forked.html
* igt@gem_huc_copy@huc-copy:
- shard-skl: NOTRUN -> [SKIP][9] ([fdo#109271] / [i915#2190])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl10/igt@gem_huc_copy@huc-copy.html
* igt@gem_userptr_blits@process-exit-mmap@wb:
- shard-skl: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#1699]) +3 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl7/igt@gem_userptr_blits@process-exit-mmap@wb.html
* igt@gem_userptr_blits@vma-merge:
- shard-skl: NOTRUN -> [INCOMPLETE][11] ([i915#2502] / [i915#2667])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl5/igt@gem_userptr_blits@vma-merge.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-skl: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#658])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl1/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_dc@dc5-psr:
- shard-skl: [PASS][13] -> [INCOMPLETE][14] ([i915#198])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl2/igt@i915_pm_dc@dc5-psr.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl6/igt@i915_pm_dc@dc5-psr.html
* igt@kms_big_joiner@invalid-modeset:
- shard-skl: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#2705])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl1/igt@kms_big_joiner@invalid-modeset.html
* igt@kms_ccs@pipe-c-bad-aux-stride:
- shard-skl: NOTRUN -> [SKIP][16] ([fdo#109271] / [fdo#111304]) +2 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl2/igt@kms_ccs@pipe-c-bad-aux-stride.html
* igt@kms_chamelium@dp-edid-read:
- shard-kbl: NOTRUN -> [SKIP][17] ([fdo#109271] / [fdo#111827]) +1 similar issue
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@kms_chamelium@dp-edid-read.html
* igt@kms_chamelium@vga-hpd-after-suspend:
- shard-skl: NOTRUN -> [SKIP][18] ([fdo#109271] / [fdo#111827]) +41 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl1/igt@kms_chamelium@vga-hpd-after-suspend.html
* igt@kms_color_chamelium@pipe-a-ctm-max:
- shard-snb: NOTRUN -> [SKIP][19] ([fdo#109271] / [fdo#111827]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-snb4/igt@kms_color_chamelium@pipe-a-ctm-max.html
* igt@kms_cursor_crc@pipe-b-cursor-256x256-sliding:
- shard-skl: [PASS][20] -> [FAIL][21] ([i915#54]) +2 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-256x256-sliding.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl7/igt@kms_cursor_crc@pipe-b-cursor-256x256-sliding.html
* igt@kms_cursor_crc@pipe-c-cursor-64x21-offscreen:
- shard-skl: NOTRUN -> [FAIL][22] ([i915#54]) +6 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl7/igt@kms_cursor_crc@pipe-c-cursor-64x21-offscreen.html
* igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic:
- shard-skl: NOTRUN -> [FAIL][23] ([i915#2346])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2:
- shard-glk: [PASS][24] -> [FAIL][25] ([i915#79])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html
* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-skl: NOTRUN -> [DMESG-WARN][26] ([i915#1982])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
- shard-tglb: [PASS][27] -> [FAIL][28] ([i915#2598])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-tglb1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-tglb3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
- shard-skl: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#2672])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl4/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile:
- shard-skl: NOTRUN -> [FAIL][30] ([i915#2628])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html
* igt@kms_hdr@bpc-switch:
- shard-skl: NOTRUN -> [FAIL][31] ([i915#1188])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl7/igt@kms_hdr@bpc-switch.html
* igt@kms_hdr@bpc-switch-dpms:
- shard-kbl: [PASS][32] -> [DMESG-WARN][33] ([i915#180] / [i915#78])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl7/igt@kms_hdr@bpc-switch-dpms.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@kms_hdr@bpc-switch-dpms.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl: NOTRUN -> [FAIL][34] ([fdo#108145] / [i915#265]) +8 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html
* igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
- shard-kbl: NOTRUN -> [FAIL][35] ([fdo#108145] / [i915#265])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html
* igt@kms_plane_cursor@pipe-b-viewport-size-64:
- shard-kbl: [PASS][36] -> [DMESG-WARN][37] ([i915#165])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl7/igt@kms_plane_cursor@pipe-b-viewport-size-64.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@kms_plane_cursor@pipe-b-viewport-size-64.html
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [PASS][38] -> [SKIP][39] ([fdo#109441]) +1 similar issue
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-iclb1/igt@kms_psr@psr2_cursor_plane_onoff.html
* igt@kms_psr@suspend:
- shard-snb: NOTRUN -> [SKIP][40] ([fdo#109271]) +44 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-snb4/igt@kms_psr@suspend.html
* igt@kms_vblank@pipe-d-wait-idle:
- shard-skl: NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#533]) +5 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl8/igt@kms_vblank@pipe-d-wait-idle.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-skl: NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#2437]) +1 similar issue
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl10/igt@kms_writeback@writeback-pixel-formats.html
* igt@perf@polling-small-buf:
- shard-skl: NOTRUN -> [FAIL][43] ([i915#1722])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl10/igt@perf@polling-small-buf.html
* igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name:
- shard-kbl: NOTRUN -> [SKIP][44] ([fdo#109271]) +8 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name.html
#### Possible fixes ####
* {igt@gem_exec_fair@basic-none-share@rcs0}:
- shard-iclb: [FAIL][45] ([i915#2842]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-iclb1/igt@gem_exec_fair@basic-none-share@rcs0.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-iclb4/igt@gem_exec_fair@basic-none-share@rcs0.html
* {igt@gem_exec_fair@basic-none-solo@rcs0}:
- shard-kbl: [FAIL][47] ([i915#2842]) -> [PASS][48] +2 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
* {igt@gem_exec_schedule@u-fairslice@vcs0}:
- shard-skl: [DMESG-WARN][49] ([i915#1610] / [i915#2803]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl2/igt@gem_exec_schedule@u-fairslice@vcs0.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl2/igt@gem_exec_schedule@u-fairslice@vcs0.html
* {igt@gem_exec_schedule@u-fairslice@vcs1}:
- shard-kbl: [DMESG-WARN][51] ([i915#2803]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl4/igt@gem_exec_schedule@u-fairslice@vcs1.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@gem_exec_schedule@u-fairslice@vcs1.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [SKIP][53] ([i915#2190]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-tglb6/igt@gem_huc_copy@huc-copy.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-tglb3/igt@gem_huc_copy@huc-copy.html
* igt@gem_userptr_blits@coherency-unsync:
- shard-snb: [INCOMPLETE][55] -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-snb6/igt@gem_userptr_blits@coherency-unsync.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-snb2/igt@gem_userptr_blits@coherency-unsync.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-snb: [INCOMPLETE][57] ([i915#2880]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-snb6/igt@i915_module_load@reload-with-fault-injection.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-snb4/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_cursor_crc@pipe-b-cursor-64x21-onscreen:
- shard-skl: [FAIL][59] ([i915#54]) -> [PASS][60] +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl1/igt@kms_cursor_crc@pipe-b-cursor-64x21-onscreen.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-64x21-onscreen.html
* igt@kms_cursor_edge_walk@pipe-c-256x256-right-edge:
- shard-kbl: [DMESG-WARN][61] ([i915#180]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl2/igt@kms_cursor_edge_walk@pipe-c-256x256-right-edge.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl1/igt@kms_cursor_edge_walk@pipe-c-256x256-right-edge.html
* igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
- shard-tglb: [FAIL][63] ([i915#2346]) -> [PASS][64]
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-tglb6/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-tglb5/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1:
- shard-tglb: [FAIL][65] ([i915#2598]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-tglb6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-tglb6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
* igt@kms_flip@flip-vs-suspend@b-edp1:
- shard-skl: [INCOMPLETE][67] ([i915#198]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl10/igt@kms_flip@flip-vs-suspend@b-edp1.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl10/igt@kms_flip@flip-vs-suspend@b-edp1.html
* igt@kms_flip@plain-flip-fb-recreate@b-edp1:
- shard-skl: [FAIL][69] ([i915#2122]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl9/igt@kms_flip@plain-flip-fb-recreate@b-edp1.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl4/igt@kms_flip@plain-flip-fb-recreate@b-edp1.html
* igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [SKIP][71] ([fdo#109441]) -> [PASS][72] +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-iclb4/igt@kms_psr@psr2_sprite_blt.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html
#### Warnings ####
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-iclb: [WARN][73] ([i915#1804] / [i915#2684]) -> [WARN][74] ([i915#2684]) +1 similar issue
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-iclb4/igt@i915_pm_rc6_residency@rc6-fence.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-iclb2/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@runner@aborted:
- shard-kbl: ([FAIL][75], [FAIL][76]) ([i915#2295] / [i915#2426] / [i915#2505]) -> [FAIL][77] ([i915#2295])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl4/igt@runner@aborted.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-kbl6/igt@runner@aborted.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-kbl2/igt@runner@aborted.html
- shard-skl: [FAIL][78] ([i915#2426]) -> ([FAIL][79], [FAIL][80]) ([i915#2295] / [i915#2426])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9604/shard-skl2/igt@runner@aborted.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl5/igt@runner@aborted.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/shard-skl2/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#111304]: https://bugs.freedesktop.org/show_bug.cgi?id=111304
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1610]: https://gitlab.freedesktop.org/drm/intel/issues/1610
[i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165
[i915#1699]: https://gitlab.freedesktop.org/drm/intel/issues/1699
[i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
[i915#1729]: https://gitlab.freedesktop.org/drm/intel/issues/1729
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
[i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2502]: https://gitlab.freedesktop.org/drm/intel/issues/2502
[i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505
[i915#2598]: https://gitlab.freedesktop.org/drm/intel/issues/2598
[i915#2628]: https://gitlab.freedesktop.org/drm/intel/issues/2628
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2667]: https://gitlab.freedesktop.org/drm/intel/issues/2667
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#2803]: https://gitlab.freedesktop.org/drm/intel/issues/2803
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
[i915#2880]: https://gitlab.freedesktop.org/drm/intel/issues/2880
[i915#2898]: https://gitlab.freedesktop.org/drm/intel/issues/2898
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#78]: https://gitlab.freedesktop.org/drm/intel/issues/78
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Build changes
-------------
* Linux: CI_DRM_9604 -> Patchwork_19346
CI-20190529: 20190529
CI_DRM_9604: 486ddc08f81c5bbdac49e52eaa4c94532d763fef @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5957: 2a2b3418f7458dfa1fac255cc5c71603f617690a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19346: e92930765a9fa2feca26fc068a7ef881b584372f @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19346/index.html
[-- Attachment #1.2: Type: text/html, Size: 24876 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable
2021-01-13 22:07 [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John.C.Harrison
2021-01-14 0:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2) Patchwork
2021-01-14 4:08 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-01-14 21:39 ` John Harrison
2021-01-20 10:35 ` Chris Wilson
2 siblings, 1 reply; 7+ messages in thread
From: John Harrison @ 2021-01-14 21:39 UTC (permalink / raw)
To: Intel-GFX
[-- Attachment #1.1: Type: text/plain, Size: 4817 bytes --]
On 1/13/2021 14:07, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
>
> There is a module parameter for controlling what GuC/HuC features are
> enabled. Setting to -1 means 'use the default'. However, the default
> was not well defined, out of date and needs to be different across
> platforms.
>
> The default is now to disable both GuC and HuC on legacy platforms
> where legacy means TGL/RKL and anything prior to Gen12. For new
> platforms, the default is to load HuC but not GuC as GuC submission
> has not yet landed.
Daniele pointed out that the above wording is somewhat inaccurate. GuC
is still loaded (in order to do HuC authentication). Better wording
would be:
The default is now to disable both GuC and HuC on legacy platforms
where legacy means TGL/RKL and anything prior to Gen12. For new
platforms, the default is to load HuC but not enable GuC submission
as that has not landed yet.
John.
> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_uc.c | 31 ++++++++++++++++++++----
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 7 +-----
> drivers/gpu/drm/i915/i915_params.h | 1 +
> 3 files changed, 28 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 6a0452815c41..6abb8f2dc33d 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -15,6 +15,29 @@
> static const struct intel_uc_ops uc_ops_off;
> static const struct intel_uc_ops uc_ops_on;
>
> +static void uc_expand_default_options(struct intel_uc *uc)
> +{
> + struct drm_i915_private *i915 = uc_to_gt(uc)->i915;
> +
> + if (i915->params.enable_guc != -1)
> + return;
> +
> + /* Don't enable GuC/HuC on pre-Gen12 */
> + if (INTEL_GEN(i915) < 12) {
> + i915->params.enable_guc = 0;
> + return;
> + }
> +
> + /* Don't enable GuC/HuC on older Gen12 platforms */
> + if (IS_TIGERLAKE(i915) || IS_ROCKETLAKE(i915)) {
> + i915->params.enable_guc = 0;
> + return;
> + }
> +
> + /* Default: enable HuC authentication only */
> + i915->params.enable_guc = ENABLE_GUC_LOAD_HUC;
> +}
> +
> /* Reset GuC providing us with fresh state for both GuC and HuC.
> */
> static int __intel_uc_reset_hw(struct intel_uc *uc)
> @@ -52,9 +75,6 @@ static void __confirm_options(struct intel_uc *uc)
> yesno(intel_uc_wants_guc_submission(uc)),
> yesno(intel_uc_wants_huc(uc)));
>
> - if (i915->params.enable_guc == -1)
> - return;
> -
> if (i915->params.enable_guc == 0) {
> GEM_BUG_ON(intel_uc_wants_guc(uc));
> GEM_BUG_ON(intel_uc_wants_guc_submission(uc));
> @@ -79,8 +99,7 @@ static void __confirm_options(struct intel_uc *uc)
> "Incompatible option enable_guc=%d - %s\n",
> i915->params.enable_guc, "GuC submission is N/A");
>
> - if (i915->params.enable_guc & ~(ENABLE_GUC_SUBMISSION |
> - ENABLE_GUC_LOAD_HUC))
> + if (i915->params.enable_guc & ~ENABLE_GUC_MASK)
> drm_info(&i915->drm,
> "Incompatible option enable_guc=%d - %s\n",
> i915->params.enable_guc, "undocumented flag");
> @@ -88,6 +107,8 @@ static void __confirm_options(struct intel_uc *uc)
>
> void intel_uc_init_early(struct intel_uc *uc)
> {
> + uc_expand_default_options(uc);
> +
> intel_guc_init_early(&uc->guc);
> intel_huc_init_early(&uc->huc);
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> index 602f1a0bc587..67b06fde1225 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> @@ -152,16 +152,11 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
> uc_fw->path = NULL;
> }
> }
> -
> - /* We don't want to enable GuC/HuC on pre-Gen11 by default */
> - if (i915->params.enable_guc == -1 && p < INTEL_ICELAKE)
> - uc_fw->path = NULL;
> }
>
> static const char *__override_guc_firmware_path(struct drm_i915_private *i915)
> {
> - if (i915->params.enable_guc & (ENABLE_GUC_SUBMISSION |
> - ENABLE_GUC_LOAD_HUC))
> + if (i915->params.enable_guc & ENABLE_GUC_MASK)
> return i915->params.guc_firmware_path;
> return "";
> }
> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> index 330c03e2b4f7..f031966af5b7 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -32,6 +32,7 @@ struct drm_printer;
>
> #define ENABLE_GUC_SUBMISSION BIT(0)
> #define ENABLE_GUC_LOAD_HUC BIT(1)
> +#define ENABLE_GUC_MASK GENMASK(1, 0)
>
> /*
> * Invoke param, a function-like macro, for each i915 param, with arguments:
[-- Attachment #1.2: Type: text/html, Size: 5560 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable
2021-01-14 21:39 ` [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John Harrison
@ 2021-01-20 10:35 ` Chris Wilson
0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2021-01-20 10:35 UTC (permalink / raw)
To: Intel-GFX, John Harrison
Quoting John Harrison (2021-01-14 21:39:42)
> On 1/13/2021 14:07, John.C.Harrison@Intel.com wrote:
>
> From: John Harrison <John.C.Harrison@Intel.com>
>
> There is a module parameter for controlling what GuC/HuC features are
> enabled. Setting to -1 means 'use the default'. However, the default
> was not well defined, out of date and needs to be different across
> platforms.
>
> The default is now to disable both GuC and HuC on legacy platforms
> where legacy means TGL/RKL and anything prior to Gen12. For new
> platforms, the default is to load HuC but not GuC as GuC submission
> has not yet landed.
>
> Daniele pointed out that the above wording is somewhat inaccurate. GuC is still
> loaded (in order to do HuC authentication). Better wording would be:
>
> The default is now to disable both GuC and HuC on legacy platforms
> where legacy means TGL/RKL and anything prior to Gen12. For new
> platforms, the default is to load HuC but not enable GuC submission
> as that has not landed yet.
I did not observe any changes in default behaviour across CI, so pushed
with the amended text.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable
@ 2021-01-05 21:13 John.C.Harrison
2021-01-08 0:51 ` Daniele Ceraolo Spurio
0 siblings, 1 reply; 7+ messages in thread
From: John.C.Harrison @ 2021-01-05 21:13 UTC (permalink / raw)
To: Intel-GFX
From: John Harrison <John.C.Harrison@Intel.com>
There is a module parameter for controlling what GuC/HuC features are
enabled. Setting to -1 means 'use the default'. However, the default
is not well defined, out of date and needs to be different across
platforms.
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
CC: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 28 ++++++++++++++++++++++--
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 7 +-----
drivers/gpu/drm/i915/i915_params.h | 1 +
3 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 6a0452815c41..2c08db58cf12 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -15,6 +15,29 @@
static const struct intel_uc_ops uc_ops_off;
static const struct intel_uc_ops uc_ops_on;
+static void uc_expand_default_options(struct intel_uc *uc)
+{
+ struct drm_i915_private *i915 = uc_to_gt(uc)->i915;
+
+ if (i915->params.enable_guc != -1)
+ return;
+
+ /* Don't enable GuC/HuC on pre-Gen12 */
+ if (INTEL_GEN(i915) < 12) {
+ i915->params.enable_guc = 0;
+ return;
+ }
+
+ /* Don't enable GuC/HuC on older Gen12 platforms */
+ if (IS_TIGERLAKE(i915) || IS_ROCKETLAKE(i915)) {
+ i915->params.enable_guc = 0;
+ return;
+ }
+
+ /* Default: enable HuC authentication only */
+ i915->params.enable_guc = ENABLE_GUC_LOAD_HUC;
+}
+
/* Reset GuC providing us with fresh state for both GuC and HuC.
*/
static int __intel_uc_reset_hw(struct intel_uc *uc)
@@ -79,8 +102,7 @@ static void __confirm_options(struct intel_uc *uc)
"Incompatible option enable_guc=%d - %s\n",
i915->params.enable_guc, "GuC submission is N/A");
- if (i915->params.enable_guc & ~(ENABLE_GUC_SUBMISSION |
- ENABLE_GUC_LOAD_HUC))
+ if (i915->params.enable_guc & ~ENABLE_GUC_MASK)
drm_info(&i915->drm,
"Incompatible option enable_guc=%d - %s\n",
i915->params.enable_guc, "undocumented flag");
@@ -88,6 +110,8 @@ static void __confirm_options(struct intel_uc *uc)
void intel_uc_init_early(struct intel_uc *uc)
{
+ uc_expand_default_options(uc);
+
intel_guc_init_early(&uc->guc);
intel_huc_init_early(&uc->huc);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index 602f1a0bc587..67b06fde1225 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -152,16 +152,11 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
uc_fw->path = NULL;
}
}
-
- /* We don't want to enable GuC/HuC on pre-Gen11 by default */
- if (i915->params.enable_guc == -1 && p < INTEL_ICELAKE)
- uc_fw->path = NULL;
}
static const char *__override_guc_firmware_path(struct drm_i915_private *i915)
{
- if (i915->params.enable_guc & (ENABLE_GUC_SUBMISSION |
- ENABLE_GUC_LOAD_HUC))
+ if (i915->params.enable_guc & ENABLE_GUC_MASK)
return i915->params.guc_firmware_path;
return "";
}
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 330c03e2b4f7..f031966af5b7 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -32,6 +32,7 @@ struct drm_printer;
#define ENABLE_GUC_SUBMISSION BIT(0)
#define ENABLE_GUC_LOAD_HUC BIT(1)
+#define ENABLE_GUC_MASK GENMASK(1, 0)
/*
* Invoke param, a function-like macro, for each i915 param, with arguments:
--
2.25.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable
2021-01-05 21:13 John.C.Harrison
@ 2021-01-08 0:51 ` Daniele Ceraolo Spurio
0 siblings, 0 replies; 7+ messages in thread
From: Daniele Ceraolo Spurio @ 2021-01-08 0:51 UTC (permalink / raw)
To: John.C.Harrison, Intel-GFX
On 1/5/2021 1:13 PM, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
>
> There is a module parameter for controlling what GuC/HuC features are
> enabled. Setting to -1 means 'use the default'. However, the default
> is not well defined, out of date and needs to be different across
> platforms.
I believe this needs a bit more detail about the change in behavior. -1
used to map to HuC loading on all gen11+ platforms, while after this
change it will map to disabled on all current platforms and HuC loading
on dg1 and all future platforms.
> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
> CC: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_uc.c | 28 ++++++++++++++++++++++--
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 7 +-----
> drivers/gpu/drm/i915/i915_params.h | 1 +
> 3 files changed, 28 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 6a0452815c41..2c08db58cf12 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -15,6 +15,29 @@
> static const struct intel_uc_ops uc_ops_off;
> static const struct intel_uc_ops uc_ops_on;
>
> +static void uc_expand_default_options(struct intel_uc *uc)
> +{
> + struct drm_i915_private *i915 = uc_to_gt(uc)->i915;
> +
> + if (i915->params.enable_guc != -1)
> + return;
> +
> + /* Don't enable GuC/HuC on pre-Gen12 */
> + if (INTEL_GEN(i915) < 12) {
> + i915->params.enable_guc = 0;
> + return;
> + }
> +
> + /* Don't enable GuC/HuC on older Gen12 platforms */
> + if (IS_TIGERLAKE(i915) || IS_ROCKETLAKE(i915)) {
> + i915->params.enable_guc = 0;
> + return;
> + }
> +
> + /* Default: enable HuC authentication only */
> + i915->params.enable_guc = ENABLE_GUC_LOAD_HUC;
> +}
> +
> /* Reset GuC providing us with fresh state for both GuC and HuC.
> */
> static int __intel_uc_reset_hw(struct intel_uc *uc)
> @@ -79,8 +102,7 @@ static void __confirm_options(struct intel_uc *uc)
> "Incompatible option enable_guc=%d - %s\n",
> i915->params.enable_guc, "GuC submission is N/A");
>
> - if (i915->params.enable_guc & ~(ENABLE_GUC_SUBMISSION |
> - ENABLE_GUC_LOAD_HUC))
> + if (i915->params.enable_guc & ~ENABLE_GUC_MASK)
> drm_info(&i915->drm,
> "Incompatible option enable_guc=%d - %s\n",
> i915->params.enable_guc, "undocumented flag");
> @@ -88,6 +110,8 @@ static void __confirm_options(struct intel_uc *uc)
>
> void intel_uc_init_early(struct intel_uc *uc)
> {
> + uc_expand_default_options(uc);
> +
> intel_guc_init_early(&uc->guc);
> intel_huc_init_early(&uc->huc);
here there is a call to __confirm_options() that has a check for
enable_guc == -1, which can be dropped since we can't reach here with
that value anymore.
with these addressed:
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Daniele
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> index 602f1a0bc587..67b06fde1225 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> @@ -152,16 +152,11 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
> uc_fw->path = NULL;
> }
> }
> -
> - /* We don't want to enable GuC/HuC on pre-Gen11 by default */
> - if (i915->params.enable_guc == -1 && p < INTEL_ICELAKE)
> - uc_fw->path = NULL;
> }
>
> static const char *__override_guc_firmware_path(struct drm_i915_private *i915)
> {
> - if (i915->params.enable_guc & (ENABLE_GUC_SUBMISSION |
> - ENABLE_GUC_LOAD_HUC))
> + if (i915->params.enable_guc & ENABLE_GUC_MASK)
> return i915->params.guc_firmware_path;
> return "";
> }
> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> index 330c03e2b4f7..f031966af5b7 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -32,6 +32,7 @@ struct drm_printer;
>
> #define ENABLE_GUC_SUBMISSION BIT(0)
> #define ENABLE_GUC_LOAD_HUC BIT(1)
> +#define ENABLE_GUC_MASK GENMASK(1, 0)
>
> /*
> * Invoke param, a function-like macro, for each i915 param, with arguments:
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-01-20 10:35 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-13 22:07 [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John.C.Harrison
2021-01-14 0:20 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/uc: Add function to define defaults for GuC/HuC enable (rev2) Patchwork
2021-01-14 4:08 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-01-14 21:39 ` [Intel-gfx] [PATCH] drm/i915/uc: Add function to define defaults for GuC/HuC enable John Harrison
2021-01-20 10:35 ` Chris Wilson
-- strict thread matches above, loose matches on Subject: below --
2021-01-05 21:13 John.C.Harrison
2021-01-08 0:51 ` Daniele Ceraolo Spurio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox