* [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
@ 2023-06-15 21:19 Alan Previn
2023-06-16 2:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Alan Previn @ 2023-06-15 21:19 UTC (permalink / raw)
To: intel-gfx; +Cc: dri-devel, Alan Previn
intel_gsc_uc_fw_proxy_init_done is used by a few code paths
and usages. However, certain paths need a wakeref while others
can't take a wakeref such as from the runtime_pm_resume callstack.
Add a param into this helper to allow callers to direct whether
to take the wakeref or not. This resolves the following bug:
INFO: task sh:2607 blocked for more than 61 seconds.
Not tainted 6.3.0-pxp-gsc-final-jun14+ #297
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:sh state:D stack:13016 pid:2607 ppid:2602 flags:0x00004000
Call Trace:
<TASK>
__schedule+0x47b/0xe10
schedule+0x58/0xd0
rpm_resume+0x1cc/0x800
? __pfx_autoremove_wake_function+0x10/0x10
__pm_runtime_resume+0x42/0x80
__intel_runtime_pm_get+0x19/0x80 [i915]
gsc_uc_get_fw_status+0x10/0x50 [i915]
intel_gsc_uc_fw_init_done+0x9/0x20 [i915]
intel_gsc_uc_load_start+0x5b/0x130 [i915]
__uc_resume+0xa5/0x280 [i915]
intel_runtime_resume+0xd4/0x250 [i915]
? __pfx_pci_pm_runtime_resume+0x10/0x10
__rpm_callback+0x3c/0x160
Fixes: 8c33c3755b75 ("drm/i915/gsc: take a wakeref for the proxy-init-completion check")
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
---
drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 17 +++++++++++------
drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h | 2 +-
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 2 +-
drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c | 2 +-
4 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
index 856de9af1e3a..ab1a456f833d 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
@@ -22,27 +22,32 @@ static bool gsc_is_in_reset(struct intel_uncore *uncore)
HECI1_FWSTS1_CURRENT_STATE_RESET;
}
-static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore)
+static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore, bool needs_wakeref)
{
intel_wakeref_t wakeref;
u32 fw_status = 0;
- with_intel_runtime_pm(uncore->rpm, wakeref)
- fw_status = intel_uncore_read(uncore, HECI_FWSTS(MTL_GSC_HECI1_BASE, 1));
+ if (needs_wakeref)
+ wakeref = intel_runtime_pm_get(uncore->rpm);
+ fw_status = intel_uncore_read(uncore, HECI_FWSTS(MTL_GSC_HECI1_BASE, 1));
+
+ if (needs_wakeref)
+ intel_runtime_pm_put(uncore->rpm, wakeref);
return fw_status;
}
-bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc)
+bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref)
{
return REG_FIELD_GET(HECI1_FWSTS1_CURRENT_STATE,
- gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore)) ==
+ gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore,
+ needs_wakeref)) ==
HECI1_FWSTS1_PROXY_STATE_NORMAL;
}
bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc)
{
- return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore) &
+ return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, false) &
HECI1_FWSTS1_INIT_COMPLETE;
}
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
index 8d7b9e4f1ffc..ad2167ce9137 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
+++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
@@ -15,6 +15,6 @@ struct intel_uncore;
int intel_gsc_fw_get_binary_info(struct intel_uc_fw *gsc_fw, const void *data, size_t size);
int intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc);
bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc);
-bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc);
+bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref);
#endif
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
index 85d90f0a15e3..75a3a0790ef3 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
@@ -72,7 +72,7 @@ static void gsc_work(struct work_struct *work)
* complete the request handling cleanly, so we need to check the
* status register to check if the proxy init was actually successful
*/
- if (intel_gsc_uc_fw_proxy_init_done(gsc)) {
+ if (intel_gsc_uc_fw_proxy_init_done(gsc, false)) {
drm_dbg(>->i915->drm, "GSC Proxy initialized\n");
intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_RUNNING);
} else {
diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
index f13890ec7db1..c7df47364013 100644
--- a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
+++ b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
@@ -197,7 +197,7 @@ bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp)
* are out of order) will suffice.
*/
if (intel_huc_is_authenticated(&pxp->ctrl_gt->uc.huc, INTEL_HUC_AUTH_BY_GSC) &&
- intel_gsc_uc_fw_proxy_init_done(&pxp->ctrl_gt->uc.gsc))
+ intel_gsc_uc_fw_proxy_init_done(&pxp->ctrl_gt->uc.gsc, true))
return true;
return false;
base-commit: 134d180cacae82fadbc5ee32f86014cc290f5e0c
--
2.39.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
2023-06-15 21:19 [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs Alan Previn
@ 2023-06-16 2:43 ` Patchwork
2023-06-16 2:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-06-16 2:43 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
URL : https://patchwork.freedesktop.org/series/119412/
State : warning
== Summary ==
Error: dim checkpatch failed
2bd0cd46532e drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
-:16: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#16:
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
total: 0 errors, 1 warnings, 0 checks, 61 lines checked
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
2023-06-15 21:19 [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs Alan Previn
2023-06-16 2:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2023-06-16 2:55 ` Patchwork
2023-06-16 8:49 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-06-16 15:54 ` [Intel-gfx] [PATCH v1] " Ceraolo Spurio, Daniele
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-06-16 2:55 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 11263 bytes --]
== Series Details ==
Series: drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
URL : https://patchwork.freedesktop.org/series/119412/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13277 -> Patchwork_119412v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/index.html
Participating hosts (41 -> 40)
------------------------------
Additional (1): bat-rpls-2
Missing (2): fi-kbl-soraka fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_119412v1 that come from known issues:
### CI changes ###
#### Possible fixes ####
* boot:
- fi-elk-e7500: [FAIL][1] ([i915#8293]) -> [PASS][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/fi-elk-e7500/boot.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/fi-elk-e7500/boot.html
### IGT changes ###
#### Issues hit ####
* igt@debugfs_test@basic-hwmon:
- bat-rpls-2: NOTRUN -> [SKIP][3] ([i915#7456])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@debugfs_test@basic-hwmon.html
* igt@fbdev@read:
- bat-rpls-2: NOTRUN -> [SKIP][4] ([i915#2582]) +4 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@fbdev@read.html
* igt@gem_lmem_swapping@verify-random:
- bat-rpls-2: NOTRUN -> [SKIP][5] ([i915#4613]) +3 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@gem_lmem_swapping@verify-random.html
* igt@gem_tiled_pread_basic:
- bat-rpls-2: NOTRUN -> [SKIP][6] ([i915#3282])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@gem_tiled_pread_basic.html
* igt@i915_pm_backlight@basic-brightness:
- bat-rpls-2: NOTRUN -> [SKIP][7] ([i915#7561])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_pm_rps@basic-api:
- bat-rpls-2: NOTRUN -> [SKIP][8] ([i915#6621])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@gt_pm:
- bat-rpls-2: NOTRUN -> [DMESG-FAIL][9] ([i915#4258] / [i915#7913])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@requests:
- bat-mtlp-8: [PASS][10] -> [DMESG-FAIL][11] ([i915#7269])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-mtlp-8/igt@i915_selftest@live@requests.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-mtlp-8/igt@i915_selftest@live@requests.html
* igt@i915_selftest@live@reset:
- bat-rpls-1: [PASS][12] -> [ABORT][13] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-rpls-1/igt@i915_selftest@live@reset.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-1/igt@i915_selftest@live@reset.html
* igt@i915_selftest@live@slpc:
- bat-rpls-2: NOTRUN -> [DMESG-WARN][14] ([i915#6367])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@i915_selftest@live@slpc.html
- bat-mtlp-8: [PASS][15] -> [DMESG-WARN][16] ([i915#6367])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-mtlp-8/igt@i915_selftest@live@slpc.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-mtlp-8/igt@i915_selftest@live@slpc.html
* igt@i915_suspend@basic-s2idle-without-i915:
- bat-rpls-2: NOTRUN -> [ABORT][17] ([i915#6687] / [i915#8668])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@kms_busy@basic:
- bat-rpls-2: NOTRUN -> [SKIP][18] ([i915#1845]) +14 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_busy@basic.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- bat-rpls-2: NOTRUN -> [SKIP][19] ([i915#7828]) +7 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_flip@basic-flip-vs-dpms:
- bat-rpls-2: NOTRUN -> [SKIP][20] ([i915#3637]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-rpls-2: NOTRUN -> [SKIP][21] ([fdo#109285])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_frontbuffer_tracking@basic:
- bat-rpls-2: NOTRUN -> [SKIP][22] ([i915#1849])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_frontbuffer_tracking@basic.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1:
- bat-dg2-8: [PASS][23] -> [FAIL][24] ([i915#7932])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
* igt@kms_pipe_crc_basic@read-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][25] ([i915#1845] / [i915#5354])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-dg2-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
* igt@kms_psr@cursor_plane_move:
- fi-elk-e7500: NOTRUN -> [SKIP][26] ([fdo#109271]) +29 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/fi-elk-e7500/igt@kms_psr@cursor_plane_move.html
* igt@kms_psr@sprite_plane_onoff:
- bat-rpls-2: NOTRUN -> [SKIP][27] ([i915#1072]) +3 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_psr@sprite_plane_onoff.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-rpls-2: NOTRUN -> [SKIP][28] ([i915#3555] / [i915#4579])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html
- fi-elk-e7500: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#4579])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/fi-elk-e7500/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-flip:
- bat-rpls-2: NOTRUN -> [SKIP][30] ([fdo#109295] / [i915#1845] / [i915#3708])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-write:
- bat-rpls-2: NOTRUN -> [SKIP][31] ([fdo#109295] / [i915#3708]) +2 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rpls-2/igt@prime_vgem@basic-write.html
#### Possible fixes ####
* igt@i915_selftest@live@slpc:
- bat-mtlp-6: [DMESG-WARN][32] ([i915#6367]) -> [PASS][33]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-mtlp-6/igt@i915_selftest@live@slpc.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-mtlp-6/igt@i915_selftest@live@slpc.html
* igt@kms_flip@basic-flip-vs-dpms@d-dp1:
- bat-adlp-9: [FAIL][34] -> [PASS][35]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-adlp-9/igt@kms_flip@basic-flip-vs-dpms@d-dp1.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-adlp-9/igt@kms_flip@basic-flip-vs-dpms@d-dp1.html
#### Warnings ####
* igt@kms_setmode@basic-clone-single-crtc:
- bat-rplp-1: [SKIP][36] ([i915#3555] / [i915#4579]) -> [ABORT][37] ([i915#4579] / [i915#8260])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
[i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#8260]: https://gitlab.freedesktop.org/drm/intel/issues/8260
[i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384
[i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
Build changes
-------------
* Linux: CI_DRM_13277 -> Patchwork_119412v1
CI-20190529: 20190529
CI_DRM_13277: 0746134e3453e38027b217dba18f922fba7966cd @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7332: 2a25a6109e8af4b0a69a717cc8710dcafed4bb4c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_119412v1: 0746134e3453e38027b217dba18f922fba7966cd @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
a5e3fbf81800 drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/index.html
[-- Attachment #2: Type: text/html, Size: 13309 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
2023-06-15 21:19 [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs Alan Previn
2023-06-16 2:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2023-06-16 2:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-06-16 8:49 ` Patchwork
2023-06-16 15:54 ` [Intel-gfx] [PATCH v1] " Ceraolo Spurio, Daniele
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-06-16 8:49 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 16171 bytes --]
== Series Details ==
Series: drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
URL : https://patchwork.freedesktop.org/series/119412/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13277_full -> Patchwork_119412v1_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (7 -> 7)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in Patchwork_119412v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- shard-rkl: [PASS][1] -> [FAIL][2] ([i915#7742])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-6/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-1/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-tglu: [PASS][3] -> [FAIL][4] ([i915#6268])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-6/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_exec_fair@basic-none@vcs0:
- shard-rkl: [PASS][5] -> [FAIL][6] ([i915#2842])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-1/igt@gem_exec_fair@basic-none@vcs0.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-2/igt@gem_exec_fair@basic-none@vcs0.html
* igt@i915_pm_dc@dc6-dpms:
- shard-tglu: [PASS][7] -> [FAIL][8] ([i915#3989] / [i915#454])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-4/igt@i915_pm_dc@dc6-dpms.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-3/igt@i915_pm_dc@dc6-dpms.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1:
- shard-glk: [PASS][9] -> [FAIL][10] ([i915#2521])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-glk5/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-glk3/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-1.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs:
- shard-rkl: NOTRUN -> [SKIP][11] ([i915#8502]) +3 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-4/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs.html
* igt@kms_big_fb@linear-16bpp-rotate-0:
- shard-snb: [PASS][12] -> [SKIP][13] ([fdo#109271])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-snb4/igt@kms_big_fb@linear-16bpp-rotate-0.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-snb6/igt@kms_big_fb@linear-16bpp-rotate-0.html
* igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-rkl: [PASS][14] -> [FAIL][15] ([i915#3743])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [PASS][16] -> [FAIL][17] ([i915#2346])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@single-move@pipe-b:
- shard-rkl: [PASS][18] -> [INCOMPLETE][19] ([i915#8011])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-3/igt@kms_cursor_legacy@single-move@pipe-b.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-7/igt@kms_cursor_legacy@single-move@pipe-b.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [SKIP][20] ([fdo#109271])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-glk6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][21] ([i915#5176])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-4/igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-a-hdmi-a-2.html
* igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][22] ([i915#4579] / [i915#5176])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-4/igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-vga-1:
- shard-snb: NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#4579]) +2 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-snb2/igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-vga-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-1:
- shard-snb: NOTRUN -> [SKIP][24] ([fdo#109271]) +3 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-snb1/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-1.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
- shard-rkl: [PASS][25] -> [ABORT][26] ([i915#7461])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-1/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
#### Possible fixes ####
* igt@gem_barrier_race@remote-request@rcs0:
- {shard-dg1}: [ABORT][27] ([i915#7461] / [i915#8234]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-dg1-17/igt@gem_barrier_race@remote-request@rcs0.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-dg1-15/igt@gem_barrier_race@remote-request@rcs0.html
* igt@gem_eio@kms:
- {shard-dg1}: [FAIL][29] ([i915#5784]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-dg1-18/igt@gem_eio@kms.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-dg1-15/igt@gem_eio@kms.html
* igt@gem_exec_endless@dispatch@vcs1:
- shard-tglu: [TIMEOUT][31] ([i915#3778]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-10/igt@gem_exec_endless@dispatch@vcs1.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-8/igt@gem_exec_endless@dispatch@vcs1.html
* igt@gem_exec_fair@basic-deadline:
- shard-glk: [FAIL][33] ([i915#2846]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-glk8/igt@gem_exec_fair@basic-deadline.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-glk9/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none@bcs0:
- shard-rkl: [FAIL][35] ([i915#2842]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-1/igt@gem_exec_fair@basic-none@bcs0.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-2/igt@gem_exec_fair@basic-none@bcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglu: [FAIL][37] ([i915#2842]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-8/igt@gem_exec_fair@basic-pace-share@rcs0.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-5/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-glk: [FAIL][39] ([i915#2842]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-glk8/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-glk6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- {shard-dg1}: [TIMEOUT][41] ([i915#5493]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-dg1-14/igt@gem_lmem_swapping@smem-oom@lmem0.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-dg1-16/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@i915_pm_rpm@dpms-non-lpsp:
- shard-rkl: [SKIP][43] ([i915#1397]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-7/igt@i915_pm_rpm@dpms-non-lpsp.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-4/igt@i915_pm_rpm@dpms-non-lpsp.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-rkl: [FAIL][45] ([fdo#103375]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-3/igt@i915_suspend@basic-s3-without-i915.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-4/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-tglu: [FAIL][47] ([i915#3743]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-9/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
- {shard-dg1}: [FAIL][49] ([i915#3743] / [i915#7959]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-dg1-19/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-dg1-19/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-apl: [FAIL][51] ([i915#2346]) -> [PASS][52] +1 similar issue
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
- shard-glk: [FAIL][53] ([i915#2346]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1:
- shard-apl: [FAIL][55] ([i915#79]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-apl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-apl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1.html
#### Warnings ####
* igt@i915_pm_rc6_residency@rc6-idle@rcs0:
- shard-tglu: [FAIL][57] ([i915#2681] / [i915#3591]) -> [WARN][58] ([i915#2681])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
* igt@i915_pm_rc6_residency@rc6-idle@vcs0:
- shard-tglu: [WARN][59] ([i915#2681]) -> [FAIL][60] ([i915#2681] / [i915#3591])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][61] ([i915#4070] / [i915#4816]) -> [SKIP][62] ([i915#4816])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13277/shard-rkl-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119412v1/shard-rkl-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
[i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7959]: https://gitlab.freedesktop.org/drm/intel/issues/7959
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
[i915#8304]: https://gitlab.freedesktop.org/drm/intel/issues/8304
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
Build changes
-------------
* Linux: CI_DRM_13277 -> Patchwork_119412v1
CI-20190529: 20190529
CI_DRM_13277: 0746134e3453e38027b217dba18f922fba7966cd @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7332: 2a25a6109e8af4b0a69a717cc8710dcafed4bb4c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_119412v1: 0746134e3453e38027b217dba18f922fba7966cd @ 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_119412v1/index.html
[-- Attachment #2: Type: text/html, Size: 18270 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
2023-06-15 21:19 [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs Alan Previn
` (2 preceding siblings ...)
2023-06-16 8:49 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2023-06-16 15:54 ` Ceraolo Spurio, Daniele
2023-06-20 18:05 ` Ceraolo Spurio, Daniele
3 siblings, 1 reply; 6+ messages in thread
From: Ceraolo Spurio, Daniele @ 2023-06-16 15:54 UTC (permalink / raw)
To: Alan Previn, intel-gfx; +Cc: dri-devel
On 6/15/2023 2:19 PM, Alan Previn wrote:
> intel_gsc_uc_fw_proxy_init_done is used by a few code paths
> and usages. However, certain paths need a wakeref while others
> can't take a wakeref such as from the runtime_pm_resume callstack.
>
> Add a param into this helper to allow callers to direct whether
> to take the wakeref or not. This resolves the following bug:
>
> INFO: task sh:2607 blocked for more than 61 seconds.
> Not tainted 6.3.0-pxp-gsc-final-jun14+ #297
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> task:sh state:D stack:13016 pid:2607 ppid:2602 flags:0x00004000
> Call Trace:
> <TASK>
> __schedule+0x47b/0xe10
> schedule+0x58/0xd0
> rpm_resume+0x1cc/0x800
> ? __pfx_autoremove_wake_function+0x10/0x10
> __pm_runtime_resume+0x42/0x80
> __intel_runtime_pm_get+0x19/0x80 [i915]
> gsc_uc_get_fw_status+0x10/0x50 [i915]
> intel_gsc_uc_fw_init_done+0x9/0x20 [i915]
> intel_gsc_uc_load_start+0x5b/0x130 [i915]
> __uc_resume+0xa5/0x280 [i915]
> intel_runtime_resume+0xd4/0x250 [i915]
> ? __pfx_pci_pm_runtime_resume+0x10/0x10
> __rpm_callback+0x3c/0x160
>
> Fixes: 8c33c3755b75 ("drm/i915/gsc: take a wakeref for the proxy-init-completion check")
> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
I'm going to send a trybot of this patch with the FW definition patch,
just to make sure there aren't any other issues that kick in once the FW
is defined and the code starts being executed, and merge if the results
are ok.
Daniele
> ---
> drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 17 +++++++++++------
> drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h | 2 +-
> drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 2 +-
> drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c | 2 +-
> 4 files changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
> index 856de9af1e3a..ab1a456f833d 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
> @@ -22,27 +22,32 @@ static bool gsc_is_in_reset(struct intel_uncore *uncore)
> HECI1_FWSTS1_CURRENT_STATE_RESET;
> }
>
> -static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore)
> +static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore, bool needs_wakeref)
> {
> intel_wakeref_t wakeref;
> u32 fw_status = 0;
>
> - with_intel_runtime_pm(uncore->rpm, wakeref)
> - fw_status = intel_uncore_read(uncore, HECI_FWSTS(MTL_GSC_HECI1_BASE, 1));
> + if (needs_wakeref)
> + wakeref = intel_runtime_pm_get(uncore->rpm);
>
> + fw_status = intel_uncore_read(uncore, HECI_FWSTS(MTL_GSC_HECI1_BASE, 1));
> +
> + if (needs_wakeref)
> + intel_runtime_pm_put(uncore->rpm, wakeref);
> return fw_status;
> }
>
> -bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc)
> +bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref)
> {
> return REG_FIELD_GET(HECI1_FWSTS1_CURRENT_STATE,
> - gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore)) ==
> + gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore,
> + needs_wakeref)) ==
> HECI1_FWSTS1_PROXY_STATE_NORMAL;
> }
>
> bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc)
> {
> - return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore) &
> + return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, false) &
> HECI1_FWSTS1_INIT_COMPLETE;
> }
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
> index 8d7b9e4f1ffc..ad2167ce9137 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
> @@ -15,6 +15,6 @@ struct intel_uncore;
> int intel_gsc_fw_get_binary_info(struct intel_uc_fw *gsc_fw, const void *data, size_t size);
> int intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc);
> bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc);
> -bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc);
> +bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref);
>
> #endif
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
> index 85d90f0a15e3..75a3a0790ef3 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
> @@ -72,7 +72,7 @@ static void gsc_work(struct work_struct *work)
> * complete the request handling cleanly, so we need to check the
> * status register to check if the proxy init was actually successful
> */
> - if (intel_gsc_uc_fw_proxy_init_done(gsc)) {
> + if (intel_gsc_uc_fw_proxy_init_done(gsc, false)) {
> drm_dbg(>->i915->drm, "GSC Proxy initialized\n");
> intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_RUNNING);
> } else {
> diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
> index f13890ec7db1..c7df47364013 100644
> --- a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
> +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
> @@ -197,7 +197,7 @@ bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp)
> * are out of order) will suffice.
> */
> if (intel_huc_is_authenticated(&pxp->ctrl_gt->uc.huc, INTEL_HUC_AUTH_BY_GSC) &&
> - intel_gsc_uc_fw_proxy_init_done(&pxp->ctrl_gt->uc.gsc))
> + intel_gsc_uc_fw_proxy_init_done(&pxp->ctrl_gt->uc.gsc, true))
> return true;
>
> return false;
>
> base-commit: 134d180cacae82fadbc5ee32f86014cc290f5e0c
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs
2023-06-16 15:54 ` [Intel-gfx] [PATCH v1] " Ceraolo Spurio, Daniele
@ 2023-06-20 18:05 ` Ceraolo Spurio, Daniele
0 siblings, 0 replies; 6+ messages in thread
From: Ceraolo Spurio, Daniele @ 2023-06-20 18:05 UTC (permalink / raw)
To: Alan Previn, intel-gfx; +Cc: dri-devel
On 6/16/2023 8:54 AM, Ceraolo Spurio, Daniele wrote:
>
>
> On 6/15/2023 2:19 PM, Alan Previn wrote:
>> intel_gsc_uc_fw_proxy_init_done is used by a few code paths
>> and usages. However, certain paths need a wakeref while others
>> can't take a wakeref such as from the runtime_pm_resume callstack.
>>
>> Add a param into this helper to allow callers to direct whether
>> to take the wakeref or not. This resolves the following bug:
>>
>> INFO: task sh:2607 blocked for more than 61 seconds.
>> Not tainted 6.3.0-pxp-gsc-final-jun14+ #297
>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
>> message.
>> task:sh state:D stack:13016 pid:2607 ppid:2602
>> flags:0x00004000
>> Call Trace:
>> <TASK>
>> __schedule+0x47b/0xe10
>> schedule+0x58/0xd0
>> rpm_resume+0x1cc/0x800
>> ? __pfx_autoremove_wake_function+0x10/0x10
>> __pm_runtime_resume+0x42/0x80
>> __intel_runtime_pm_get+0x19/0x80 [i915]
>> gsc_uc_get_fw_status+0x10/0x50 [i915]
>> intel_gsc_uc_fw_init_done+0x9/0x20 [i915]
>> intel_gsc_uc_load_start+0x5b/0x130 [i915]
>> __uc_resume+0xa5/0x280 [i915]
>> intel_runtime_resume+0xd4/0x250 [i915]
>> ? __pfx_pci_pm_runtime_resume+0x10/0x10
>> __rpm_callback+0x3c/0x160
>>
>> Fixes: 8c33c3755b75 ("drm/i915/gsc: take a wakeref for the
>> proxy-init-completion check")
>> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
>
> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>
> I'm going to send a trybot of this patch with the FW definition patch,
> just to make sure there aren't any other issues that kick in once the
> FW is defined and the code starts being executed, and merge if the
> results are ok.
Trybot came back green
(https://patchwork.freedesktop.org/series/119471/), so pushed.
Daniele
>
> Daniele
>
>> ---
>> drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 17 +++++++++++------
>> drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h | 2 +-
>> drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 2 +-
>> drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c | 2 +-
>> 4 files changed, 14 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
>> b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
>> index 856de9af1e3a..ab1a456f833d 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
>> @@ -22,27 +22,32 @@ static bool gsc_is_in_reset(struct intel_uncore
>> *uncore)
>> HECI1_FWSTS1_CURRENT_STATE_RESET;
>> }
>> -static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore)
>> +static u32 gsc_uc_get_fw_status(struct intel_uncore *uncore, bool
>> needs_wakeref)
>> {
>> intel_wakeref_t wakeref;
>> u32 fw_status = 0;
>> - with_intel_runtime_pm(uncore->rpm, wakeref)
>> - fw_status = intel_uncore_read(uncore,
>> HECI_FWSTS(MTL_GSC_HECI1_BASE, 1));
>> + if (needs_wakeref)
>> + wakeref = intel_runtime_pm_get(uncore->rpm);
>> + fw_status = intel_uncore_read(uncore,
>> HECI_FWSTS(MTL_GSC_HECI1_BASE, 1));
>> +
>> + if (needs_wakeref)
>> + intel_runtime_pm_put(uncore->rpm, wakeref);
>> return fw_status;
>> }
>> -bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc)
>> +bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool
>> needs_wakeref)
>> {
>> return REG_FIELD_GET(HECI1_FWSTS1_CURRENT_STATE,
>> - gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore)) ==
>> + gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore,
>> + needs_wakeref)) ==
>> HECI1_FWSTS1_PROXY_STATE_NORMAL;
>> }
>> bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc)
>> {
>> - return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore) &
>> + return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, false) &
>> HECI1_FWSTS1_INIT_COMPLETE;
>> }
>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
>> b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
>> index 8d7b9e4f1ffc..ad2167ce9137 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
>> @@ -15,6 +15,6 @@ struct intel_uncore;
>> int intel_gsc_fw_get_binary_info(struct intel_uc_fw *gsc_fw, const
>> void *data, size_t size);
>> int intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc);
>> bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc);
>> -bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc);
>> +bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool
>> needs_wakeref);
>> #endif
>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
>> b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
>> index 85d90f0a15e3..75a3a0790ef3 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
>> @@ -72,7 +72,7 @@ static void gsc_work(struct work_struct *work)
>> * complete the request handling cleanly, so we need to
>> check the
>> * status register to check if the proxy init was
>> actually successful
>> */
>> - if (intel_gsc_uc_fw_proxy_init_done(gsc)) {
>> + if (intel_gsc_uc_fw_proxy_init_done(gsc, false)) {
>> drm_dbg(>->i915->drm, "GSC Proxy initialized\n");
>> intel_uc_fw_change_status(&gsc->fw,
>> INTEL_UC_FIRMWARE_RUNNING);
>> } else {
>> diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
>> b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
>> index f13890ec7db1..c7df47364013 100644
>> --- a/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
>> +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c
>> @@ -197,7 +197,7 @@ bool intel_pxp_gsccs_is_ready_for_sessions(struct
>> intel_pxp *pxp)
>> * are out of order) will suffice.
>> */
>> if (intel_huc_is_authenticated(&pxp->ctrl_gt->uc.huc,
>> INTEL_HUC_AUTH_BY_GSC) &&
>> - intel_gsc_uc_fw_proxy_init_done(&pxp->ctrl_gt->uc.gsc))
>> + intel_gsc_uc_fw_proxy_init_done(&pxp->ctrl_gt->uc.gsc, true))
>> return true;
>> return false;
>>
>> base-commit: 134d180cacae82fadbc5ee32f86014cc290f5e0c
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-06-20 18:05 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-15 21:19 [Intel-gfx] [PATCH v1] drm/i915/gsc: Fix intel_gsc_uc_fw_proxy_init_done with directed wakerefs Alan Previn
2023-06-16 2:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2023-06-16 2:55 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-16 8:49 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-06-16 15:54 ` [Intel-gfx] [PATCH v1] " Ceraolo Spurio, Daniele
2023-06-20 18:05 ` Ceraolo Spurio, Daniele
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox