* [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
@ 2023-06-29 20:42 Alan Previn
2023-06-29 21:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Alan Previn @ 2023-06-29 20:42 UTC (permalink / raw)
To: intel-gfx; +Cc: dri-devel, Alan Previn
On MTL, if the GSC Proxy init flows haven't completed, submissions to the
GSC engine will fail. Those init flows are dependent on the mei's
gsc_proxy component that is loaded in parallel with i915 and a
worker that could potentially start after i915 driver init is done.
That said, all subsytems that access the GSC engine today does check
for such init flow completion before using the GSC engine. However,
selftests currently don't wait on anything before starting.
To fix this, add a waiter function at the start of __run_selftests
that waits for gsc-proxy init flows to complete. While implementing this,
use an table of function pointers so its scalable to add additional
waiter functions for future such "wait on dependency" cases that.
Difference from prior versions:
v3: Rebase to latest drm-tip.
v2: Based on internal testing, increase the timeout for gsc-proxy
specific case to 8 seconds.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Zhanjun Dong <zhanjun.dong@intel.com>
---
.../gpu/drm/i915/selftests/i915_selftest.c | 61 +++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/drivers/gpu/drm/i915/selftests/i915_selftest.c b/drivers/gpu/drm/i915/selftests/i915_selftest.c
index 39da0fb0d6d2..a74b7e264d92 100644
--- a/drivers/gpu/drm/i915/selftests/i915_selftest.c
+++ b/drivers/gpu/drm/i915/selftests/i915_selftest.c
@@ -24,6 +24,8 @@
#include <linux/random.h>
#include "gt/intel_gt_pm.h"
+#include "gt/uc/intel_gsc_fw.h"
+
#include "i915_driver.h"
#include "i915_drv.h"
#include "i915_selftest.h"
@@ -127,6 +129,63 @@ static void set_default_test_all(struct selftest *st, unsigned int count)
st[i].enabled = true;
}
+static int
+__wait_gsc_proxy_completed(struct drm_i915_private *i915,
+ unsigned long timeout_ms)
+{
+ bool need_to_wait = (IS_ENABLED(CONFIG_INTEL_MEI_GSC_PROXY) &&
+ i915->media_gt &&
+ HAS_ENGINE(i915->media_gt, GSC0) &&
+ intel_uc_fw_is_loadable(&i915->media_gt->uc.gsc.fw));
+
+ /*
+ * For gsc proxy component loading + init, we need a much longer timeout
+ * than what CI selftest infrastrucutre currently uses. This longer wait
+ * period depends on the kernel config and component driver load ordering
+ */
+ if (timeout_ms < 8000)
+ timeout_ms = 8000;
+
+ if (need_to_wait &&
+ (wait_for(intel_gsc_uc_fw_proxy_init_done(&i915->media_gt->uc.gsc, true),
+ timeout_ms)))
+ return -ETIME;
+
+ return 0;
+}
+
+struct __startup_waiter {
+ const char *name;
+ int (*wait_to_completed)(struct drm_i915_private *i915, unsigned long timeout_ms);
+};
+
+static struct __startup_waiter all_startup_waiters[] = { \
+ {"gsc_proxy", __wait_gsc_proxy_completed} \
+ };
+
+static int __wait_on_all_system_dependencies(struct drm_i915_private *i915)
+{
+ struct __startup_waiter *waiter = all_startup_waiters;
+ int count = ARRAY_SIZE(all_startup_waiters);
+ int ret;
+
+ if (!waiter || !count || !i915)
+ return 0;
+
+ for (; count--; waiter++) {
+ if (!waiter->wait_to_completed)
+ continue;
+ ret = waiter->wait_to_completed(i915, i915_selftest.timeout_ms);
+ if (ret) {
+ pr_info(DRIVER_NAME ": Pre-selftest waiter %s failed with %d\n",
+ waiter->name, ret);
+ return ret;
+ }
+ }
+
+ return 0;
+}
+
static int __run_selftests(const char *name,
struct selftest *st,
unsigned int count,
@@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
{
int err = 0;
+ __wait_on_all_system_dependencies(data);
+
while (!i915_selftest.random_seed)
i915_selftest.random_seed = get_random_u32();
base-commit: 6f8963ce33be65c67e53b16fa18325e12ab76861
--
2.39.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3)
2023-06-29 20:42 [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Alan Previn
@ 2023-06-29 21:06 ` Patchwork
2023-06-29 21:17 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-06-29 21:06 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3)
URL : https://patchwork.freedesktop.org/series/117713/
State : warning
== Summary ==
Error: dim checkpatch failed
d16f50ca614e drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
-:76: WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations
#76: FILE: drivers/gpu/drm/i915/selftests/i915_selftest.c:162:
+static struct __startup_waiter all_startup_waiters[] = { \
total: 0 errors, 1 warnings, 0 checks, 79 lines checked
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3)
2023-06-29 20:42 [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Alan Previn
2023-06-29 21:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
@ 2023-06-29 21:17 ` Patchwork
2023-06-29 21:44 ` [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Tvrtko Ursulin
2023-06-30 6:41 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-06-29 21:17 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 7160 bytes --]
== Series Details ==
Series: drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3)
URL : https://patchwork.freedesktop.org/series/117713/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13337 -> Patchwork_117713v3
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/index.html
Participating hosts (41 -> 33)
------------------------------
Missing (8): fi-rkl-11600 fi-cfl-8700k fi-snb-2520m fi-hsw-4770 fi-pnv-d510 bat-rpls-1 bat-jsl-3 bat-jsl-1
Known issues
------------
Here are the changes found in Patchwork_117713v3 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@core_auth@basic-auth:
- bat-adlp-11: NOTRUN -> [ABORT][1] ([i915#4423] / [i915#8011])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-adlp-11/igt@core_auth@basic-auth.html
* igt@gem_lmem_swapping@verify-random:
- bat-mtlp-8: NOTRUN -> [SKIP][2] ([i915#4613]) +3 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html
* igt@i915_pm_rps@basic-api:
- bat-mtlp-8: NOTRUN -> [SKIP][3] ([i915#6621])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@gem_contexts:
- bat-atsm-1: [PASS][4] -> [INCOMPLETE][5] ([i915#7913])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/bat-atsm-1/igt@i915_selftest@live@gem_contexts.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-atsm-1/igt@i915_selftest@live@gem_contexts.html
* igt@i915_selftest@live@gt_mocs:
- bat-mtlp-8: NOTRUN -> [DMESG-FAIL][6] ([i915#7059])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@requests:
- bat-mtlp-6: [PASS][7] -> [DMESG-FAIL][8] ([i915#8497])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/bat-mtlp-6/igt@i915_selftest@live@requests.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-6/igt@i915_selftest@live@requests.html
* igt@i915_selftest@live@reset:
- bat-rpls-2: [PASS][9] -> [ABORT][10] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/bat-rpls-2/igt@i915_selftest@live@reset.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-rpls-2/igt@i915_selftest@live@reset.html
* igt@i915_suspend@basic-s3-without-i915:
- bat-mtlp-8: NOTRUN -> [SKIP][11] ([i915#6645])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- fi-bsw-nick: NOTRUN -> [SKIP][12] ([fdo#109271]) +1 similar issue
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/fi-bsw-nick/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
- bat-mtlp-8: NOTRUN -> [SKIP][13] ([i915#7828])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@prime_vgem@basic-fence-mmap:
- bat-mtlp-8: NOTRUN -> [SKIP][14] ([i915#3708] / [i915#4077]) +1 similar issue
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- bat-mtlp-8: NOTRUN -> [SKIP][15] ([i915#3708]) +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
#### Possible fixes ####
* igt@i915_pm_rpm@basic-pci-d3-state:
- bat-mtlp-8: [ABORT][16] ([i915#7077] / [i915#7977]) -> [PASS][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
* igt@i915_selftest@live@execlists:
- fi-bsw-nick: [ABORT][18] ([i915#7913]) -> [PASS][19]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/fi-bsw-nick/igt@i915_selftest@live@execlists.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/fi-bsw-nick/igt@i915_selftest@live@execlists.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-apl-guc: [DMESG-FAIL][20] ([i915#5334]) -> [PASS][21]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
#### Warnings ####
* igt@i915_module_load@load:
- bat-adlp-11: [ABORT][22] ([i915#4423]) -> [DMESG-WARN][23] ([i915#4423])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/bat-adlp-11/igt@i915_module_load@load.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/bat-adlp-11/igt@i915_module_load@load.html
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7977]: https://gitlab.freedesktop.org/drm/intel/issues/7977
[i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8497]: https://gitlab.freedesktop.org/drm/intel/issues/8497
Build changes
-------------
* Linux: CI_DRM_13337 -> Patchwork_117713v3
CI-20190529: 20190529
CI_DRM_13337: 6f8963ce33be65c67e53b16fa18325e12ab76861 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7356: 66452bb0118e8d3a78d054cef50a60a9858a00a9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_117713v3: 6f8963ce33be65c67e53b16fa18325e12ab76861 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
a784226b2743 drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/index.html
[-- Attachment #2: Type: text/html, Size: 8477 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
2023-06-29 20:42 [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Alan Previn
2023-06-29 21:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
2023-06-29 21:17 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-06-29 21:44 ` Tvrtko Ursulin
2023-07-11 18:15 ` Teres Alexis, Alan Previn
2023-06-30 6:41 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
3 siblings, 1 reply; 8+ messages in thread
From: Tvrtko Ursulin @ 2023-06-29 21:44 UTC (permalink / raw)
To: Alan Previn, intel-gfx; +Cc: dri-devel
On 29/06/2023 21:42, Alan Previn wrote:
> On MTL, if the GSC Proxy init flows haven't completed, submissions to the
> GSC engine will fail. Those init flows are dependent on the mei's
> gsc_proxy component that is loaded in parallel with i915 and a
> worker that could potentially start after i915 driver init is done.
>
> That said, all subsytems that access the GSC engine today does check
> for such init flow completion before using the GSC engine. However,
> selftests currently don't wait on anything before starting.
>
> To fix this, add a waiter function at the start of __run_selftests
> that waits for gsc-proxy init flows to complete. While implementing this,
> use an table of function pointers so its scalable to add additional
> waiter functions for future such "wait on dependency" cases that.
>
> Difference from prior versions:
> v3: Rebase to latest drm-tip.
> v2: Based on internal testing, increase the timeout for gsc-proxy
> specific case to 8 seconds.
>
> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> Reviewed-by: Zhanjun Dong <zhanjun.dong@intel.com>
>
> ---
> .../gpu/drm/i915/selftests/i915_selftest.c | 61 +++++++++++++++++++
> 1 file changed, 61 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_selftest.c b/drivers/gpu/drm/i915/selftests/i915_selftest.c
> index 39da0fb0d6d2..a74b7e264d92 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_selftest.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_selftest.c
> @@ -24,6 +24,8 @@
> #include <linux/random.h>
>
> #include "gt/intel_gt_pm.h"
> +#include "gt/uc/intel_gsc_fw.h"
> +
> #include "i915_driver.h"
> #include "i915_drv.h"
> #include "i915_selftest.h"
> @@ -127,6 +129,63 @@ static void set_default_test_all(struct selftest *st, unsigned int count)
> st[i].enabled = true;
> }
>
> +static int
> +__wait_gsc_proxy_completed(struct drm_i915_private *i915,
> + unsigned long timeout_ms)
> +{
> + bool need_to_wait = (IS_ENABLED(CONFIG_INTEL_MEI_GSC_PROXY) &&
> + i915->media_gt &&
> + HAS_ENGINE(i915->media_gt, GSC0) &&
> + intel_uc_fw_is_loadable(&i915->media_gt->uc.gsc.fw));
> +
> + /*
> + * For gsc proxy component loading + init, we need a much longer timeout
> + * than what CI selftest infrastrucutre currently uses. This longer wait
> + * period depends on the kernel config and component driver load ordering
> + */
How is a CI timeout value relevant?
Plus from the commit message it sounds like the point of wait is so
submission to gsc does not fail if loading is still in progress, not
that the CI times out. So what is the main problem?
> + if (timeout_ms < 8000)
> + timeout_ms = 8000;
> +
> + if (need_to_wait &&
> + (wait_for(intel_gsc_uc_fw_proxy_init_done(&i915->media_gt->uc.gsc, true),
> + timeout_ms)))
> + return -ETIME;
> +
> + return 0;
> +}
> +
> +struct __startup_waiter {
> + const char *name;
> + int (*wait_to_completed)(struct drm_i915_private *i915, unsigned long timeout_ms);
> +};
> +
> +static struct __startup_waiter all_startup_waiters[] = { \
> + {"gsc_proxy", __wait_gsc_proxy_completed} \
> + };
> +
> +static int __wait_on_all_system_dependencies(struct drm_i915_private *i915)
> +{
> + struct __startup_waiter *waiter = all_startup_waiters;
> + int count = ARRAY_SIZE(all_startup_waiters);
> + int ret;
> +
> + if (!waiter || !count || !i915)
> + return 0;
Ugh.
If it ever becomes an empty array just zap this whole code and not have
these checks.
Also, no i915 is a possibility?
But actually.. please don't add the function table generalization unless
it is already known something else is coming to be plugged into it.
> +
> + for (; count--; waiter++) {
> + if (!waiter->wait_to_completed)
> + continue;
> + ret = waiter->wait_to_completed(i915, i915_selftest.timeout_ms);
> + if (ret) {
> + pr_info(DRIVER_NAME ": Pre-selftest waiter %s failed with %d\n",
> + waiter->name, ret);
> + return ret;
> + }
> + }
> +
> + return 0;
> +}
> +
> static int __run_selftests(const char *name,
> struct selftest *st,
> unsigned int count,
> @@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
> {
> int err = 0;
>
> + __wait_on_all_system_dependencies(data);
Why does this need to be top level selftests and not just a wait for
intel_gsc_uc_fw_proxy_init_done in the tests where it is relevant, via
some helper or something?
Regards,
Tvrtko
> +
> while (!i915_selftest.random_seed)
> i915_selftest.random_seed = get_random_u32();
>
>
> base-commit: 6f8963ce33be65c67e53b16fa18325e12ab76861
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3)
2023-06-29 20:42 [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Alan Previn
` (2 preceding siblings ...)
2023-06-29 21:44 ` [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Tvrtko Ursulin
@ 2023-06-30 6:41 ` Patchwork
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2023-06-30 6:41 UTC (permalink / raw)
To: Alan Previn; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 22677 bytes --]
== Series Details ==
Series: drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3)
URL : https://patchwork.freedesktop.org/series/117713/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13337_full -> Patchwork_117713v3_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (8 -> 9)
------------------------------
Additional (1): shard-rkl0
Known issues
------------
Here are the changes found in Patchwork_117713v3_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-rkl: [PASS][1] -> [FAIL][2] ([i915#6268])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-1/igt@gem_ctx_exec@basic-nohangcheck.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-7/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_exec_balancer@full-pulse:
- shard-dg2: [PASS][3] -> [FAIL][4] ([i915#6032])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-8/igt@gem_exec_balancer@full-pulse.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-5/igt@gem_exec_balancer@full-pulse.html
* igt@gem_exec_fair@basic-none@vcs0:
- shard-rkl: [PASS][5] -> [FAIL][6] ([i915#2842]) +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-1/igt@gem_exec_fair@basic-none@vcs0.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-7/igt@gem_exec_fair@basic-none@vcs0.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-apl: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#4613]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-apl: NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#3323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@gem_userptr_blits@dmabuf-sync.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-dg2: [PASS][9] -> [DMESG-WARN][10] ([i915#7061])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-12/igt@i915_module_load@reload-with-fault-injection.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-3/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-apl: NOTRUN -> [SKIP][11] ([fdo#109271]) +41 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#3886]) +1 similar issue
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
- shard-dg2: NOTRUN -> [SKIP][13] ([i915#4087]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-11/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html
* igt@kms_cdclk@plane-scaling@pipe-d-dp-4:
- shard-dg2: NOTRUN -> [SKIP][14] ([i915#4087] / [i915#4579])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-11/igt@kms_cdclk@plane-scaling@pipe-d-dp-4.html
* igt@kms_content_protection@srm@pipe-a-dp-1:
- shard-apl: NOTRUN -> [TIMEOUT][15] ([i915#7173])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@kms_content_protection@srm@pipe-a-dp-1.html
* igt@kms_content_protection@srm@pipe-a-dp-2:
- shard-dg2: NOTRUN -> [TIMEOUT][16] ([i915#7173])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-12/igt@kms_content_protection@srm@pipe-a-dp-2.html
* igt@kms_content_protection@uevent:
- shard-dg2: NOTRUN -> [SKIP][17] ([i915#4579] / [i915#7118])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-3/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-apl: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#4579]) +2 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1:
- shard-apl: [PASS][19] -> [FAIL][20] ([i915#79])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-apl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a3:
- shard-dg2: [PASS][21] -> [FAIL][22] ([fdo#103375])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-6/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a3.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-5/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a3.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- shard-dg2: [PASS][23] -> [FAIL][24] ([i915#6880])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-rkl: NOTRUN -> [SKIP][25] ([i915#3555] / [i915#4579])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-2/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_hdr@static-toggle-dpms:
- shard-dg2: NOTRUN -> [SKIP][26] ([i915#3555] / [i915#4579])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-7/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#5176]) +2 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-a-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][28] ([i915#4579] / [i915#5176]) +2 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][29] ([i915#5176]) +2 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][30] ([i915#4579] / [i915#5176])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-d-hdmi-a-3.html
* igt@kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1:
- shard-snb: NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#4579]) +7 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-snb1/igt@kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][32] ([i915#5235]) +8 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-7/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-b-hdmi-a-3.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][33] ([i915#4579] / [i915#5235]) +2 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a-hdmi-a-1:
- shard-snb: NOTRUN -> [SKIP][34] ([fdo#109271]) +15 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-snb1/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][35] ([i915#5235]) +2 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-7/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-dp-4:
- shard-dg2: NOTRUN -> [SKIP][36] ([i915#4579] / [i915#5235]) +2 similar issues
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-11/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-dp-4.html
* igt@kms_sysfs_edid_timing:
- shard-dg2: [PASS][37] -> [FAIL][38] ([IGT#2])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-11/igt@kms_sysfs_edid_timing.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-7/igt@kms_sysfs_edid_timing.html
#### Possible fixes ####
* igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
- shard-rkl: [FAIL][39] ([i915#7742]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-7/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-4/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
* igt@gem_barrier_race@remote-request@rcs0:
- {shard-dg1}: [ABORT][41] ([i915#7461] / [i915#8234]) -> [PASS][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg1-18/igt@gem_barrier_race@remote-request@rcs0.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg1-14/igt@gem_barrier_race@remote-request@rcs0.html
* igt@gem_ctx_isolation@preservation-s3@vcs1:
- shard-dg2: [FAIL][43] ([fdo#103375]) -> [PASS][44] +2 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-5/igt@gem_ctx_isolation@preservation-s3@vcs1.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-11/igt@gem_ctx_isolation@preservation-s3@vcs1.html
* igt@gem_eio@unwedge-stress:
- {shard-dg1}: [FAIL][45] ([i915#5784]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg1-17/igt@gem_eio@unwedge-stress.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg1-17/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-rkl: [FAIL][47] ([i915#2842]) -> [PASS][48] +1 similar issue
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-7/igt@gem_exec_fair@basic-pace@rcs0.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-4/igt@gem_exec_fair@basic-pace@rcs0.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [TIMEOUT][49] ([i915#5493]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-1/igt@gem_lmem_swapping@smem-oom@lmem0.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-6/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [ABORT][51] ([i915#5566]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-apl7/igt@gen9_exec_parse@allowed-single.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-apl6/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_rc6_residency@rc6-idle@rcs0:
- {shard-dg1}: [FAIL][53] ([i915#3591]) -> [PASS][54] +1 similar issue
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
* igt@i915_pm_rpm@dpms-lpsp:
- {shard-dg1}: [SKIP][55] ([i915#1397]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg1-12/igt@i915_pm_rpm@dpms-lpsp.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg1-19/igt@i915_pm_rpm@dpms-lpsp.html
* igt@i915_pm_rpm@dpms-mode-unset-lpsp:
- shard-rkl: [SKIP][57] ([i915#1397]) -> [PASS][58] +3 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-3/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
* igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [SKIP][59] ([i915#1397]) -> [PASS][60] +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-10/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-6/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-rkl: [FAIL][61] ([fdo#103375]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-6/igt@i915_suspend@basic-s3-without-i915.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-2/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [FAIL][63] ([i915#2346]) -> [PASS][64]
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2:
- shard-glk: [FAIL][65] ([i915#79]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank@ac-hdmi-a1-hdmi-a2.html
* igt@kms_frontbuffer_tracking@fbc-badstride:
- shard-dg2: [FAIL][67] ([i915#6880]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-badstride.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-12/igt@kms_frontbuffer_tracking@fbc-badstride.html
* igt@perf_pmu@busy-double-start@ccs0:
- shard-dg2: [FAIL][69] ([i915#4349]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-3/igt@perf_pmu@busy-double-start@ccs0.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-7/igt@perf_pmu@busy-double-start@ccs0.html
#### Warnings ####
* igt@gem_create@hog-create@smem0:
- shard-dg2: [FAIL][71] ([i915#5892] / [i915#7679]) -> [FAIL][72] ([i915#5892])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-1/igt@gem_create@hog-create@smem0.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-6/igt@gem_create@hog-create@smem0.html
* igt@kms_content_protection@type1:
- shard-dg2: [SKIP][73] ([i915#4579] / [i915#7118] / [i915#7162]) -> [SKIP][74] ([i915#4579] / [i915#7118])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-dg2-11/igt@kms_content_protection@type1.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-dg2-1/igt@kms_content_protection@type1.html
* igt@kms_fbcon_fbt@psr:
- shard-rkl: [SKIP][75] ([i915#3955]) -> [SKIP][76] ([fdo#110189] / [i915#3955])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-6/igt@kms_fbcon_fbt@psr.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-1/igt@kms_fbcon_fbt@psr.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-rkl: [SKIP][77] ([fdo#110189] / [i915#3955]) -> [SKIP][78] ([i915#3955])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_force_connector_basic@force-load-detect:
- shard-rkl: [SKIP][79] ([fdo#109285]) -> [SKIP][80] ([fdo#109285] / [i915#4098])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-6/igt@kms_force_connector_basic@force-load-detect.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-2/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][81] ([i915#4070] / [i915#4816]) -> [SKIP][82] ([i915#4816])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13337/shard-rkl-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117713v3/shard-rkl-4/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).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[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#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#5892]: https://gitlab.freedesktop.org/drm/intel/issues/5892
[i915#6032]: https://gitlab.freedesktop.org/drm/intel/issues/6032
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
[i915#7061]: https://gitlab.freedesktop.org/drm/intel/issues/7061
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#7162]: https://gitlab.freedesktop.org/drm/intel/issues/7162
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7679]: https://gitlab.freedesktop.org/drm/intel/issues/7679
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
[i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
[i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
[i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
Build changes
-------------
* Linux: CI_DRM_13337 -> Patchwork_117713v3
CI-20190529: 20190529
CI_DRM_13337: 6f8963ce33be65c67e53b16fa18325e12ab76861 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7356: 66452bb0118e8d3a78d054cef50a60a9858a00a9 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_117713v3: 6f8963ce33be65c67e53b16fa18325e12ab76861 @ 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_117713v3/index.html
[-- Attachment #2: Type: text/html, Size: 26209 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
2023-06-29 21:44 ` [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Tvrtko Ursulin
@ 2023-07-11 18:15 ` Teres Alexis, Alan Previn
2023-07-11 18:49 ` Ceraolo Spurio, Daniele
0 siblings, 1 reply; 8+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-07-11 18:15 UTC (permalink / raw)
To: tvrtko.ursulin@linux.intel.com, intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Thanks fore reviewing Tvrtko, below are my responses.
I'll rerev without generalized func ptr and only for the subtests that need it.
...alan
On Thu, 2023-06-29 at 22:44 +0100, Tvrtko Ursulin wrote:
> On 29/06/2023 21:42, Alan Previn wrote:
> > On MTL, if the GSC Proxy init flows haven't completed, submissions to the
> > GSC engine will fail. Those init flows are dependent on the mei's
> > gsc_proxy component that is loaded in parallel with i915 and a
> > worker that could potentially start after i915 driver init is done.
> >
> > That said, all subsytems that access the GSC engine today does check
> > for such init flow completion before using the GSC engine. However,
> > selftests currently don't wait on anything before starting.
alan:snip
> > +static int
> > +__wait_gsc_proxy_completed(struct drm_i915_private *i915,
> > + unsigned long timeout_ms)
> > +{
> > + bool need_to_wait = (IS_ENABLED(CONFIG_INTEL_MEI_GSC_PROXY) &&
> > + i915->media_gt &&
> > + HAS_ENGINE(i915->media_gt, GSC0) &&
> > + intel_uc_fw_is_loadable(&i915->media_gt->uc.gsc.fw));
> > +
> > + /*
> > + * For gsc proxy component loading + init, we need a much longer timeout
> > + * than what CI selftest infrastrucutre currently uses. This longer wait
> > + * period depends on the kernel config and component driver load ordering
> > + */
>
> How is a CI timeout value relevant?
>
> Plus from the commit message it sounds like the point of wait is so
> submission to gsc does not fail if loading is still in progress, not
> that the CI times out. So what is the main problem?
Alan: The comment was meant to explain why we override the CI selftest timeout (an input param
to the generalized func ptr loop) to something much larger specially for gsc-proxy-waiting.
However, since your other review comment below is to remove the generalization, this comment
therefore will not make sense so I'll remove it accordingly. The point was that CI might
have a system level selftest timeout of something much smaller like 500 milisecs (used to
have some control over the execution time), but for the gsc-proxy waiting, its not in i915's
control but depends on the kernel component driver loading flow (and in rare occasions, after
a fresh IFWI was flashed which causes a 1-time longer period for fw-proxy flows to complete).
In any case, I'll remove the comment as per your direction.
>
> > + if (timeout_ms < 8000)
> > + timeout_ms = 8000;
> > +
>
alan:snip
> > +static int __wait_on_all_system_dependencies(struct drm_i915_private *i915)
> > +{
> > + struct __startup_waiter *waiter = all_startup_waiters;
> > + int count = ARRAY_SIZE(all_startup_waiters);
> > + int ret;
> > +
> > + if (!waiter || !count || !i915)
> > + return 0;
>
> Ugh.
>
> If it ever becomes an empty array just zap this whole code and not have
> these checks.
Alan: Okay sure - will remove these check except the i915 - see below.
>
> Also, no i915 is a possibility?
Alan: i915_mock_selftests passes in NULL for i915. This checking of the i915
aligns with the existing __run_selftests code - but in that function the
param is called "data" eventhough in all callers of __run_selftests, that
"data" is actually i915 when its not null.
>
> But actually.. please don't add the function table generalization unless
> it is already known something else is coming to be plugged into it.
Alan: Okay- I'll remove it.
alan:snip
>
> > @@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
> > {
> > int err = 0;
> >
> > + __wait_on_all_system_dependencies(data);
>
> Why does this need to be top level selftests and not just a wait for
> intel_gsc_uc_fw_proxy_init_done in the tests where it is relevant, via
> some helper or something?
Alan: it was an offline decision because we didn't want to repeat
the same check for all permutations of selftests' subtests (i.e. considering
module params can dictate to skip some subtests but execute others).
Anyways, let me get back to you on how how many selftests' subtests actually excercise the
need for proxy-init to complete - if its just 1-to-2 subtest I'll move the remove the code
from here and move them into the individual subtests.
alan:snip
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
2023-07-11 18:15 ` Teres Alexis, Alan Previn
@ 2023-07-11 18:49 ` Ceraolo Spurio, Daniele
2023-07-11 22:06 ` Teres Alexis, Alan Previn
0 siblings, 1 reply; 8+ messages in thread
From: Ceraolo Spurio, Daniele @ 2023-07-11 18:49 UTC (permalink / raw)
To: Teres Alexis, Alan Previn, tvrtko.ursulin@linux.intel.com,
intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
<snip>
>>> @@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
>>> {
>>> int err = 0;
>>>
>>> + __wait_on_all_system_dependencies(data);
>> Why does this need to be top level selftests and not just a wait for
>> intel_gsc_uc_fw_proxy_init_done in the tests where it is relevant, via
>> some helper or something?
> Alan: it was an offline decision because we didn't want to repeat
> the same check for all permutations of selftests' subtests (i.e. considering
> module params can dictate to skip some subtests but execute others).
>
> Anyways, let me get back to you on how how many selftests' subtests actually excercise the
> need for proxy-init to complete - if its just 1-to-2 subtest I'll move the remove the code
> from here and move them into the individual subtests.
I don't think it is going to be easy to figure out which selftest are
impacted. All selftests looping on all engines of course, but also tests
triggering GT resets and/or messing with the system in other ways. Any
new tests added will also need to be evaluated.
IMO there is minimal impact of having this check on every test. When
running selftests we load i915 after the rest of the system has already
fully booted, so there are no delays in getting the mei component up and
therefore proxy init is sometimes completed even before the selftest
code starts; when we do have to wait, it's usually for a very short
time, because the expected total execution time for the GSC worker when
not having to wait for the mei component to load is ~750ms (~200ms for
GSC load + 20ms for HuC auth + ~500ms for proxy init). Having a few
seconds added to the total selftests runtime is IMO a better option that
having to maintain a list of impacted tests.
Daniele
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests
2023-07-11 18:49 ` Ceraolo Spurio, Daniele
@ 2023-07-11 22:06 ` Teres Alexis, Alan Previn
0 siblings, 0 replies; 8+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-07-11 22:06 UTC (permalink / raw)
To: tvrtko.ursulin@linux.intel.com, Ceraolo Spurio, Daniele,
intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
On Tue, 2023-07-11 at 11:49 -0700, Ceraolo Spurio, Daniele wrote:
> <snip>
> > > > @@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
> > > > {
> > > > int err = 0;
> > > >
> > > > + __wait_on_all_system_dependencies(data);
> > > Why does this need to be top level selftests and not just a wait for
> > > intel_gsc_uc_fw_proxy_init_done in the tests where it is relevant, via
> > > some helper or something?
> > Alan: it was an offline decision because we didn't want to repeat
> > the same check for all permutations of selftests' subtests (i.e. considering
> > module params can dictate to skip some subtests but execute others).
> >
> > Anyways, let me get back to you on how how many selftests' subtests actually excercise the
> > need for proxy-init to complete - if its just 1-to-2 subtest I'll move the remove the code
> > from here and move them into the individual subtests.
>
> I don't think it is going to be easy to figure out which selftest are
> impacted. All selftests looping on all engines of course, but also tests
> triggering GT resets and/or messing with the system in other ways. Any
> new tests added will also need to be evaluated.
>
> IMO there is minimal impact of having this check on every test. When
> running selftests we load i915 after the rest of the system has already
> fully booted, so there are no delays in getting the mei component up and
> therefore proxy init is sometimes completed even before the selftest
> code starts; when we do have to wait, it's usually for a very short
> time, because the expected total execution time for the GSC worker when
> not having to wait for the mei component to load is ~750ms (~200ms for
> GSC load + 20ms for HuC auth + ~500ms for proxy init). Having a few
> seconds added to the total selftests runtime is IMO a better option that
> having to maintain a list of impacted tests.
>
> Daniele
>
Thanks Daniele - I completely forgot about reset or other system disruptive tests.
For now I'll re-rev to address Tvrtko's other comments but will keep the waiter
as 'once-top-down' for now and wait for Tvrtko's thoughts on that next rev.
...alan
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-07-11 22:06 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-29 20:42 [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Alan Previn
2023-06-29 21:06 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
2023-06-29 21:17 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-29 21:44 ` [Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests Tvrtko Ursulin
2023-07-11 18:15 ` Teres Alexis, Alan Previn
2023-07-11 18:49 ` Ceraolo Spurio, Daniele
2023-07-11 22:06 ` Teres Alexis, Alan Previn
2023-06-30 6:41 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests (rev3) Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox