* [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL
@ 2023-05-16 13:36 Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 2/3] drm/i915/gt: do not enable render and media power-gating on RPL-S Andrzej Hajda
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Andrzej Hajda @ 2023-05-16 13:36 UTC (permalink / raw)
To: intel-gfx; +Cc: Andrzej Hajda
Multiple CI tests fails if render power gatins is enabled,
with forcewake ack timeouts.
BSpec 52698 clearly states it should be 0.
References: https://gitlab.freedesktop.org/drm/intel/-/issues/4983
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
Let's see if disabling render pg is enough.
---
drivers/gpu/drm/i915/gt/intel_rc6.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
index 908a3d0f2343f4..0819576ffeb5df 100644
--- a/drivers/gpu/drm/i915/gt/intel_rc6.c
+++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
@@ -117,9 +117,12 @@ static void gen11_rc6_enable(struct intel_rc6 *rc6)
GEN6_RC_CTL_RC6_ENABLE |
GEN6_RC_CTL_EI_MODE(1);
+ /* BSpec: 52698, GEN9_RENDER_PG_ENABLE must be 0 for MTL */
+ if (IS_METEORLAKE(gt->i915))
+ pg_enable = GEN9_MEDIA_PG_ENABLE;
/* Wa_16011777198 - Render powergating must remain disabled */
- if (IS_DG2_GRAPHICS_STEP(gt->i915, G10, STEP_A0, STEP_C0) ||
- IS_DG2_GRAPHICS_STEP(gt->i915, G11, STEP_A0, STEP_B0))
+ else if (IS_DG2_GRAPHICS_STEP(gt->i915, G10, STEP_A0, STEP_C0) ||
+ IS_DG2_GRAPHICS_STEP(gt->i915, G11, STEP_A0, STEP_B0))
pg_enable =
GEN9_MEDIA_PG_ENABLE |
GEN11_MEDIA_SAMPLER_PG_ENABLE;
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Intel-gfx] [CI DO_NOT_MERGE 2/3] drm/i915/gt: do not enable render and media power-gating on RPL-S
2023-05-16 13:36 [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL Andrzej Hajda
@ 2023-05-16 13:36 ` Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests Andrzej Hajda
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Andrzej Hajda @ 2023-05-16 13:36 UTC (permalink / raw)
To: intel-gfx; +Cc: Andrzej Hajda
Multiple CI tests fails with forcewake timeouts. Disabling power
gating for render and media solves the issue.
References: https://gitlab.freedesktop.org/drm/intel/-/issues/4983
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
drivers/gpu/drm/i915/gt/intel_rc6.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
index 0819576ffeb5df..c405b209e47922 100644
--- a/drivers/gpu/drm/i915/gt/intel_rc6.c
+++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
@@ -126,6 +126,9 @@ static void gen11_rc6_enable(struct intel_rc6 *rc6)
pg_enable =
GEN9_MEDIA_PG_ENABLE |
GEN11_MEDIA_SAMPLER_PG_ENABLE;
+ /* Testing */
+ else if (IS_ADLS_RPLS(gt->i915))
+ pg_enable = 0;
else
pg_enable =
GEN9_RENDER_PG_ENABLE |
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests
2023-05-16 13:36 [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 2/3] drm/i915/gt: do not enable render and media power-gating on RPL-S Andrzej Hajda
@ 2023-05-16 13:36 ` Andrzej Hajda
2023-05-16 21:14 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL Patchwork
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Andrzej Hajda @ 2023-05-16 13:36 UTC (permalink / raw)
To: intel-gfx; +Cc: Andrzej Hajda
The test examines if running spinners do not interfere with forcewake.
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
drivers/gpu/drm/i915/selftests/intel_uncore.c | 85 +++++++++++++++++++
1 file changed, 85 insertions(+)
diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
index e4281508d5808b..0ce8a5c5ee0064 100644
--- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
+++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
@@ -22,7 +22,10 @@
*
*/
+#include <i915_gpu_error.h>
+#include <gt/intel_gpu_commands.h>
#include "../i915_selftest.h"
+#include <selftests/igt_spinner.h>
static int intel_fw_table_check(const struct intel_forcewake_range *ranges,
unsigned int num_ranges,
@@ -342,12 +345,94 @@ static int live_fw_table(void *arg)
GRAPHICS_VER(gt->i915) >= 9);
}
+static int live_forcewake_with_spinners(void *arg)
+{
+ struct intel_gt *gt = arg;
+ struct intel_uncore_forcewake_domain *domain;
+ struct intel_engine_cs *engine;
+ enum intel_engine_id id;
+ intel_wakeref_t wakeref;
+ struct igt_spinner spin;
+ unsigned int tmp;
+ int err;
+
+ wakeref = intel_runtime_pm_get(gt->uncore->rpm);
+
+ err = igt_spinner_init(&spin, gt);
+ if (err)
+ goto err_rpm;
+
+ for_each_engine(engine, gt, id) {
+ struct intel_context *ce;
+ struct i915_request *rq;
+
+ if (!intel_engine_can_store_dword(engine))
+ continue;
+
+ pr_info("%s: Spinning %s\n", __func__, engine->name);
+
+ ce = intel_context_create(engine);
+ if (IS_ERR(ce)) {
+ err = PTR_ERR(ce);
+ goto err_spin;
+ }
+ rq = igt_spinner_create_request(&spin, ce, MI_ARB_CHECK);
+ intel_context_put(ce);
+ if (IS_ERR(rq)) {
+ err = PTR_ERR(rq);
+ goto err_spin;
+ }
+ i915_request_add(rq);
+ }
+
+ intel_uncore_forcewake_get(gt->uncore, FORCEWAKE_ALL);
+ for_each_fw_domain(domain, gt->uncore, tmp) {
+ if (readl(domain->reg_ack) & FORCEWAKE_KERNEL)
+ continue;
+ pr_err("%s: not acked\n", intel_uncore_forcewake_domain_to_str(domain->id));
+ err = -EINVAL;
+ }
+ if (err) {
+#if defined(CONFIG_DRM_I915_DEBUG_WAKEREF) // Ugly test of presence of intel_klog_error_capture
+ intel_klog_error_capture(gt, (intel_engine_mask_t) ~0U);
+#else
+ pr_err("Time to catch GuC logs.\n");
+ msleep(4000);
+#endif
+ }
+ msleep(3);
+ intel_uncore_forcewake_put(gt->uncore, FORCEWAKE_ALL);
+
+err_spin:
+ igt_spinner_fini(&spin);
+err_rpm:
+ intel_runtime_pm_put(gt->uncore->rpm, wakeref);
+
+ return err;
+}
+
+static int live_forcewake_with_spinners_25s(void *arg)
+{
+ ktime_t t = ktime_get();
+ int err = 0;
+
+ while (ktime_ms_delta(ktime_get(), t) < 25000) {
+ err = live_forcewake_with_spinners(arg);
+ if (err)
+ break;
+ }
+
+ return err;
+}
+
int intel_uncore_live_selftests(struct drm_i915_private *i915)
{
static const struct i915_subtest tests[] = {
SUBTEST(live_fw_table),
SUBTEST(live_forcewake_ops),
SUBTEST(live_forcewake_domains),
+ SUBTEST(live_forcewake_with_spinners),
+ SUBTEST(live_forcewake_with_spinners_25s),
};
return intel_gt_live_subtests(tests, to_gt(i915));
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL
2023-05-16 13:36 [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 2/3] drm/i915/gt: do not enable render and media power-gating on RPL-S Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests Andrzej Hajda
@ 2023-05-16 21:14 ` Patchwork
2023-05-16 21:14 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-05-16 21:38 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-05-16 21:14 UTC (permalink / raw)
To: Andrzej Hajda; +Cc: intel-gfx
== Series Details ==
Series: series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL
URL : https://patchwork.freedesktop.org/series/117819/
State : warning
== Summary ==
Error: dim checkpatch failed
e0f1fa65f100 drm/i915/mtl: do not enable render power-gating on MTL
-:10: WARNING:COMMIT_LOG_USE_LINK: Unknown link reference 'References:', use 'Link:' or 'Closes:' instead
#10:
References: https://gitlab.freedesktop.org/drm/intel/-/issues/4983
-:28: ERROR:CODE_INDENT: code indent should use tabs where possible
#28: FILE: drivers/gpu/drm/i915/gt/intel_rc6.c:125:
+^I IS_DG2_GRAPHICS_STEP(gt->i915, G11, STEP_A0, STEP_B0))$
total: 1 errors, 1 warnings, 0 checks, 14 lines checked
496a05f3de25 drm/i915/gt: do not enable render and media power-gating on RPL-S
-:10: WARNING:COMMIT_LOG_USE_LINK: Unknown link reference 'References:', use 'Link:' or 'Closes:' instead
#10:
References: https://gitlab.freedesktop.org/drm/intel/-/issues/4983
total: 0 errors, 1 warnings, 0 checks, 9 lines checked
b0d1f92bc92f drm/i915/selftests: add forcewake_with_spinners tests
-:78: CHECK:SPACING: No space is necessary after a cast
#78: FILE: drivers/gpu/drm/i915/selftests/intel_uncore.c:397:
+ intel_klog_error_capture(gt, (intel_engine_mask_t) ~0U);
-:84: WARNING:MSLEEP: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.rst
#84: FILE: drivers/gpu/drm/i915/selftests/intel_uncore.c:403:
+ msleep(3);
total: 0 errors, 1 warnings, 1 checks, 104 lines checked
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL
2023-05-16 13:36 [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL Andrzej Hajda
` (2 preceding siblings ...)
2023-05-16 21:14 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL Patchwork
@ 2023-05-16 21:14 ` Patchwork
2023-05-16 21:38 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-05-16 21:14 UTC (permalink / raw)
To: Andrzej Hajda; +Cc: intel-gfx
== Series Details ==
Series: series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL
URL : https://patchwork.freedesktop.org/series/117819/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
-
+./arch/x86/include/asm/bitops.h:117:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:148:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:150:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:154:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:156:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:156:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:174:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:176:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:180:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:182:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:182:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:186:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:188:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:192:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:195:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:195:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:237:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:239:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+./drivers/gpu/drm/i915/intel_uncore.h:346:1: warning: trying to copy expression type 31
+./drivers/gpu/drm/i915/intel_uncore.h:351:1: warning: trying to copy expression type 31
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:55:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:57:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:58:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:60:15: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:73:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:75:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:76:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:77:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:79:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:79:20: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:17: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:80:23: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:80:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:93:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:95:9: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:96:9: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:97:9: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:10: warning: unreplaced symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:99:14: warning: unreplaced symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:99:21: warning: unreplaced symbol 'mask'
+./include/asm-generic/bitops/instrumented-non-atomic.h:100:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:112:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:115:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:127:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:130:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:139:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:142:9: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:26:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:42:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:58:1: warning: unreplaced symbol 'return'
+./include/asm-generic/bitops/instrumented-non-atomic.h:97:1: warning: unreplaced symbol 'return'
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL
2023-05-16 13:36 [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL Andrzej Hajda
` (3 preceding siblings ...)
2023-05-16 21:14 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-05-16 21:38 ` Patchwork
4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-05-16 21:38 UTC (permalink / raw)
To: Andrzej Hajda; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 6073 bytes --]
== Series Details ==
Series: series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL
URL : https://patchwork.freedesktop.org/series/117819/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_13154 -> Patchwork_117819v1
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_117819v1 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_117819v1, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/index.html
Participating hosts (38 -> 36)
------------------------------
Missing (2): fi-snb-2520m bat-mtlp-6
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_117819v1:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@uncore:
- bat-rpls-1: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-rpls-1/igt@i915_selftest@live@uncore.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-rpls-1/igt@i915_selftest@live@uncore.html
Known issues
------------
Here are the changes found in Patchwork_117819v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@execlists:
- fi-bsw-n3050: [PASS][3] -> [ABORT][4] ([i915#7911] / [i915#7913])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/fi-bsw-n3050/igt@i915_selftest@live@execlists.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/fi-bsw-n3050/igt@i915_selftest@live@execlists.html
* igt@i915_selftest@live@uncore:
- bat-rpls-2: [PASS][5] -> [INCOMPLETE][6] ([i915#7913])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-rpls-2/igt@i915_selftest@live@uncore.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-rpls-2/igt@i915_selftest@live@uncore.html
- bat-dg2-11: [PASS][7] -> [ABORT][8] ([i915#7913])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-dg2-11/igt@i915_selftest@live@uncore.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-dg2-11/igt@i915_selftest@live@uncore.html
- fi-kbl-soraka: [PASS][9] -> [ABORT][10] ([i915#7913] / [i915#8405])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/fi-kbl-soraka/igt@i915_selftest@live@uncore.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/fi-kbl-soraka/igt@i915_selftest@live@uncore.html
- bat-adls-5: [PASS][11] -> [ABORT][12] ([i915#7913])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-adls-5/igt@i915_selftest@live@uncore.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-adls-5/igt@i915_selftest@live@uncore.html
- bat-dg2-9: [PASS][13] -> [ABORT][14] ([i915#7913] / [i915#8405])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-dg2-9/igt@i915_selftest@live@uncore.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-dg2-9/igt@i915_selftest@live@uncore.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1:
- bat-dg2-8: [PASS][15] -> [FAIL][16] ([i915#7932]) +1 similar issue
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
#### Possible fixes ####
* igt@i915_selftest@live@requests:
- {bat-mtlp-8}: [ABORT][17] ([i915#4983] / [i915#7920]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-mtlp-8/igt@i915_selftest@live@requests.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-mtlp-8/igt@i915_selftest@live@requests.html
* igt@i915_selftest@live@slpc:
- bat-rpls-1: [DMESG-WARN][19] ([i915#6367]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13154/bat-rpls-1/igt@i915_selftest@live@slpc.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/bat-rpls-1/igt@i915_selftest@live@slpc.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920
[i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
[i915#8405]: https://gitlab.freedesktop.org/drm/intel/issues/8405
Build changes
-------------
* Linux: CI_DRM_13154 -> Patchwork_117819v1
CI-20190529: 20190529
CI_DRM_13154: d04e82f5245c285e7ae36955d89c4d217d04d664 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7292: 9d9475ffd3b5ae18fd8ec120595385f6c562f249 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_117819v1: d04e82f5245c285e7ae36955d89c4d217d04d664 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
1f4f41c506b4 drm/i915/selftests: add forcewake_with_spinners tests
4a1228d818e8 drm/i915/gt: do not enable render and media power-gating on RPL-S
9bb69ace3424 drm/i915/mtl: do not enable render power-gating on MTL
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117819v1/index.html
[-- Attachment #2: Type: text/html, Size: 7165 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests
2023-05-17 19:40 [Intel-gfx] [CI DO_NOT_MERGE 1/3] " Andrzej Hajda
@ 2023-05-17 19:40 ` Andrzej Hajda
0 siblings, 0 replies; 7+ messages in thread
From: Andrzej Hajda @ 2023-05-17 19:40 UTC (permalink / raw)
To: intel-gfx; +Cc: Andrzej Hajda
The test examines if running spinners do not interfere with forcewake.
Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
drivers/gpu/drm/i915/selftests/intel_uncore.c | 85 +++++++++++++++++++
1 file changed, 85 insertions(+)
diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
index e4281508d5808b..0ce8a5c5ee0064 100644
--- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
+++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
@@ -22,7 +22,10 @@
*
*/
+#include <i915_gpu_error.h>
+#include <gt/intel_gpu_commands.h>
#include "../i915_selftest.h"
+#include <selftests/igt_spinner.h>
static int intel_fw_table_check(const struct intel_forcewake_range *ranges,
unsigned int num_ranges,
@@ -342,12 +345,94 @@ static int live_fw_table(void *arg)
GRAPHICS_VER(gt->i915) >= 9);
}
+static int live_forcewake_with_spinners(void *arg)
+{
+ struct intel_gt *gt = arg;
+ struct intel_uncore_forcewake_domain *domain;
+ struct intel_engine_cs *engine;
+ enum intel_engine_id id;
+ intel_wakeref_t wakeref;
+ struct igt_spinner spin;
+ unsigned int tmp;
+ int err;
+
+ wakeref = intel_runtime_pm_get(gt->uncore->rpm);
+
+ err = igt_spinner_init(&spin, gt);
+ if (err)
+ goto err_rpm;
+
+ for_each_engine(engine, gt, id) {
+ struct intel_context *ce;
+ struct i915_request *rq;
+
+ if (!intel_engine_can_store_dword(engine))
+ continue;
+
+ pr_info("%s: Spinning %s\n", __func__, engine->name);
+
+ ce = intel_context_create(engine);
+ if (IS_ERR(ce)) {
+ err = PTR_ERR(ce);
+ goto err_spin;
+ }
+ rq = igt_spinner_create_request(&spin, ce, MI_ARB_CHECK);
+ intel_context_put(ce);
+ if (IS_ERR(rq)) {
+ err = PTR_ERR(rq);
+ goto err_spin;
+ }
+ i915_request_add(rq);
+ }
+
+ intel_uncore_forcewake_get(gt->uncore, FORCEWAKE_ALL);
+ for_each_fw_domain(domain, gt->uncore, tmp) {
+ if (readl(domain->reg_ack) & FORCEWAKE_KERNEL)
+ continue;
+ pr_err("%s: not acked\n", intel_uncore_forcewake_domain_to_str(domain->id));
+ err = -EINVAL;
+ }
+ if (err) {
+#if defined(CONFIG_DRM_I915_DEBUG_WAKEREF) // Ugly test of presence of intel_klog_error_capture
+ intel_klog_error_capture(gt, (intel_engine_mask_t) ~0U);
+#else
+ pr_err("Time to catch GuC logs.\n");
+ msleep(4000);
+#endif
+ }
+ msleep(3);
+ intel_uncore_forcewake_put(gt->uncore, FORCEWAKE_ALL);
+
+err_spin:
+ igt_spinner_fini(&spin);
+err_rpm:
+ intel_runtime_pm_put(gt->uncore->rpm, wakeref);
+
+ return err;
+}
+
+static int live_forcewake_with_spinners_25s(void *arg)
+{
+ ktime_t t = ktime_get();
+ int err = 0;
+
+ while (ktime_ms_delta(ktime_get(), t) < 25000) {
+ err = live_forcewake_with_spinners(arg);
+ if (err)
+ break;
+ }
+
+ return err;
+}
+
int intel_uncore_live_selftests(struct drm_i915_private *i915)
{
static const struct i915_subtest tests[] = {
SUBTEST(live_fw_table),
SUBTEST(live_forcewake_ops),
SUBTEST(live_forcewake_domains),
+ SUBTEST(live_forcewake_with_spinners),
+ SUBTEST(live_forcewake_with_spinners_25s),
};
return intel_gt_live_subtests(tests, to_gt(i915));
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-05-17 19:41 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-16 13:36 [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 2/3] drm/i915/gt: do not enable render and media power-gating on RPL-S Andrzej Hajda
2023-05-16 13:36 ` [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests Andrzej Hajda
2023-05-16 21:14 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,DO_NOT_MERGE,1/3] drm/i915/mtl: do not enable render power-gating on MTL Patchwork
2023-05-16 21:14 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-05-16 21:38 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2023-05-17 19:40 [Intel-gfx] [CI DO_NOT_MERGE 1/3] " Andrzej Hajda
2023-05-17 19:40 ` [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests Andrzej Hajda
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox