All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
@ 2022-09-14 22:58 Jessica Zhang
  2022-09-15  1:04 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Jessica Zhang @ 2022-09-14 22:58 UTC (permalink / raw)
  To: igt-dev; +Cc: robdclark, petri.latvala

Wait an extra vblank for legacy cursor ioctl to finish.

Extra vblank wait is needed for both HW and SW test as the legacy cursor
ioctl is called in both cases.

Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.

Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>

[1] https://patchwork.freedesktop.org/series/105999/
---
 tests/kms_cursor_crc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 53f18f4f1add..272dcb7fa0a4 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
 		igt_display_commit(display);
 
 		/* Extra vblank wait is because nonblocking cursor ioctl */
-		igt_wait_for_vblank(data->drm_fd,
-				display->pipes[data->pipe].crtc_offset);
+		igt_wait_for_vblank_count(data->drm_fd,
+				display->pipes[data->pipe].crtc_offset, 2);
 
 		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
 
@@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
 		igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
 
 		igt_display_commit(display);
-		igt_wait_for_vblank(data->drm_fd,
-				display->pipes[data->pipe].crtc_offset);
+		igt_wait_for_vblank_count(data->drm_fd,
+				display->pipes[data->pipe].crtc_offset, 2);
 
 		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
 		igt_assert_crc_equal(&crc, hwcrc);
-- 
2.31.0

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_cursor_crc: Wait extra vblank
  2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
@ 2022-09-15  1:04 ` Patchwork
  2022-09-15  2:23 ` [igt-dev] [PATCH i-g-t v1] " Rob Clark
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2022-09-15  1:04 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4128 bytes --]

== Series Details ==

Series: tests/kms_cursor_crc: Wait extra vblank
URL   : https://patchwork.freedesktop.org/series/108579/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12138 -> IGTPW_7783
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_7783 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_7783, 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/IGTPW_7783/index.html

Participating hosts (43 -> 41)
------------------------------

  Missing    (2): fi-ctg-p8600 fi-icl-u2 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_7783:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@gt_lrc:
    - fi-adl-ddr5:        [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12138/fi-adl-ddr5/igt@i915_selftest@live@gt_lrc.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/fi-adl-ddr5/igt@i915_selftest@live@gt_lrc.html

  
Known issues
------------

  Here are the changes found in IGTPW_7783 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@requests:
    - fi-pnv-d510:        [PASS][3] -> [DMESG-FAIL][4] ([i915#4528])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12138/fi-pnv-d510/igt@i915_selftest@live@requests.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/fi-pnv-d510/igt@i915_selftest@live@requests.html
    - fi-blb-e6850:       [PASS][5] -> [DMESG-FAIL][6] ([i915#4528])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12138/fi-blb-e6850/igt@i915_selftest@live@requests.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/fi-blb-e6850/igt@i915_selftest@live@requests.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-hsw-4770:        NOTRUN -> [SKIP][7] ([fdo#109271] / [fdo#111827])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/fi-hsw-4770/igt@kms_chamelium@common-hpd-after-suspend.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0@smem:
    - {bat-rplp-1}:       [DMESG-WARN][8] ([i915#2867] / [i915#6842]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12138/bat-rplp-1/igt@gem_exec_suspend@basic-s0@smem.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/bat-rplp-1/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-4770:        [INCOMPLETE][10] ([i915#4785]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12138/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/fi-hsw-4770/igt@i915_selftest@live@hangcheck.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#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6842]: https://gitlab.freedesktop.org/drm/intel/issues/6842


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6656 -> IGTPW_7783

  CI-20190529: 20190529
  CI_DRM_12138: 1c36a72efcd6773944659b64dc8bd01fa63d9a09 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7783: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/index.html
  IGT_6656: 24100c4e181c50e3678aeca9c641b8a43555ad73 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7783/index.html

[-- Attachment #2: Type: text/html, Size: 4877 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
  2022-09-15  1:04 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
@ 2022-09-15  2:23 ` Rob Clark
  2022-09-15 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Rob Clark @ 2022-09-15  2:23 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: igt-dev, petri.latvala

Having dealt with emulating legacy cursor updates on hw that doesn't
really provide non-vsync'd updates this is the right thing to do..
trying to provide frame accurate updates with legacy cursor in the
mix, and without dropping fps, is a losing proposition so let's just
update the tests to reflect reality on the ground

a-b

BR,
-R

On Wed, Sep 14, 2022 at 3:58 PM Jessica Zhang <quic_jesszhan@quicinc.com> wrote:
>
> Wait an extra vblank for legacy cursor ioctl to finish.
>
> Extra vblank wait is needed for both HW and SW test as the legacy cursor
> ioctl is called in both cases.
>
> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
>
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>
> [1] https://patchwork.freedesktop.org/series/105999/
> ---
>  tests/kms_cursor_crc.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 53f18f4f1add..272dcb7fa0a4 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>                 igt_display_commit(display);
>
>                 /* Extra vblank wait is because nonblocking cursor ioctl */
> -               igt_wait_for_vblank(data->drm_fd,
> -                               display->pipes[data->pipe].crtc_offset);
> +               igt_wait_for_vblank_count(data->drm_fd,
> +                               display->pipes[data->pipe].crtc_offset, 2);
>
>                 igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>
> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>                 igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>
>                 igt_display_commit(display);
> -               igt_wait_for_vblank(data->drm_fd,
> -                               display->pipes[data->pipe].crtc_offset);
> +               igt_wait_for_vblank_count(data->drm_fd,
> +                               display->pipes[data->pipe].crtc_offset, 2);
>
>                 igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>                 igt_assert_crc_equal(&crc, hwcrc);
> --
> 2.31.0
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Wait extra vblank (rev2)
  2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
  2022-09-15  1:04 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
  2022-09-15  2:23 ` [igt-dev] [PATCH i-g-t v1] " Rob Clark
@ 2022-09-15 16:51 ` Patchwork
  2022-09-15 18:02 ` [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Juha-Pekka Heikkila
  2022-09-16  3:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork
  4 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2022-09-15 16:51 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 9084 bytes --]

== Series Details ==

Series: tests/kms_cursor_crc: Wait extra vblank (rev2)
URL   : https://patchwork.freedesktop.org/series/108579/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12142 -> IGTPW_7787
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/index.html

Participating hosts (45 -> 41)
------------------------------

  Additional (3): bat-adlm-1 fi-icl-u2 bat-dg2-9 
  Missing    (7): fi-rkl-11600 fi-tgl-dsi fi-tgl-u2 fi-hsw-4200u fi-ctg-p8600 fi-bdw-samus bat-jsl-1 

Known issues
------------

  Here are the changes found in IGTPW_7787 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-icl-u2:          NOTRUN -> [SKIP][1] ([i915#2190])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-icl-u2:          NOTRUN -> [SKIP][2] ([i915#4613]) +3 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@gem_lmem_swapping@random-engines.html

  * igt@i915_pm_rpm@module-reload:
    - fi-cfl-8109u:       [PASS][3] -> [DMESG-FAIL][4] ([i915#62])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-cfl-8109u/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@late_gt_pm:
    - fi-cfl-8109u:       [PASS][5] -> [DMESG-WARN][6] ([i915#5904]) +30 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - fi-cfl-8109u:       [PASS][7] -> [DMESG-WARN][8] ([i915#5904] / [i915#62])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-cfl-8109u/igt@i915_suspend@basic-s2idle-without-i915.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-cfl-8109u/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-bsw-kefka/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          NOTRUN -> [SKIP][10] ([fdo#111827]) +8 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - fi-icl-u2:          NOTRUN -> [SKIP][11] ([i915#4103])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_force_connector_basic@force-connector-state:
    - fi-icl-u2:          NOTRUN -> [WARN][12] ([i915#6008])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@kms_force_connector_basic@force-connector-state.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-icl-u2:          NOTRUN -> [SKIP][13] ([fdo#109285])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-cfl-8109u:       [PASS][14] -> [DMESG-WARN][15] ([i915#62]) +12 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-cfl-8109u/igt@kms_frontbuffer_tracking@basic.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-cfl-8109u/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-icl-u2:          NOTRUN -> [SKIP][16] ([i915#3555])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-userptr:
    - fi-icl-u2:          NOTRUN -> [SKIP][17] ([fdo#109295] / [i915#3301])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-icl-u2/igt@prime_vgem@basic-userptr.html

  
#### Possible fixes ####

  * igt@fbdev@read:
    - {fi-tgl-mst}:       [SKIP][18] ([i915#2582]) -> [PASS][19] +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-tgl-mst/igt@fbdev@read.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-tgl-mst/igt@fbdev@read.html

  * igt@gem_exec_suspend@basic-s0@smem:
    - fi-bsw-kefka:       [INCOMPLETE][20] ([i915#4831]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-bsw-kefka/igt@gem_exec_suspend@basic-s0@smem.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-bsw-kefka/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-5:          [DMESG-FAIL][22] ([i915#4957]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/bat-dg1-5/igt@i915_selftest@live@hangcheck.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/bat-dg1-5/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@hugepages:
    - {bat-rpls-1}:       [DMESG-WARN][24] ([i915#5278]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/bat-rpls-1/igt@i915_selftest@live@hugepages.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/bat-rpls-1/igt@i915_selftest@live@hugepages.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size:
    - fi-bsw-kefka:       [FAIL][26] ([i915#6298]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.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
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3595]: https://gitlab.freedesktop.org/drm/intel/issues/3595
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4831]: https://gitlab.freedesktop.org/drm/intel/issues/4831
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278
  [i915#5904]: https://gitlab.freedesktop.org/drm/intel/issues/5904
  [i915#6008]: https://gitlab.freedesktop.org/drm/intel/issues/6008
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6641]: https://gitlab.freedesktop.org/drm/intel/issues/6641


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6656 -> IGTPW_7787

  CI-20190529: 20190529
  CI_DRM_12142: 8334180f6fee071eaf8c79e630e2e69e140f0ba3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7787: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/index.html
  IGT_6656: 24100c4e181c50e3678aeca9c641b8a43555ad73 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/index.html

[-- Attachment #2: Type: text/html, Size: 9181 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
                   ` (2 preceding siblings ...)
  2022-09-15 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork
@ 2022-09-15 18:02 ` Juha-Pekka Heikkila
  2022-09-15 18:39   ` Rob Clark
  2022-09-15 19:58   ` Jessica Zhang
  2022-09-16  3:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork
  4 siblings, 2 replies; 15+ messages in thread
From: Juha-Pekka Heikkila @ 2022-09-15 18:02 UTC (permalink / raw)
  To: Jessica Zhang, igt-dev; +Cc: robdclark, petri.latvala

Hi Jessica,

On 15.9.2022 1.58, Jessica Zhang wrote:
> Wait an extra vblank for legacy cursor ioctl to finish.
> 
> Extra vblank wait is needed for both HW and SW test as the legacy cursor
> ioctl is called in both cases.
> 
> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
> 
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> 
> [1] https://patchwork.freedesktop.org/series/105999/
> ---
>   tests/kms_cursor_crc.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 53f18f4f1add..272dcb7fa0a4 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>   		igt_display_commit(display);
>   
>   		/* Extra vblank wait is because nonblocking cursor ioctl */
> -		igt_wait_for_vblank(data->drm_fd,
> -				display->pipes[data->pipe].crtc_offset);
> +		igt_wait_for_vblank_count(data->drm_fd,
> +				display->pipes[data->pipe].crtc_offset, 2);

It will take more than one frame on your target device for non blocking 
cursor commit to settle? This cannot be right, even if this somehow was 
the case you are breaking this test for everyone else.

>   
>   		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>   
> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>   		igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>   
>   		igt_display_commit(display);
> -		igt_wait_for_vblank(data->drm_fd,
> -				display->pipes[data->pipe].crtc_offset);
> +		igt_wait_for_vblank_count(data->drm_fd,
> +				display->pipes[data->pipe].crtc_offset, 2);

This change make even less sense to me than above. There's nothing 
cursor plane related on this part of test. You are saying flipping 
normal framebuffers on non cursor plane take also more than one frame on 
your target device? It sound like vblank counting is somehow broken on 
your target device if these changes together fix something.

/Juha-Pekka

>   
>   		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>   		igt_assert_crc_equal(&crc, hwcrc);

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 18:02 ` [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Juha-Pekka Heikkila
@ 2022-09-15 18:39   ` Rob Clark
  2022-09-15 19:16     ` Juha-Pekka Heikkila
  2022-09-15 19:58   ` Jessica Zhang
  1 sibling, 1 reply; 15+ messages in thread
From: Rob Clark @ 2022-09-15 18:39 UTC (permalink / raw)
  To: juhapekka.heikkila; +Cc: igt-dev, petri.latvala

On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
<juhapekka.heikkila@gmail.com> wrote:
>
> Hi Jessica,
>
> On 15.9.2022 1.58, Jessica Zhang wrote:
> > Wait an extra vblank for legacy cursor ioctl to finish.
> >
> > Extra vblank wait is needed for both HW and SW test as the legacy cursor
> > ioctl is called in both cases.
> >
> > Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
> >
> > Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> >
> > [1] https://patchwork.freedesktop.org/series/105999/
> > ---
> >   tests/kms_cursor_crc.c | 8 ++++----
> >   1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > index 53f18f4f1add..272dcb7fa0a4 100644
> > --- a/tests/kms_cursor_crc.c
> > +++ b/tests/kms_cursor_crc.c
> > @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> >               igt_display_commit(display);
> >
> >               /* Extra vblank wait is because nonblocking cursor ioctl */
> > -             igt_wait_for_vblank(data->drm_fd,
> > -                             display->pipes[data->pipe].crtc_offset);
> > +             igt_wait_for_vblank_count(data->drm_fd,
> > +                             display->pipes[data->pipe].crtc_offset, 2);
>
> It will take more than one frame on your target device for non blocking
> cursor commit to settle? This cannot be right, even if this somehow was
> the case you are breaking this test for everyone else.

It is possible, depending on timing, kthread scheduling, etc, for a
legacy cursor to end up getting applied to the next frame.

How is this breaking the test for anyone else?

BR,
-R

> >
> >               igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
> >
> > @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> >               igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
> >
> >               igt_display_commit(display);
> > -             igt_wait_for_vblank(data->drm_fd,
> > -                             display->pipes[data->pipe].crtc_offset);
> > +             igt_wait_for_vblank_count(data->drm_fd,
> > +                             display->pipes[data->pipe].crtc_offset, 2);
>
> This change make even less sense to me than above. There's nothing
> cursor plane related on this part of test. You are saying flipping
> normal framebuffers on non cursor plane take also more than one frame on
> your target device? It sound like vblank counting is somehow broken on
> your target device if these changes together fix something.
>
> /Juha-Pekka
>
> >
> >               igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
> >               igt_assert_crc_equal(&crc, hwcrc);
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 18:39   ` Rob Clark
@ 2022-09-15 19:16     ` Juha-Pekka Heikkila
  2022-09-15 19:38       ` Rob Clark
  0 siblings, 1 reply; 15+ messages in thread
From: Juha-Pekka Heikkila @ 2022-09-15 19:16 UTC (permalink / raw)
  To: Rob Clark; +Cc: igt-dev, petri.latvala

On 15.9.2022 21.39, Rob Clark wrote:
> On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
> <juhapekka.heikkila@gmail.com> wrote:
>>
>> Hi Jessica,
>>
>> On 15.9.2022 1.58, Jessica Zhang wrote:
>>> Wait an extra vblank for legacy cursor ioctl to finish.
>>>
>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
>>> ioctl is called in both cases.
>>>
>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
>>>
>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>>>
>>> [1] https://patchwork.freedesktop.org/series/105999/
>>> ---
>>>    tests/kms_cursor_crc.c | 8 ++++----
>>>    1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
>>> index 53f18f4f1add..272dcb7fa0a4 100644
>>> --- a/tests/kms_cursor_crc.c
>>> +++ b/tests/kms_cursor_crc.c
>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>>>                igt_display_commit(display);
>>>
>>>                /* Extra vblank wait is because nonblocking cursor ioctl */
>>> -             igt_wait_for_vblank(data->drm_fd,
>>> -                             display->pipes[data->pipe].crtc_offset);
>>> +             igt_wait_for_vblank_count(data->drm_fd,
>>> +                             display->pipes[data->pipe].crtc_offset, 2);
>>
>> It will take more than one frame on your target device for non blocking
>> cursor commit to settle? This cannot be right, even if this somehow was
>> the case you are breaking this test for everyone else.
> 
> It is possible, depending on timing, kthread scheduling, etc, for a
> legacy cursor to end up getting applied to the next frame.

I assume there's not many heavy tasks running on test machines. Let's 
not forget we're talking about non blocking commit, what you above 
listed could cause is you'd accidentally actually get that extra frame 
for cursor to settle.

> 
> How is this breaking the test for anyone else?

When testing non blocking commit it is that frame where we know changes 
should be present which is interesting. Otherwise we can wait even full 
five frames just to be on safe side to let cursor show up.

/Juha-Pekka

>>>
>>>                igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>>>
>>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>>>                igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>>>
>>>                igt_display_commit(display);
>>> -             igt_wait_for_vblank(data->drm_fd,
>>> -                             display->pipes[data->pipe].crtc_offset);
>>> +             igt_wait_for_vblank_count(data->drm_fd,
>>> +                             display->pipes[data->pipe].crtc_offset, 2);
>>
>> This change make even less sense to me than above. There's nothing
>> cursor plane related on this part of test. You are saying flipping
>> normal framebuffers on non cursor plane take also more than one frame on
>> your target device? It sound like vblank counting is somehow broken on
>> your target device if these changes together fix something.
>>
>> /Juha-Pekka
>>
>>>
>>>                igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>>>                igt_assert_crc_equal(&crc, hwcrc);
>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 19:16     ` Juha-Pekka Heikkila
@ 2022-09-15 19:38       ` Rob Clark
  2022-09-15 20:12         ` Juha-Pekka Heikkila
  0 siblings, 1 reply; 15+ messages in thread
From: Rob Clark @ 2022-09-15 19:38 UTC (permalink / raw)
  To: juhapekka.heikkila; +Cc: igt-dev, petri.latvala

On Thu, Sep 15, 2022 at 12:16 PM Juha-Pekka Heikkila
<juhapekka.heikkila@gmail.com> wrote:
>
> On 15.9.2022 21.39, Rob Clark wrote:
> > On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
> > <juhapekka.heikkila@gmail.com> wrote:
> >>
> >> Hi Jessica,
> >>
> >> On 15.9.2022 1.58, Jessica Zhang wrote:
> >>> Wait an extra vblank for legacy cursor ioctl to finish.
> >>>
> >>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
> >>> ioctl is called in both cases.
> >>>
> >>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
> >>>
> >>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> >>>
> >>> [1] https://patchwork.freedesktop.org/series/105999/
> >>> ---
> >>>    tests/kms_cursor_crc.c | 8 ++++----
> >>>    1 file changed, 4 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> >>> index 53f18f4f1add..272dcb7fa0a4 100644
> >>> --- a/tests/kms_cursor_crc.c
> >>> +++ b/tests/kms_cursor_crc.c
> >>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> >>>                igt_display_commit(display);
> >>>
> >>>                /* Extra vblank wait is because nonblocking cursor ioctl */
> >>> -             igt_wait_for_vblank(data->drm_fd,
> >>> -                             display->pipes[data->pipe].crtc_offset);
> >>> +             igt_wait_for_vblank_count(data->drm_fd,
> >>> +                             display->pipes[data->pipe].crtc_offset, 2);
> >>
> >> It will take more than one frame on your target device for non blocking
> >> cursor commit to settle? This cannot be right, even if this somehow was
> >> the case you are breaking this test for everyone else.
> >
> > It is possible, depending on timing, kthread scheduling, etc, for a
> > legacy cursor to end up getting applied to the next frame.
>
> I assume there's not many heavy tasks running on test machines. Let's
> not forget we're talking about non blocking commit, what you above
> listed could cause is you'd accidentally actually get that extra frame
> for cursor to settle.
>
> >
> > How is this breaking the test for anyone else?
>
> When testing non blocking commit it is that frame where we know changes
> should be present which is interesting. Otherwise we can wait even full
> five frames just to be on safe side to let cursor show up.

IMO, this is the legay cursor API we are talking about.. on the driver
side I prioritize not having fps drops over frame exactness, which
means that sometimes a cursor updates misses the frame.  If userspace
wants frame-exact cursor updates, it should be using the atomic ioctl,
as the behaviour there is well (and sanely) specified.  So waiting
extra frames is fine, otherwise this test will be too flakey to run in
CI.

BR,
-R

>
> /Juha-Pekka
>
> >>>
> >>>                igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
> >>>
> >>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> >>>                igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
> >>>
> >>>                igt_display_commit(display);
> >>> -             igt_wait_for_vblank(data->drm_fd,
> >>> -                             display->pipes[data->pipe].crtc_offset);
> >>> +             igt_wait_for_vblank_count(data->drm_fd,
> >>> +                             display->pipes[data->pipe].crtc_offset, 2);
> >>
> >> This change make even less sense to me than above. There's nothing
> >> cursor plane related on this part of test. You are saying flipping
> >> normal framebuffers on non cursor plane take also more than one frame on
> >> your target device? It sound like vblank counting is somehow broken on
> >> your target device if these changes together fix something.
> >>
> >> /Juha-Pekka
> >>
> >>>
> >>>                igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
> >>>                igt_assert_crc_equal(&crc, hwcrc);
> >>
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 18:02 ` [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Juha-Pekka Heikkila
  2022-09-15 18:39   ` Rob Clark
@ 2022-09-15 19:58   ` Jessica Zhang
  2022-09-15 20:07     ` Jessica Zhang
  1 sibling, 1 reply; 15+ messages in thread
From: Jessica Zhang @ 2022-09-15 19:58 UTC (permalink / raw)
  To: juhapekka.heikkila; +Cc: robdclark, igt-dev, petri.latvala

Hi Juha-Pekka

On 9/15/2022 11:02 AM, Juha-Pekka Heikkila wrote:
> Hi Jessica,
> 
> On 15.9.2022 1.58, Jessica Zhang wrote:
>> Wait an extra vblank for legacy cursor ioctl to finish.
>>
>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
>> ioctl is called in both cases.
>>
>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
>>
>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>>
>> [1] https://patchwork.freedesktop.org/series/105999/
>> ---
>>   tests/kms_cursor_crc.c | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
>> index 53f18f4f1add..272dcb7fa0a4 100644
>> --- a/tests/kms_cursor_crc.c
>> +++ b/tests/kms_cursor_crc.c
>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, 
>> int y, bool hw_test,
>>           igt_display_commit(display);
>>           /* Extra vblank wait is because nonblocking cursor ioctl */
>> -        igt_wait_for_vblank(data->drm_fd,
>> -                display->pipes[data->pipe].crtc_offset);
>> +        igt_wait_for_vblank_count(data->drm_fd,
>> +                display->pipes[data->pipe].crtc_offset, 2);
> 
> It will take more than one frame on your target device for non blocking 
> cursor commit to settle? This cannot be right, even if this somehow was 
> the case you are breaking this test for everyone else.

As stated in Rob's original patch [1]:

"if the cursor update comes too close to vblank,
it could end up being scheduled for the *following* vblank to avoid
blocking"

In the case that the cursor commit is scheduled for the next vblank 
(let's call it vblank n + 1), the CRC value will be updated in the 
*following* that vblank (so, vblank n + 2) because the CRC value in MSM 
updates in the following vblank after a commit [2].

Basically, since we're using CRC to validate, we should wait 2 vblanks 
to get the CRC value that matches the frame where the cursor is 
committed due to the possibility that the cursor update might come in 
the next vblank.

[1] https://patchwork.freedesktop.org/patch/492589/?series=105999&rev=1

[2] 
https://gitlab.freedesktop.org/drm/msm/-/blob/msm-next/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c#L591

> 
>>           igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, 
>> int y, bool hw_test,
>>           igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>>           igt_display_commit(display);
>> -        igt_wait_for_vblank(data->drm_fd,
>> -                display->pipes[data->pipe].crtc_offset);
>> +        igt_wait_for_vblank_count(data->drm_fd,
>> +                display->pipes[data->pipe].crtc_offset, 2);
> 
> This change make even less sense to me than above. There's nothing 
> cursor plane related on this part of test. You are saying flipping 
> normal framebuffers on non cursor plane take also more than one frame on 
> your target device? It sound like vblank counting is somehow broken on 
> your target device if these changes together fix something.

2 cursor mode ioctls are actually called during the igt_display_commit 
here. This is because before a SW test is run, disable_cursor is called 
([1], for example). This will just set the FB to NULL and position to 
(0, 0) on IGT side and the following commit (which is the 
igt_display_commit called here) will then call drmModeSetCursor and 
drmModeMoveCursor [2] to disable the cursor plane + reset position on 
driver side.

So, like with the HW test, we should wait for 2 vblanks to get the 
corresponding CRC value.

Thanks,

Jessica Zhang

[1] 
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tests/kms_cursor_crc.c#L561

[2] 
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/lib/igt_kms.c#L3239

> 
> /Juha-Pekka
> 
>>           igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>>           igt_assert_crc_equal(&crc, hwcrc);
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 19:58   ` Jessica Zhang
@ 2022-09-15 20:07     ` Jessica Zhang
  0 siblings, 0 replies; 15+ messages in thread
From: Jessica Zhang @ 2022-09-15 20:07 UTC (permalink / raw)
  To: juhapekka.heikkila; +Cc: robdclark, igt-dev, petri.latvala



On 9/15/2022 12:58 PM, Jessica Zhang wrote:
> Hi Juha-Pekka
> 
> On 9/15/2022 11:02 AM, Juha-Pekka Heikkila wrote:
>> Hi Jessica,
>>
>> On 15.9.2022 1.58, Jessica Zhang wrote:
>>> Wait an extra vblank for legacy cursor ioctl to finish.
>>>
>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
>>> ioctl is called in both cases.
>>>
>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
>>>
>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>>>
>>> [1] https://patchwork.freedesktop.org/series/105999/
>>> ---
>>>   tests/kms_cursor_crc.c | 8 ++++----
>>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
>>> index 53f18f4f1add..272dcb7fa0a4 100644
>>> --- a/tests/kms_cursor_crc.c
>>> +++ b/tests/kms_cursor_crc.c
>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, 
>>> int y, bool hw_test,
>>>           igt_display_commit(display);
>>>           /* Extra vblank wait is because nonblocking cursor ioctl */
>>> -        igt_wait_for_vblank(data->drm_fd,
>>> -                display->pipes[data->pipe].crtc_offset);
>>> +        igt_wait_for_vblank_count(data->drm_fd,
>>> +                display->pipes[data->pipe].crtc_offset, 2);
>>
>> It will take more than one frame on your target device for non 
>> blocking cursor commit to settle? This cannot be right, even if this 
>> somehow was the case you are breaking this test for everyone else.
> 
> As stated in Rob's original patch [1]:
> 
> "if the cursor update comes too close to vblank,
> it could end up being scheduled for the *following* vblank to avoid
> blocking"
> 
> In the case that the cursor commit is scheduled for the next vblank 
> (let's call it vblank n + 1), the CRC value will be updated in the 
> *following* that vblank (so, vblank n + 2) because the CRC value in MSM 
> updates in the following vblank after a commit [2].

*"... in the vblank *following* that vblank ..."

> 
> Basically, since we're using CRC to validate, we should wait 2 vblanks 
> to get the CRC value that matches the frame where the cursor is 
> committed due to the possibility that the cursor update might come in 
> the next vblank.
> 
> [1] https://patchwork.freedesktop.org/patch/492589/?series=105999&rev=1
> 
> [2] 
> https://gitlab.freedesktop.org/drm/msm/-/blob/msm-next/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c#L591
> 
>>
>>>           igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, 
>>> int y, bool hw_test,
>>>           igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>>>           igt_display_commit(display);
>>> -        igt_wait_for_vblank(data->drm_fd,
>>> -                display->pipes[data->pipe].crtc_offset);
>>> +        igt_wait_for_vblank_count(data->drm_fd,
>>> +                display->pipes[data->pipe].crtc_offset, 2);
>>
>> This change make even less sense to me than above. There's nothing 
>> cursor plane related on this part of test. You are saying flipping 
>> normal framebuffers on non cursor plane take also more than one frame 
>> on your target device? It sound like vblank counting is somehow broken 
>> on your target device if these changes together fix something.
> 
> 2 cursor mode ioctls are actually called during the igt_display_commit 
> here. This is because before a SW test is run, disable_cursor is called 
> ([1], for example). This will just set the FB to NULL and position to 
> (0, 0) on IGT side and the following commit (which is the 
> igt_display_commit called here) will then call drmModeSetCursor and 
> drmModeMoveCursor [2] to disable the cursor plane + reset position on 
> driver side.
> 
> So, like with the HW test, we should wait for 2 vblanks to get the 
> corresponding CRC value.
> 
> Thanks,
> 
> Jessica Zhang
> 
> [1] 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tests/kms_cursor_crc.c#L561
> 
> [2] 
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/lib/igt_kms.c#L3239
> 
>>
>> /Juha-Pekka
>>
>>>           igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>>>           igt_assert_crc_equal(&crc, hwcrc);
>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 19:38       ` Rob Clark
@ 2022-09-15 20:12         ` Juha-Pekka Heikkila
  2022-09-15 21:17           ` Rob Clark
  0 siblings, 1 reply; 15+ messages in thread
From: Juha-Pekka Heikkila @ 2022-09-15 20:12 UTC (permalink / raw)
  To: Rob Clark; +Cc: igt-dev, petri.latvala

On 15.9.2022 22.38, Rob Clark wrote:
> On Thu, Sep 15, 2022 at 12:16 PM Juha-Pekka Heikkila
> <juhapekka.heikkila@gmail.com> wrote:
>>
>> On 15.9.2022 21.39, Rob Clark wrote:
>>> On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
>>> <juhapekka.heikkila@gmail.com> wrote:
>>>>
>>>> Hi Jessica,
>>>>
>>>> On 15.9.2022 1.58, Jessica Zhang wrote:
>>>>> Wait an extra vblank for legacy cursor ioctl to finish.
>>>>>
>>>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
>>>>> ioctl is called in both cases.
>>>>>
>>>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
>>>>>
>>>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>>>>>
>>>>> [1] https://patchwork.freedesktop.org/series/105999/
>>>>> ---
>>>>>     tests/kms_cursor_crc.c | 8 ++++----
>>>>>     1 file changed, 4 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
>>>>> index 53f18f4f1add..272dcb7fa0a4 100644
>>>>> --- a/tests/kms_cursor_crc.c
>>>>> +++ b/tests/kms_cursor_crc.c
>>>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>>>>>                 igt_display_commit(display);
>>>>>
>>>>>                 /* Extra vblank wait is because nonblocking cursor ioctl */
>>>>> -             igt_wait_for_vblank(data->drm_fd,
>>>>> -                             display->pipes[data->pipe].crtc_offset);
>>>>> +             igt_wait_for_vblank_count(data->drm_fd,
>>>>> +                             display->pipes[data->pipe].crtc_offset, 2);
>>>>
>>>> It will take more than one frame on your target device for non blocking
>>>> cursor commit to settle? This cannot be right, even if this somehow was
>>>> the case you are breaking this test for everyone else.
>>>
>>> It is possible, depending on timing, kthread scheduling, etc, for a
>>> legacy cursor to end up getting applied to the next frame.
>>
>> I assume there's not many heavy tasks running on test machines. Let's
>> not forget we're talking about non blocking commit, what you above
>> listed could cause is you'd accidentally actually get that extra frame
>> for cursor to settle.
>>
>>>
>>> How is this breaking the test for anyone else?
>>
>> When testing non blocking commit it is that frame where we know changes
>> should be present which is interesting. Otherwise we can wait even full
>> five frames just to be on safe side to let cursor show up.
> 
> IMO, this is the legay cursor API we are talking about.. on the driver
> side I prioritize not having fps drops over frame exactness, which
> means that sometimes a cursor updates misses the frame.  If userspace
> wants frame-exact cursor updates, it should be using the atomic ioctl,
> as the behaviour there is well (and sanely) specified.  So waiting
> extra frames is fine, otherwise this test will be too flakey to run in
> CI.

This test has been working just fine on all other hw hence you will need 
to show more than your opinion. To me it look like your driver is broken 
and you are wanting this test to pass at any cause hence fix test to 
accept faulty behavior. This test _is_ crc test so frame exactness is 
expected starting from the test name.

/Juha-Pekka

>>
>>>>>
>>>>>                 igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>>>>>
>>>>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>>>>>                 igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>>>>>
>>>>>                 igt_display_commit(display);
>>>>> -             igt_wait_for_vblank(data->drm_fd,
>>>>> -                             display->pipes[data->pipe].crtc_offset);
>>>>> +             igt_wait_for_vblank_count(data->drm_fd,
>>>>> +                             display->pipes[data->pipe].crtc_offset, 2);
>>>>
>>>> This change make even less sense to me than above. There's nothing
>>>> cursor plane related on this part of test. You are saying flipping
>>>> normal framebuffers on non cursor plane take also more than one frame on
>>>> your target device? It sound like vblank counting is somehow broken on
>>>> your target device if these changes together fix something.
>>>>
>>>> /Juha-Pekka
>>>>
>>>>>
>>>>>                 igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>>>>>                 igt_assert_crc_equal(&crc, hwcrc);
>>>>
>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 20:12         ` Juha-Pekka Heikkila
@ 2022-09-15 21:17           ` Rob Clark
  2022-09-16  8:27             ` Ville Syrjälä
  0 siblings, 1 reply; 15+ messages in thread
From: Rob Clark @ 2022-09-15 21:17 UTC (permalink / raw)
  To: juhapekka.heikkila; +Cc: igt-dev, petri.latvala

On Thu, Sep 15, 2022 at 1:13 PM Juha-Pekka Heikkila
<juhapekka.heikkila@gmail.com> wrote:
>
> On 15.9.2022 22.38, Rob Clark wrote:
> > On Thu, Sep 15, 2022 at 12:16 PM Juha-Pekka Heikkila
> > <juhapekka.heikkila@gmail.com> wrote:
> >>
> >> On 15.9.2022 21.39, Rob Clark wrote:
> >>> On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
> >>> <juhapekka.heikkila@gmail.com> wrote:
> >>>>
> >>>> Hi Jessica,
> >>>>
> >>>> On 15.9.2022 1.58, Jessica Zhang wrote:
> >>>>> Wait an extra vblank for legacy cursor ioctl to finish.
> >>>>>
> >>>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
> >>>>> ioctl is called in both cases.
> >>>>>
> >>>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
> >>>>>
> >>>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> >>>>>
> >>>>> [1] https://patchwork.freedesktop.org/series/105999/
> >>>>> ---
> >>>>>     tests/kms_cursor_crc.c | 8 ++++----
> >>>>>     1 file changed, 4 insertions(+), 4 deletions(-)
> >>>>>
> >>>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> >>>>> index 53f18f4f1add..272dcb7fa0a4 100644
> >>>>> --- a/tests/kms_cursor_crc.c
> >>>>> +++ b/tests/kms_cursor_crc.c
> >>>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> >>>>>                 igt_display_commit(display);
> >>>>>
> >>>>>                 /* Extra vblank wait is because nonblocking cursor ioctl */
> >>>>> -             igt_wait_for_vblank(data->drm_fd,
> >>>>> -                             display->pipes[data->pipe].crtc_offset);
> >>>>> +             igt_wait_for_vblank_count(data->drm_fd,
> >>>>> +                             display->pipes[data->pipe].crtc_offset, 2);
> >>>>
> >>>> It will take more than one frame on your target device for non blocking
> >>>> cursor commit to settle? This cannot be right, even if this somehow was
> >>>> the case you are breaking this test for everyone else.
> >>>
> >>> It is possible, depending on timing, kthread scheduling, etc, for a
> >>> legacy cursor to end up getting applied to the next frame.
> >>
> >> I assume there's not many heavy tasks running on test machines. Let's
> >> not forget we're talking about non blocking commit, what you above
> >> listed could cause is you'd accidentally actually get that extra frame
> >> for cursor to settle.
> >>
> >>>
> >>> How is this breaking the test for anyone else?
> >>
> >> When testing non blocking commit it is that frame where we know changes
> >> should be present which is interesting. Otherwise we can wait even full
> >> five frames just to be on safe side to let cursor show up.
> >
> > IMO, this is the legay cursor API we are talking about.. on the driver
> > side I prioritize not having fps drops over frame exactness, which
> > means that sometimes a cursor updates misses the frame.  If userspace
> > wants frame-exact cursor updates, it should be using the atomic ioctl,
> > as the behaviour there is well (and sanely) specified.  So waiting
> > extra frames is fine, otherwise this test will be too flakey to run in
> > CI.
>
> This test has been working just fine on all other hw hence you will need
> to show more than your opinion.

"It works fine on other hw" is not a valid defence of a horrible,
underspecified, legacy api, or some behavior of that API which a test
imagined it should exercise ;-)

> To me it look like your driver is broken
> and you are wanting this test to pass at any cause hence fix test to
> accept faulty behavior. This test _is_ crc test so frame exactness is
> expected starting from the test name.

The driver could be made to have frame exact cursor updates at the
cost of fps drops whenever there are cursor updates.  Which is not an
acceptable solution.

Unfortunately this is a legacy API and we need to deal with userspace
which still uses it.  But I can't find anywhere in the kernel or
commits which added the cursor interface any guarantee of frame
exactness.  In fact on hw which allows you to update the cursor
mid-frame, it is by *definition* not frame-exact!

So, sorry, this is a test problem, not a driver problem.

BR,
-R

>
> /Juha-Pekka
>
> >>
> >>>>>
> >>>>>                 igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
> >>>>>
> >>>>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> >>>>>                 igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
> >>>>>
> >>>>>                 igt_display_commit(display);
> >>>>> -             igt_wait_for_vblank(data->drm_fd,
> >>>>> -                             display->pipes[data->pipe].crtc_offset);
> >>>>> +             igt_wait_for_vblank_count(data->drm_fd,
> >>>>> +                             display->pipes[data->pipe].crtc_offset, 2);
> >>>>
> >>>> This change make even less sense to me than above. There's nothing
> >>>> cursor plane related on this part of test. You are saying flipping
> >>>> normal framebuffers on non cursor plane take also more than one frame on
> >>>> your target device? It sound like vblank counting is somehow broken on
> >>>> your target device if these changes together fix something.
> >>>>
> >>>> /Juha-Pekka
> >>>>
> >>>>>
> >>>>>                 igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
> >>>>>                 igt_assert_crc_equal(&crc, hwcrc);
> >>>>
> >>
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_cursor_crc: Wait extra vblank (rev2)
  2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
                   ` (3 preceding siblings ...)
  2022-09-15 18:02 ` [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Juha-Pekka Heikkila
@ 2022-09-16  3:00 ` Patchwork
  4 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2022-09-16  3:00 UTC (permalink / raw)
  To: Jessica Zhang; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 41832 bytes --]

== Series Details ==

Series: tests/kms_cursor_crc: Wait extra vblank (rev2)
URL   : https://patchwork.freedesktop.org/series/108579/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12142_full -> IGTPW_7787_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_7787_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_7787_full, 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/IGTPW_7787/index.html

Participating hosts (10 -> 8)
------------------------------

  Additional (1): shard-rkl 
  Missing    (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_7787_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_flip@busy-flip@a-hdmi-a1:
    - shard-glk:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-glk9/igt@kms_flip@busy-flip@a-hdmi-a1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk8/igt@kms_flip@busy-flip@a-hdmi-a1.html

  
Known issues
------------

  Here are the changes found in IGTPW_7787_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@process:
    - shard-snb:          NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#1099])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-snb6/igt@gem_ctx_persistence@process.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-iclb:         [PASS][4] -> [SKIP][5] ([i915#4525])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb1/igt@gem_exec_balancer@parallel-bb-first.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_balancer@parallel-out-fence:
    - shard-iclb:         NOTRUN -> [SKIP][6] ([i915#4525])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb3/igt@gem_exec_balancer@parallel-out-fence.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [PASS][7] -> [FAIL][8] ([i915#2842])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl8/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-iclb:         NOTRUN -> [FAIL][9] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
    - shard-tglb:         NOTRUN -> [FAIL][10] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
    - shard-glk:          NOTRUN -> [FAIL][11] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk2/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-glk:          [PASS][12] -> [FAIL][13] ([i915#2842])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-glk7/igt@gem_exec_fair@basic-pace@rcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk2/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-tglb:         [PASS][14] -> [FAIL][15] ([i915#2842]) +2 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglb6/igt@gem_exec_fair@basic-pace@vcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_params@secure-non-root:
    - shard-iclb:         NOTRUN -> [SKIP][16] ([fdo#112283])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb4/igt@gem_exec_params@secure-non-root.html
    - shard-tglb:         NOTRUN -> [SKIP][17] ([fdo#112283])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb1/igt@gem_exec_params@secure-non-root.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [PASS][18] -> [SKIP][19] ([i915#2190])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglb5/igt@gem_huc_copy@huc-copy.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@massive-random:
    - shard-iclb:         NOTRUN -> [SKIP][20] ([i915#4613]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb6/igt@gem_lmem_swapping@massive-random.html

  * igt@gem_lmem_swapping@random:
    - shard-tglb:         NOTRUN -> [SKIP][21] ([i915#4613]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@gem_lmem_swapping@random.html
    - shard-glk:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#4613]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk2/igt@gem_lmem_swapping@random.html

  * igt@gem_lmem_swapping@verify-random-ccs:
    - shard-apl:          NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#4613]) +2 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl7/igt@gem_lmem_swapping@verify-random-ccs.html

  * igt@gem_pxp@protected-raw-src-copy-not-readible:
    - shard-iclb:         NOTRUN -> [SKIP][24] ([i915#4270]) +2 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@gem_pxp@protected-raw-src-copy-not-readible.html

  * igt@gem_pxp@verify-pxp-key-change-after-suspend-resume:
    - shard-tglb:         NOTRUN -> [SKIP][25] ([i915#4270]) +2 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb5/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-iclb:         NOTRUN -> [SKIP][26] ([fdo#109290])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb7/igt@gem_userptr_blits@coherency-sync.html
    - shard-tglb:         NOTRUN -> [SKIP][27] ([fdo#110542])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb6/igt@gem_userptr_blits@coherency-sync.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [PASS][28] -> [DMESG-WARN][29] ([i915#5566] / [i915#716])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-glk8/igt@gen9_exec_parse@allowed-all.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk1/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@basic-rejected:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([i915#2527] / [i915#2856])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb2/igt@gen9_exec_parse@basic-rejected.html
    - shard-iclb:         NOTRUN -> [SKIP][31] ([i915#2856])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb8/igt@gen9_exec_parse@basic-rejected.html

  * igt@i915_module_load@resize-bar:
    - shard-iclb:         NOTRUN -> [SKIP][32] ([i915#6412])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@i915_module_load@resize-bar.html
    - shard-tglb:         NOTRUN -> [SKIP][33] ([i915#6412])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb6/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [PASS][34] -> [SKIP][35] ([fdo#109271])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl7/igt@i915_pm_dc@dc9-dpms.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl4/igt@i915_pm_dc@dc9-dpms.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
    - shard-iclb:         NOTRUN -> [SKIP][36] ([i915#1769] / [i915#3555])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb7/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
    - shard-tglb:         NOTRUN -> [SKIP][37] ([i915#1769] / [i915#3555])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb8/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-iclb:         NOTRUN -> [SKIP][38] ([i915#5286]) +2 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-tglb:         NOTRUN -> [SKIP][39] ([i915#5286]) +2 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([fdo#110725] / [fdo#111614])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb4/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
    - shard-tglb:         NOTRUN -> [SKIP][41] ([fdo#111614])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb2/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
    - shard-iclb:         NOTRUN -> [SKIP][42] ([fdo#110723])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb7/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-tglb:         NOTRUN -> [SKIP][43] ([fdo#111615]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-iclb:         [PASS][44] -> [DMESG-FAIL][45] ([i915#1888])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_big_joiner@2x-modeset:
    - shard-tglb:         NOTRUN -> [SKIP][46] ([i915#2705])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb8/igt@kms_big_joiner@2x-modeset.html
    - shard-iclb:         NOTRUN -> [SKIP][47] ([i915#2705])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb7/igt@kms_big_joiner@2x-modeset.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-glk:          NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#3886]) +2 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk2/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][49] ([fdo#109278] / [i915#3886]) +2 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb6/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs.html
    - shard-tglb:         NOTRUN -> [SKIP][50] ([i915#3689] / [i915#3886])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb2/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_rc_ccs_cc:
    - shard-apl:          NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#3886]) +4 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl8/igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([fdo#109278]) +4 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb4/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-basic-4_tiled_dg2_rc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][53] ([i915#6095])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb3/igt@kms_ccs@pipe-c-crc-primary-basic-4_tiled_dg2_rc_ccs.html

  * igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_dg2_rc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([i915#3689]) +2 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb5/igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_dg2_rc_ccs.html

  * igt@kms_chamelium@dp-audio:
    - shard-iclb:         NOTRUN -> [SKIP][55] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_chamelium@dp-audio.html

  * igt@kms_chamelium@dp-hpd-after-suspend:
    - shard-snb:          NOTRUN -> [SKIP][56] ([fdo#109271] / [fdo#111827]) +2 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-snb7/igt@kms_chamelium@dp-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-edid-read:
    - shard-apl:          NOTRUN -> [SKIP][57] ([fdo#109271] / [fdo#111827]) +6 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl4/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_color_chamelium@ctm-max:
    - shard-tglb:         NOTRUN -> [SKIP][58] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb3/igt@kms_color_chamelium@ctm-max.html
    - shard-glk:          NOTRUN -> [SKIP][59] ([fdo#109271] / [fdo#111827]) +2 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk2/igt@kms_color_chamelium@ctm-max.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
    - shard-iclb:         NOTRUN -> [SKIP][60] ([fdo#109274]) +2 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html
    - shard-tglb:         NOTRUN -> [SKIP][61] ([fdo#109274] / [fdo#111825])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb8/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang:
    - shard-tglb:         NOTRUN -> [SKIP][62] ([fdo#109274] / [fdo#111825] / [i915#3637])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb1/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][63] ([i915#2672]) +3 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][64] ([i915#2587] / [i915#2672]) +3 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb7/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][65] ([i915#3555])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][66] ([i915#2672] / [i915#3555]) +2 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt:
    - shard-iclb:         NOTRUN -> [SKIP][67] ([fdo#109280]) +11 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy:
    - shard-tglb:         NOTRUN -> [SKIP][68] ([i915#6497]) +4 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][69] ([fdo#109271]) +41 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render:
    - shard-apl:          NOTRUN -> [SKIP][70] ([fdo#109271]) +100 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html
    - shard-snb:          NOTRUN -> [SKIP][71] ([fdo#109271]) +81 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-snb7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html
    - shard-tglb:         NOTRUN -> [SKIP][72] ([fdo#109280] / [fdo#111825]) +10 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-tglb:         [PASS][73] -> [SKIP][74] ([i915#433])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglb5/igt@kms_hdmi_inject@inject-audio.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-edp-1:
    - shard-iclb:         [PASS][75] -> [DMESG-WARN][76] ([i915#2867])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb3/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-edp-1.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-edp-1.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][77] ([fdo#112054] / [i915#5288])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_lowres@tiling-yf@pipe-b-edp-1:
    - shard-iclb:         NOTRUN -> [SKIP][78] ([i915#3536]) +2 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_plane_lowres@tiling-yf@pipe-b-edp-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1:
    - shard-iclb:         [PASS][79] -> [SKIP][80] ([i915#5235]) +2 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb1/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk8/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
    - shard-iclb:         NOTRUN -> [SKIP][82] ([fdo#111068] / [i915#658])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
    - shard-apl:          NOTRUN -> [SKIP][83] ([fdo#109271] / [i915#658])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl7/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
    - shard-tglb:         NOTRUN -> [SKIP][84] ([i915#2920])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb8/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-iclb:         [PASS][85] -> [SKIP][86] ([fdo#109642] / [fdo#111068] / [i915#658])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb3/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         NOTRUN -> [SKIP][87] ([fdo#109441])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html
    - shard-tglb:         NOTRUN -> [FAIL][88] ([i915#132] / [i915#3467])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb5/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [PASS][89] -> [SKIP][90] ([fdo#109441]) +2 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@prime_nv_test@i915_nv_sharing:
    - shard-tglb:         NOTRUN -> [SKIP][91] ([fdo#109291])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb8/igt@prime_nv_test@i915_nv_sharing.html
    - shard-iclb:         NOTRUN -> [SKIP][92] ([fdo#109291])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb3/igt@prime_nv_test@i915_nv_sharing.html

  * igt@prime_vgem@fence-read-hang:
    - shard-iclb:         NOTRUN -> [SKIP][93] ([fdo#109295])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb5/igt@prime_vgem@fence-read-hang.html
    - shard-tglb:         NOTRUN -> [SKIP][94] ([fdo#109295])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb8/igt@prime_vgem@fence-read-hang.html

  * igt@sysfs_clients@sema-25:
    - shard-apl:          NOTRUN -> [SKIP][95] ([fdo#109271] / [i915#2994])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl1/igt@sysfs_clients@sema-25.html
    - shard-tglb:         NOTRUN -> [SKIP][96] ([i915#2994])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@sysfs_clients@sema-25.html
    - shard-glk:          NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#2994])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk6/igt@sysfs_clients@sema-25.html
    - shard-iclb:         NOTRUN -> [SKIP][98] ([i915#2994])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb3/igt@sysfs_clients@sema-25.html

  
#### Possible fixes ####

  * igt@feature_discovery@psr2:
    - shard-iclb:         [SKIP][99] ([i915#658]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb6/igt@feature_discovery@psr2.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@feature_discovery@psr2.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-iclb:         [SKIP][101] ([i915#4525]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb8/igt@gem_exec_balancer@parallel-contexts.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb4/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          [FAIL][103] ([i915#2842]) -> [PASS][104] +3 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-glk2/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-apl:          [DMESG-WARN][105] ([i915#5566] / [i915#716]) -> [PASS][106]
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl4/igt@gen9_exec_parse@allowed-single.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl6/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-tglb:         [FAIL][107] ([i915#3989]) -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglb8/igt@i915_pm_dc@dc5-psr.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb3/igt@i915_pm_dc@dc5-psr.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
    - {shard-tglu}:       [FAIL][109] ([i915#3825]) -> [PASS][110]
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglu-6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglu-1/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-apl:          [DMESG-WARN][111] ([i915#180]) -> [PASS][112] +1 similar issue
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl2/igt@i915_suspend@fence-restore-tiled2untiled.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl8/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels@pipe-a-dp-1:
    - shard-apl:          [FAIL][113] -> [PASS][114] +1 similar issue
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels@pipe-a-dp-1.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels@pipe-a-dp-1.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-tglb:         [FAIL][115] ([i915#3743]) -> [PASS][116] +1 similar issue
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglb6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb7/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_cursor_edge_walk@right-edge@pipe-a-dp-1-256x256:
    - shard-apl:          [DMESG-WARN][117] ([i915#62]) -> [PASS][118] +20 similar issues
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl1/igt@kms_cursor_edge_walk@right-edge@pipe-a-dp-1-256x256.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl3/igt@kms_cursor_edge_walk@right-edge@pipe-a-dp-1-256x256.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size:
    - shard-glk:          [FAIL][119] ([i915#2346]) -> [PASS][120]
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html

  * igt@kms_flip@plain-flip-interruptible@a-dp1:
    - shard-apl:          [DMESG-WARN][121] ([i915#1982] / [i915#62]) -> [PASS][122]
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl1/igt@kms_flip@plain-flip-interruptible@a-dp1.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl1/igt@kms_flip@plain-flip-interruptible@a-dp1.html

  * igt@kms_plane_lowres@tiling-y@pipe-c-hdmi-a-1:
    - shard-glk:          [FAIL][123] ([i915#1888]) -> [PASS][124] +1 similar issue
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-glk6/igt@kms_plane_lowres@tiling-y@pipe-c-hdmi-a-1.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-glk6/igt@kms_plane_lowres@tiling-y@pipe-c-hdmi-a-1.html

  * igt@kms_psr@psr2_cursor_mmap_gtt:
    - shard-iclb:         [SKIP][125] ([fdo#109441]) -> [PASS][126] +1 similar issue
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_gtt.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_gtt.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-iclb:         [DMESG-WARN][127] ([i915#2867]) -> [PASS][128]
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb5/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  
#### Warnings ####

  * igt@kms_content_protection@mei_interface:
    - shard-tglb:         [SKIP][129] ([i915#1063]) -> [SKIP][130] ([fdo#109300])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-tglb5/igt@kms_content_protection@mei_interface.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-tglb6/igt@kms_content_protection@mei_interface.html
    - shard-iclb:         [SKIP][131] ([fdo#109300] / [fdo#111066]) -> [SKIP][132] ([fdo#109300])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb2/igt@kms_content_protection@mei_interface.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb1/igt@kms_content_protection@mei_interface.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
    - shard-iclb:         [SKIP][133] ([fdo#111068] / [i915#658]) -> [SKIP][134] ([i915#2920]) +1 similar issue
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-iclb:         [SKIP][135] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][136] ([i915#5939])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-iclb1/igt@kms_psr2_su@page_flip-nv12.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-iclb2/igt@kms_psr2_su@page_flip-nv12.html

  * igt@runner@aborted:
    - shard-apl:          ([FAIL][137], [FAIL][138], [FAIL][139], [FAIL][140], [FAIL][141]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257] / [i915#6599]) -> ([FAIL][142], [FAIL][143]) ([i915#3002] / [i915#4312] / [i915#5257] / [i915#6599])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl8/igt@runner@aborted.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl2/igt@runner@aborted.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl6/igt@runner@aborted.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl4/igt@runner@aborted.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12142/shard-apl4/igt@runner@aborted.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl2/igt@runner@aborted.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/shard-apl3/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109290]: https://bugs.freedesktop.org/show_bug.cgi?id=109290
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
  [fdo#111066]: https://bugs.freedesktop.org/show_bug.cgi?id=111066
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3376]: https://gitlab.freedesktop.org/drm/intel/issues/3376
  [i915#3467]: https://gitlab.freedesktop.org/drm/intel/issues/3467
  [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4016]: https://gitlab.freedesktop.org/drm/intel/issues/4016
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4998]: https://gitlab.freedesktop.org/drm/intel/issues/4998
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5182]: https://gitlab.freedesktop.org/drm/intel/issues/5182
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
  [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
  [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6474]: https://gitlab.freedesktop.org/drm/intel/issues/6474
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6599]: https://gitlab.freedesktop.org/drm/intel/issues/6599
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6656 -> IGTPW_7787
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12142: 8334180f6fee071eaf8c79e630e2e69e140f0ba3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7787: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/index.html
  IGT_6656: 24100c4e181c50e3678aeca9c641b8a43555ad73 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7787/index.html

[-- Attachment #2: Type: text/html, Size: 45428 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-15 21:17           ` Rob Clark
@ 2022-09-16  8:27             ` Ville Syrjälä
  2022-09-16 13:27               ` Rob Clark
  0 siblings, 1 reply; 15+ messages in thread
From: Ville Syrjälä @ 2022-09-16  8:27 UTC (permalink / raw)
  To: Rob Clark; +Cc: igt-dev, petri.latvala

On Thu, Sep 15, 2022 at 02:17:40PM -0700, Rob Clark wrote:
> On Thu, Sep 15, 2022 at 1:13 PM Juha-Pekka Heikkila
> <juhapekka.heikkila@gmail.com> wrote:
> >
> > On 15.9.2022 22.38, Rob Clark wrote:
> > > On Thu, Sep 15, 2022 at 12:16 PM Juha-Pekka Heikkila
> > > <juhapekka.heikkila@gmail.com> wrote:
> > >>
> > >> On 15.9.2022 21.39, Rob Clark wrote:
> > >>> On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
> > >>> <juhapekka.heikkila@gmail.com> wrote:
> > >>>>
> > >>>> Hi Jessica,
> > >>>>
> > >>>> On 15.9.2022 1.58, Jessica Zhang wrote:
> > >>>>> Wait an extra vblank for legacy cursor ioctl to finish.
> > >>>>>
> > >>>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
> > >>>>> ioctl is called in both cases.
> > >>>>>
> > >>>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
> > >>>>>
> > >>>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> > >>>>>
> > >>>>> [1] https://patchwork.freedesktop.org/series/105999/
> > >>>>> ---
> > >>>>>     tests/kms_cursor_crc.c | 8 ++++----
> > >>>>>     1 file changed, 4 insertions(+), 4 deletions(-)
> > >>>>>
> > >>>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > >>>>> index 53f18f4f1add..272dcb7fa0a4 100644
> > >>>>> --- a/tests/kms_cursor_crc.c
> > >>>>> +++ b/tests/kms_cursor_crc.c
> > >>>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> > >>>>>                 igt_display_commit(display);
> > >>>>>
> > >>>>>                 /* Extra vblank wait is because nonblocking cursor ioctl */
> > >>>>> -             igt_wait_for_vblank(data->drm_fd,
> > >>>>> -                             display->pipes[data->pipe].crtc_offset);
> > >>>>> +             igt_wait_for_vblank_count(data->drm_fd,
> > >>>>> +                             display->pipes[data->pipe].crtc_offset, 2);
> > >>>>
> > >>>> It will take more than one frame on your target device for non blocking
> > >>>> cursor commit to settle? This cannot be right, even if this somehow was
> > >>>> the case you are breaking this test for everyone else.
> > >>>
> > >>> It is possible, depending on timing, kthread scheduling, etc, for a
> > >>> legacy cursor to end up getting applied to the next frame.
> > >>
> > >> I assume there's not many heavy tasks running on test machines. Let's
> > >> not forget we're talking about non blocking commit, what you above
> > >> listed could cause is you'd accidentally actually get that extra frame
> > >> for cursor to settle.
> > >>
> > >>>
> > >>> How is this breaking the test for anyone else?
> > >>
> > >> When testing non blocking commit it is that frame where we know changes
> > >> should be present which is interesting. Otherwise we can wait even full
> > >> five frames just to be on safe side to let cursor show up.
> > >
> > > IMO, this is the legay cursor API we are talking about.. on the driver
> > > side I prioritize not having fps drops over frame exactness, which
> > > means that sometimes a cursor updates misses the frame.  If userspace
> > > wants frame-exact cursor updates, it should be using the atomic ioctl,
> > > as the behaviour there is well (and sanely) specified.  So waiting
> > > extra frames is fine, otherwise this test will be too flakey to run in
> > > CI.
> >
> > This test has been working just fine on all other hw hence you will need
> > to show more than your opinion.
> 
> "It works fine on other hw" is not a valid defence of a horrible,
> underspecified, legacy api, or some behavior of that API which a test
> imagined it should exercise ;-)

You're right that the uapi is poorly specified. I think all the
original x86 drivers just bashed the cursor registers directly
from ioctl and thus either got a tearing or mailbox style update
depending on how the hardware worked. Both of which should work
fine with the way the test is written. One could argue that was
the defacto spec for the uapi since that's how all the drivers
worked when the uapi was introduced.

I presume your hw has one of those annoying commit bits that
once locked in can't be undone? And you then schedule the
actual hw commit to happen very close to vblank to work
around that? And sometimes that scheduled thing misses the
current vblank but the ioctl already exited before the
current vblank? I suppose doing vblank evasion when you
do the scheduling would cure it, but that does seem quite
a bit of work for something that's not well specified,
at least if you don't already have a vblank evasion thing
hooked up for something else.

So I guess changing the test might be somewhat reasonable,
the other option would be to just to not run that test on
you hw. But I guess some aspects of the test are still
interesting for you and thus you actually want to run it?

What I don't really like is making the test more forgiving
for drivers that should not need it because that opens the
door for regressions to slip in. Another problem is that
this makes the test slower (how much I dunno since the commit
message didn't have any numbers). For CI purposes we really
don't want tests to take any more time than they have to.

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
  2022-09-16  8:27             ` Ville Syrjälä
@ 2022-09-16 13:27               ` Rob Clark
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Clark @ 2022-09-16 13:27 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev, petri.latvala

On Fri, Sep 16, 2022 at 1:27 AM Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> On Thu, Sep 15, 2022 at 02:17:40PM -0700, Rob Clark wrote:
> > On Thu, Sep 15, 2022 at 1:13 PM Juha-Pekka Heikkila
> > <juhapekka.heikkila@gmail.com> wrote:
> > >
> > > On 15.9.2022 22.38, Rob Clark wrote:
> > > > On Thu, Sep 15, 2022 at 12:16 PM Juha-Pekka Heikkila
> > > > <juhapekka.heikkila@gmail.com> wrote:
> > > >>
> > > >> On 15.9.2022 21.39, Rob Clark wrote:
> > > >>> On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
> > > >>> <juhapekka.heikkila@gmail.com> wrote:
> > > >>>>
> > > >>>> Hi Jessica,
> > > >>>>
> > > >>>> On 15.9.2022 1.58, Jessica Zhang wrote:
> > > >>>>> Wait an extra vblank for legacy cursor ioctl to finish.
> > > >>>>>
> > > >>>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
> > > >>>>> ioctl is called in both cases.
> > > >>>>>
> > > >>>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
> > > >>>>>
> > > >>>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> > > >>>>>
> > > >>>>> [1] https://patchwork.freedesktop.org/series/105999/
> > > >>>>> ---
> > > >>>>>     tests/kms_cursor_crc.c | 8 ++++----
> > > >>>>>     1 file changed, 4 insertions(+), 4 deletions(-)
> > > >>>>>
> > > >>>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> > > >>>>> index 53f18f4f1add..272dcb7fa0a4 100644
> > > >>>>> --- a/tests/kms_cursor_crc.c
> > > >>>>> +++ b/tests/kms_cursor_crc.c
> > > >>>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
> > > >>>>>                 igt_display_commit(display);
> > > >>>>>
> > > >>>>>                 /* Extra vblank wait is because nonblocking cursor ioctl */
> > > >>>>> -             igt_wait_for_vblank(data->drm_fd,
> > > >>>>> -                             display->pipes[data->pipe].crtc_offset);
> > > >>>>> +             igt_wait_for_vblank_count(data->drm_fd,
> > > >>>>> +                             display->pipes[data->pipe].crtc_offset, 2);
> > > >>>>
> > > >>>> It will take more than one frame on your target device for non blocking
> > > >>>> cursor commit to settle? This cannot be right, even if this somehow was
> > > >>>> the case you are breaking this test for everyone else.
> > > >>>
> > > >>> It is possible, depending on timing, kthread scheduling, etc, for a
> > > >>> legacy cursor to end up getting applied to the next frame.
> > > >>
> > > >> I assume there's not many heavy tasks running on test machines. Let's
> > > >> not forget we're talking about non blocking commit, what you above
> > > >> listed could cause is you'd accidentally actually get that extra frame
> > > >> for cursor to settle.
> > > >>
> > > >>>
> > > >>> How is this breaking the test for anyone else?
> > > >>
> > > >> When testing non blocking commit it is that frame where we know changes
> > > >> should be present which is interesting. Otherwise we can wait even full
> > > >> five frames just to be on safe side to let cursor show up.
> > > >
> > > > IMO, this is the legay cursor API we are talking about.. on the driver
> > > > side I prioritize not having fps drops over frame exactness, which
> > > > means that sometimes a cursor updates misses the frame.  If userspace
> > > > wants frame-exact cursor updates, it should be using the atomic ioctl,
> > > > as the behaviour there is well (and sanely) specified.  So waiting
> > > > extra frames is fine, otherwise this test will be too flakey to run in
> > > > CI.
> > >
> > > This test has been working just fine on all other hw hence you will need
> > > to show more than your opinion.
> >
> > "It works fine on other hw" is not a valid defence of a horrible,
> > underspecified, legacy api, or some behavior of that API which a test
> > imagined it should exercise ;-)
>
> You're right that the uapi is poorly specified. I think all the
> original x86 drivers just bashed the cursor registers directly
> from ioctl and thus either got a tearing or mailbox style update
> depending on how the hardware worked. Both of which should work
> fine with the way the test is written. One could argue that was
> the defacto spec for the uapi since that's how all the drivers
> worked when the uapi was introduced.
>
> I presume your hw has one of those annoying commit bits that
> once locked in can't be undone? And you then schedule the
> actual hw commit to happen very close to vblank to work
> around that? And sometimes that scheduled thing misses the
> current vblank but the ioctl already exited before the
> current vblank? I suppose doing vblank evasion when you
> do the scheduling would cure it, but that does seem quite
> a bit of work for something that's not well specified,
> at least if you don't already have a vblank evasion thing
> hooked up for something else.

yup, that is exactly the case, we try to schedule the update shortly
before vblank in hopes of combining it with a pageflip.  (We actually
apply the update to the hw but just defer mashing the flush bits.)

> So I guess changing the test might be somewhat reasonable,
> the other option would be to just to not run that test on
> you hw. But I guess some aspects of the test are still
> interesting for you and thus you actually want to run it?

yeah, I'd rather not completely skip the test because it gives us some
otherwise good coverage

> What I don't really like is making the test more forgiving
> for drivers that should not need it because that opens the
> door for regressions to slip in. Another problem is that
> this makes the test slower (how much I dunno since the commit
> message didn't have any numbers). For CI purposes we really
> don't want tests to take any more time than they have to.

I haven't measured it, but I don't expect an extra 16ms per crc
readback to be so much of a problem.

I guess we could make the # of frames delay configurable based on the
driver name.

BR,
-R

> --
> Ville Syrjälä
> Intel

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-09-16 13:27 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
2022-09-15  1:04 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2022-09-15  2:23 ` [igt-dev] [PATCH i-g-t v1] " Rob Clark
2022-09-15 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork
2022-09-15 18:02 ` [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Juha-Pekka Heikkila
2022-09-15 18:39   ` Rob Clark
2022-09-15 19:16     ` Juha-Pekka Heikkila
2022-09-15 19:38       ` Rob Clark
2022-09-15 20:12         ` Juha-Pekka Heikkila
2022-09-15 21:17           ` Rob Clark
2022-09-16  8:27             ` Ville Syrjälä
2022-09-16 13:27               ` Rob Clark
2022-09-15 19:58   ` Jessica Zhang
2022-09-15 20:07     ` Jessica Zhang
2022-09-16  3:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.