All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] ✓ Fi.CI.BAT: success for Fix mode selection for 2x tests
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-04-09 13:25 ` Patchwork
  2021-04-09 15:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2021-04-09 13:25 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 6460 bytes --]

== Series Details ==

Series: Fix mode selection for 2x tests
URL   : https://patchwork.freedesktop.org/series/88902/
State : success

== Summary ==

CI Bug Log - changes from IGT_6063 -> IGTPW_5724
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_selftest@live@gem_contexts:
    - {fi-cml-drallion}:  NOTRUN -> [DMESG-FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-cml-drallion/igt@i915_selftest@live@gem_contexts.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-kbl-soraka/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@amdgpu/amd_basic@semaphore:
    - fi-icl-y:           NOTRUN -> [SKIP][3] ([fdo#109315]) +17 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-icl-y/igt@amdgpu/amd_basic@semaphore.html

  * igt@gem_huc_copy@huc-copy:
    - fi-skl-guc:         NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#2190])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-skl-guc/igt@gem_huc_copy@huc-copy.html
    - fi-icl-y:           NOTRUN -> [SKIP][5] ([i915#2190])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-icl-y/igt@gem_huc_copy@huc-copy.html

  * igt@gem_linear_blits@basic:
    - fi-tgl-y:           [PASS][6] -> [DMESG-WARN][7] ([i915#402])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/fi-tgl-y/igt@gem_linear_blits@basic.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-tgl-y/igt@gem_linear_blits@basic.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-skl-guc:         NOTRUN -> [SKIP][8] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-skl-guc/igt@kms_chamelium@dp-crc-fast.html
    - fi-icl-y:           NOTRUN -> [SKIP][9] ([fdo#109284] / [fdo#111827]) +8 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-icl-y/igt@kms_chamelium@dp-crc-fast.html

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

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-icl-y:           NOTRUN -> [SKIP][11] ([fdo#109278])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-icl-y/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
    - fi-skl-guc:         NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#533])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-skl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-skl-guc:         NOTRUN -> [SKIP][13] ([fdo#109271]) +26 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-skl-guc/igt@kms_psr@primary_mmap_gtt.html
    - fi-icl-y:           NOTRUN -> [SKIP][14] ([fdo#110189]) +3 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-icl-y/igt@kms_psr@primary_mmap_gtt.html

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

  
#### Possible fixes ####

  * igt@fbdev@write:
    - fi-tgl-y:           [DMESG-WARN][16] ([i915#402]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/fi-tgl-y/igt@fbdev@write.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-tgl-y/igt@fbdev@write.html

  * igt@i915_selftest@live@late_gt_pm:
    - fi-kbl-soraka:      [INCOMPLETE][18] -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/fi-kbl-soraka/igt@i915_selftest@live@late_gt_pm.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/fi-kbl-soraka/igt@i915_selftest@live@late_gt_pm.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#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1208]: https://gitlab.freedesktop.org/drm/intel/issues/1208
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3180]: https://gitlab.freedesktop.org/drm/intel/issues/3180
  [i915#3278]: https://gitlab.freedesktop.org/drm/intel/issues/3278
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533


Participating hosts (44 -> 40)
------------------------------

  Additional (3): fi-icl-y fi-skl-guc fi-cml-drallion 
  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-bsw-n3050 fi-bsw-cyan fi-ctg-p8600 fi-dg1-1 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6063 -> IGTPW_5724

  CI-20190529: 20190529
  CI_DRM_9949: caf1e8d36f0bdd43bfd47e5a6f46d4b691d284e3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5724: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/index.html
  IGT_6063: d3b7f74ce5df6fdea03e490b7c64f0c6bfe76f03 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 7571 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for Fix mode selection for 2x tests
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
  2021-04-09 13:25 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2021-04-09 15:55 ` Patchwork
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 1/5] lib/igt_kms: Add a support to read PATH connector property Bhanuprakash Modem
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2021-04-09 15:55 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 30249 bytes --]

== Series Details ==

Series: Fix mode selection for 2x tests
URL   : https://patchwork.freedesktop.org/series/88902/
State : success

== Summary ==

CI Bug Log - changes from IGT_6063_full -> IGTPW_5724_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_create@create-clear:
    - shard-glk:          [PASS][1] -> [FAIL][2] ([i915#3160])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk7/igt@gem_create@create-clear.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk4/igt@gem_create@create-clear.html

  * igt@gem_create@create-massive:
    - shard-snb:          NOTRUN -> [DMESG-WARN][3] ([i915#3002])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb6/igt@gem_create@create-massive.html
    - shard-kbl:          NOTRUN -> [DMESG-WARN][4] ([i915#3002])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@gem_create@create-massive.html
    - shard-apl:          NOTRUN -> [DMESG-WARN][5] ([i915#3002])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl1/igt@gem_create@create-massive.html

  * igt@gem_ctx_persistence@legacy-engines-mixed:
    - shard-snb:          NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#1099]) +6 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb5/igt@gem_ctx_persistence@legacy-engines-mixed.html

  * igt@gem_eio@unwedge-stress:
    - shard-snb:          NOTRUN -> [FAIL][7] ([i915#3354])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb6/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [PASS][8] -> [FAIL][9] ([i915#2842]) +3 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl3/igt@gem_exec_fair@basic-pace@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl3/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-glk:          [PASS][10] -> [FAIL][11] ([i915#2842]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk5/igt@gem_exec_fair@basic-throttle@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk6/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_reloc@basic-wide-active@rcs0:
    - shard-snb:          NOTRUN -> [FAIL][12] ([i915#2389]) +2 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb6/igt@gem_exec_reloc@basic-wide-active@rcs0.html

  * igt@gem_exec_reloc@basic-wide-active@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][13] ([i915#2389])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb4/igt@gem_exec_reloc@basic-wide-active@vcs1.html

  * igt@gem_huc_copy@huc-copy:
    - shard-apl:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#2190])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl7/igt@gem_huc_copy@huc-copy.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-snb:          NOTRUN -> [WARN][15] ([i915#2658])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb5/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_userptr_blits@process-exit-mmap@wb:
    - shard-apl:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#1699]) +3 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl1/igt@gem_userptr_blits@process-exit-mmap@wb.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-tglb:         NOTRUN -> [SKIP][17] ([i915#3297])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb6/igt@gem_userptr_blits@readonly-unsync.html
    - shard-iclb:         NOTRUN -> [SKIP][18] ([i915#3297])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb6/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gem_userptr_blits@set-cache-level:
    - shard-snb:          NOTRUN -> [FAIL][19] ([i915#3324])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb2/igt@gem_userptr_blits@set-cache-level.html
    - shard-apl:          NOTRUN -> [FAIL][20] ([i915#3324])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl6/igt@gem_userptr_blits@set-cache-level.html

  * igt@gem_workarounds@suspend-resume:
    - shard-snb:          [PASS][21] -> [TIMEOUT][22] ([i915#2808])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-snb2/igt@gem_workarounds@suspend-resume.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb7/igt@gem_workarounds@suspend-resume.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          [PASS][23] -> [DMESG-WARN][24] ([i915#180]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl4/igt@gem_workarounds@suspend-resume-fd.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen7_exec_parse@basic-rejected:
    - shard-tglb:         NOTRUN -> [SKIP][25] ([fdo#109289])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb2/igt@gen7_exec_parse@basic-rejected.html
    - shard-iclb:         NOTRUN -> [SKIP][26] ([fdo#109289])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb3/igt@gen7_exec_parse@basic-rejected.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-snb:          NOTRUN -> [SKIP][27] ([fdo#109271]) +331 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb2/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-kbl:          NOTRUN -> [FAIL][28] ([i915#454])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl3/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - shard-apl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#1937])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl8/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglb:         NOTRUN -> [WARN][30] ([i915#2681])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb2/igt@i915_pm_rc6_residency@rc6-fence.html
    - shard-iclb:         NOTRUN -> [WARN][31] ([i915#1804] / [i915#2684])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb4/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rpm@modeset-lpsp-stress:
    - shard-apl:          NOTRUN -> [SKIP][32] ([fdo#109271]) +205 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl6/igt@i915_pm_rpm@modeset-lpsp-stress.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-apl:          [PASS][33] -> [DMESG-WARN][34] ([i915#180])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-apl2/igt@i915_suspend@fence-restore-untiled.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl2/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][35] ([fdo#110725] / [fdo#111614]) +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb4/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-glk:          NOTRUN -> [SKIP][36] ([fdo#109271]) +14 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk4/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#111614]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb5/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][38] ([fdo#111615])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb6/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html

  * igt@kms_chamelium@hdmi-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +21 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl6/igt@kms_chamelium@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-snb:          NOTRUN -> [SKIP][40] ([fdo#109271] / [fdo#111827]) +16 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb6/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_color_chamelium@pipe-b-degamma:
    - shard-glk:          NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk9/igt@kms_color_chamelium@pipe-b-degamma.html
    - shard-tglb:         NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb2/igt@kms_color_chamelium@pipe-b-degamma.html
    - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#109284] / [fdo#111827])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb4/igt@kms_color_chamelium@pipe-b-degamma.html

  * igt@kms_color_chamelium@pipe-c-ctm-0-25:
    - shard-kbl:          NOTRUN -> [SKIP][44] ([fdo#109271] / [fdo#111827]) +10 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@kms_color_chamelium@pipe-c-ctm-0-25.html

  * igt@kms_content_protection@lic:
    - shard-kbl:          NOTRUN -> [TIMEOUT][45] ([i915#1319])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@kms_content_protection@lic.html

  * igt@kms_content_protection@uevent:
    - shard-apl:          NOTRUN -> [FAIL][46] ([i915#2105])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl7/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-c-cursor-512x512-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][47] ([fdo#109279] / [i915#3359])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb3/igt@kms_cursor_crc@pipe-c-cursor-512x512-onscreen.html
    - shard-iclb:         NOTRUN -> [SKIP][48] ([fdo#109278] / [fdo#109279])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb5/igt@kms_cursor_crc@pipe-c-cursor-512x512-onscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-64x64-random:
    - shard-kbl:          [PASS][49] -> [FAIL][50] ([i915#54])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-64x64-random.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl3/igt@kms_cursor_crc@pipe-c-cursor-64x64-random.html
    - shard-apl:          NOTRUN -> [FAIL][51] ([i915#54]) +1 similar issue
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl8/igt@kms_cursor_crc@pipe-c-cursor-64x64-random.html
    - shard-glk:          [PASS][52] -> [FAIL][53] ([i915#54])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk2/igt@kms_cursor_crc@pipe-c-cursor-64x64-random.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk9/igt@kms_cursor_crc@pipe-c-cursor-64x64-random.html

  * igt@kms_cursor_crc@pipe-d-cursor-256x85-onscreen:
    - shard-iclb:         NOTRUN -> [SKIP][54] ([fdo#109278]) +2 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb6/igt@kms_cursor_crc@pipe-d-cursor-256x85-onscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-kbl:          NOTRUN -> [SKIP][55] ([fdo#109271]) +103 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl6/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_cursor_legacy@pipe-d-torture-bo:
    - shard-kbl:          NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#533]) +1 similar issue
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@kms_cursor_legacy@pipe-d-torture-bo.html

  * igt@kms_draw_crc@draw-method-rgb565-render-ytiled:
    - shard-glk:          [PASS][57] -> [FAIL][58] ([i915#52] / [i915#54]) +2 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk9/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk7/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-pwrite-xtiled:
    - shard-glk:          NOTRUN -> [FAIL][59] ([i915#52] / [i915#54])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk6/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-xtiled.html

  * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1:
    - shard-glk:          [PASS][60] -> [FAIL][61] ([i915#79])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-apl:          NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#2672])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile:
    - shard-apl:          NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#2642]) +1 similar issue
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-iclb:         [PASS][64] -> [FAIL][65] ([i915#49])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff:
    - shard-iclb:         NOTRUN -> [SKIP][66] ([fdo#109280])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff.html
    - shard-tglb:         NOTRUN -> [SKIP][67] ([fdo#111825])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-tglb:         [PASS][68] -> [SKIP][69] ([i915#433])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-tglb3/igt@kms_hdmi_inject@inject-audio.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb3/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][70] ([fdo#108145] / [i915#265]) +2 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl7/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
    - shard-kbl:          NOTRUN -> [FAIL][71] ([fdo#108145] / [i915#265])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl2/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][72] ([i915#265])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl2/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-iclb:         NOTRUN -> [SKIP][73] ([i915#658])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb5/igt@kms_psr2_sf@cursor-plane-update-sf.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1:
    - shard-kbl:          NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#658]) +2 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl3/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
    - shard-apl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#658]) +6 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl1/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html

  * igt@kms_psr2_su@page_flip:
    - shard-glk:          NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#658]) +1 similar issue
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk7/igt@kms_psr2_su@page_flip.html
    - shard-iclb:         NOTRUN -> [SKIP][77] ([fdo#109642] / [fdo#111068] / [i915#658])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb3/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_primary_render:
    - shard-iclb:         NOTRUN -> [SKIP][78] ([fdo#109441])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb7/igt@kms_psr@psr2_primary_render.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [PASS][79] -> [SKIP][80] ([fdo#109441]) +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb1/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_sysfs_edid_timing:
    - shard-apl:          NOTRUN -> [FAIL][81] ([IGT#2])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl6/igt@kms_sysfs_edid_timing.html

  * igt@kms_writeback@writeback-check-output:
    - shard-kbl:          NOTRUN -> [SKIP][82] ([fdo#109271] / [i915#2437])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl1/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-apl:          NOTRUN -> [SKIP][83] ([fdo#109271] / [i915#2437])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl8/igt@kms_writeback@writeback-fb-id.html

  * igt@prime_udl:
    - shard-iclb:         NOTRUN -> [SKIP][84] ([fdo#109291])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb5/igt@prime_udl.html
    - shard-tglb:         NOTRUN -> [SKIP][85] ([fdo#109291])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb6/igt@prime_udl.html

  * igt@prime_vgem@fence-write-hang:
    - shard-iclb:         NOTRUN -> [SKIP][86] ([fdo#109295])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb8/igt@prime_vgem@fence-write-hang.html
    - shard-tglb:         NOTRUN -> [SKIP][87] ([fdo#109295])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb7/igt@prime_vgem@fence-write-hang.html

  * igt@runner@aborted:
    - shard-apl:          NOTRUN -> ([FAIL][88], [FAIL][89]) ([i915#180] / [i915#3002])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl1/igt@runner@aborted.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl2/igt@runner@aborted.html

  * igt@sysfs_clients@recycle-many:
    - shard-apl:          NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#2994]) +3 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-apl6/igt@sysfs_clients@recycle-many.html
    - shard-kbl:          NOTRUN -> [SKIP][91] ([fdo#109271] / [i915#2994]) +1 similar issue
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl4/igt@sysfs_clients@recycle-many.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-iclb:         [FAIL][92] ([i915#2842]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb6/igt@gem_exec_fair@basic-none-share@rcs0.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb8/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [FAIL][94] ([i915#2842]) -> [PASS][95] +1 similar issue
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-tglb3/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-tglb5/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-glk:          [FAIL][96] ([i915#2842]) -> [PASS][97] +3 similar issues
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk5/igt@gem_exec_fair@basic-pace@vecs0.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk8/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_whisper@basic-contexts-priority-all:
    - shard-glk:          [DMESG-WARN][98] ([i915#118] / [i915#95]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk3/igt@gem_exec_whisper@basic-contexts-priority-all.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk9/igt@gem_exec_whisper@basic-contexts-priority-all.html

  * igt@gem_mmap_gtt@cpuset-basic-small-copy-xy:
    - shard-glk:          [FAIL][100] ([i915#307]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk8/igt@gem_mmap_gtt@cpuset-basic-small-copy-xy.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk2/igt@gem_mmap_gtt@cpuset-basic-small-copy-xy.html

  * igt@gem_mmap_gtt@cpuset-big-copy-odd:
    - shard-iclb:         [FAIL][102] ([i915#2428]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb3/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb4/igt@gem_mmap_gtt@cpuset-big-copy-odd.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-wc-untiled:
    - shard-glk:          [FAIL][104] ([i915#52] / [i915#54]) -> [PASS][105] +5 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-untiled.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-glk7/igt@kms_draw_crc@draw-method-rgb565-mmap-wc-untiled.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-kbl:          [DMESG-WARN][106] ([i915#180]) -> [PASS][107] +5 similar issues
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-snb:          [DMESG-WARN][108] -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-snb2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-snb5/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_psr@psr2_cursor_render:
    - shard-iclb:         [SKIP][110] ([fdo#109441]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb3/igt@kms_psr@psr2_cursor_render.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb2/igt@kms_psr@psr2_cursor_render.html

  
#### Warnings ####

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][112] ([fdo#109349]) -> [DMESG-WARN][113] ([i915#1226])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb5/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-2:
    - shard-iclb:         [SKIP][114] ([i915#658]) -> [SKIP][115] ([i915#2920])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb5/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-3:
    - shard-iclb:         [SKIP][116] ([i915#2920]) -> [SKIP][117] ([i915#658]) +1 similar issue
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-3.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-iclb7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-3.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][118], [FAIL][119], [FAIL][120], [FAIL][121], [FAIL][122], [FAIL][123]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#2292] / [i915#3002]) -> ([FAIL][124], [FAIL][125], [FAIL][126], [FAIL][127], [FAIL][128]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#3002])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl4/igt@runner@aborted.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl7/igt@runner@aborted.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl4/igt@runner@aborted.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl7/igt@runner@aborted.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl7/igt@runner@aborted.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_6063/shard-kbl7/igt@runner@aborted.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@runner@aborted.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@runner@aborted.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl7/igt@runner@aborted.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5724/shard-kbl1/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).

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [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#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
  [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#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
  [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1699]: https://gitlab.freedesktop.org/drm/intel/issues/1699
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
  [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2105]: https://gitlab.freedesktop.org/drm/intel/issues/2105
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2292]: https://gitlab.freedesktop.org/drm/intel/issues/2292
  [i915#2389]: https://gitlab.freedesktop.org/drm/intel/issues/2389
  [i915#2428]: https://gitlab.freedesktop.org/drm/intel/issues/2428
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2642]: https://gitlab.freedesktop.org/drm/intel/issues/2642
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
  [i915#2808]: https://gitlab.freedesktop.org/drm/intel/issues/2808
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [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#307]: https://gitlab.freedesktop.org/drm/intel/issues/307
  [i915#3160]: https://gitlab.freedesktop.org/drm/intel/issues/3160
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3324]: https://gitlab.freedesktop.org/drm/intel/issues/3324
  [i915#3354]: https://gitlab.freedesktop.org/drm/intel/issues/3354
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


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

  No changes in participating

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 38301 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
@ 2021-04-09 19:30 Bhanuprakash Modem
  2021-04-09 13:25 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Bhanuprakash Modem @ 2021-04-09 19:30 UTC (permalink / raw)
  To: igt-dev

When two monitors connected through MST, the second monitor also
tries to use the same mode. So two such modes may not fit into the
link bandwidth.

This series will find a combination of modes that fit into the BW.

By parsing the PATH property, we can add a link_group_id field to
igt_output_t to identify all connectors that shares the BW of the
same link.

Parsing the PATH property consists of finding all connectors with
the same X prefix in the X-Y[-Z...] path property format and assigning
a unique non-zero link_group_id to all such connectors. Connectors
without a PATH property are not an MST output, so their link_group_id
can be left at 0.

IGT core helper would override the mode on all connectors that will
be modeset by the next igt_display_commit() call in the test. These
are all the connectors in igt_display_t that have a pending_pipe set
by the test up to the point of calling this helper.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Bhanuprakash Modem (5):
  lib/igt_kms: Add a support to read PATH connector property
  lib/igt_kms: Identify outputs that shares link bandwidth
  lib/igt_kms: helper to override the mode on all connectors
  tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
  tests/kms_cursor_legacy: Fix mode selection for 2x tests

 lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
 lib/igt_kms.h                    |  3 ++
 tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
 tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
 4 files changed, 159 insertions(+), 3 deletions(-)

--
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 1/5] lib/igt_kms: Add a support to read PATH connector property
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
  2021-04-09 13:25 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2021-04-09 15:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2021-04-09 19:30 ` Bhanuprakash Modem
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 2/5] lib/igt_kms: Identify outputs that shares link bandwidth Bhanuprakash Modem
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Bhanuprakash Modem @ 2021-04-09 19:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Add a support to read the connector property "PATH"

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 lib/igt_kms.c | 1 +
 lib/igt_kms.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 08d429a81..f1a989368 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -426,6 +426,7 @@ const char * const igt_connector_prop_names[IGT_NUM_CONNECTOR_PROPS] = {
 	[IGT_CONNECTOR_WRITEBACK_FB_ID] = "WRITEBACK_FB_ID",
 	[IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR] = "WRITEBACK_OUT_FENCE_PTR",
 	[IGT_CONNECTOR_DITHERING_MODE] = "dithering mode",
+	[IGT_CONNECTOR_PATH] = "PATH",
 };
 
 /*
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 09b10b3e0..39a1ea570 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -132,6 +132,7 @@ enum igt_atomic_connector_properties {
        IGT_CONNECTOR_WRITEBACK_FB_ID,
        IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR,
        IGT_CONNECTOR_DITHERING_MODE,
+       IGT_CONNECTOR_PATH,
        IGT_NUM_CONNECTOR_PROPS
 };
 
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 2/5] lib/igt_kms: Identify outputs that shares link bandwidth
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (2 preceding siblings ...)
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 1/5] lib/igt_kms: Add a support to read PATH connector property Bhanuprakash Modem
@ 2021-04-09 19:30 ` Bhanuprakash Modem
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 3/5] lib/igt_kms: helper to override the mode on all connectors Bhanuprakash Modem
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Bhanuprakash Modem @ 2021-04-09 19:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

We have to read the PATH property and parse it to identify the
connector that shares the BW of the same link. Parsing the PATH
property consists of finding all connectors with the same X prefix
in the X-Y[-Z...] path property format and assigning a unique
non-zero link_group_id to all such connectors.

Connectors without a PATH property are not an MST output, so their
link_group_id can be left at 0.

v2:
Update the link_group_id in igt_output_refresh(). (Ankit)

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 lib/igt_kms.c | 29 +++++++++++++++++++++++++++++
 lib/igt_kms.h |  1 +
 2 files changed, 30 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index f1a989368..1ba938982 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1684,6 +1684,32 @@ static void igt_display_log_shift(igt_display_t *display, int shift)
 	igt_assert(display->log_shift >= 0);
 }
 
+static
+void igt_update_output_link_group_id(int drmfd, igt_output_t *output)
+{
+	uint64_t blob_id;
+	drmModePropertyBlobPtr blob;
+	char *temp;
+
+	if(!igt_output_has_prop(output, IGT_CONNECTOR_PATH)) {
+		output->link_group_id = 0;
+		return;
+	}
+
+	blob_id = igt_output_get_prop(output, IGT_CONNECTOR_PATH);
+	blob = drmModeGetPropertyBlob(drmfd, blob_id);
+	igt_assert(blob);
+
+	temp = strtok((char *)blob->data, ":");
+	if (strcmp(temp, "mst") == 0)
+		output->link_group_id = atoi(strtok(NULL, "-"));
+	else
+		output->link_group_id = 0;
+
+	drmModeFreePropertyBlob(blob);
+	return;
+}
+
 void igt_output_refresh(igt_output_t *output)
 {
 	igt_display_t *display = output->display;
@@ -1709,6 +1735,9 @@ void igt_output_refresh(igt_output_t *output)
 		igt_atomic_fill_connector_props(display, output,
 			IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
 
+	/* Identify all connectors that share the BW of the same link */
+	igt_update_output_link_group_id(display->drm_fd, output);
+
 	LOG(display, "%s: Selecting pipe %s\n", output->name,
 	    kmstest_pipe_name(output->pending_pipe));
 }
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 39a1ea570..c828e78b5 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -386,6 +386,7 @@ typedef struct {
 	drmModeModeInfo override_mode;
 
 	int32_t writeback_out_fence_fd;
+	int link_group_id;
 
 	/* bitmask of changed properties */
 	uint64_t changed;
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 3/5] lib/igt_kms: helper to override the mode on all connectors
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (3 preceding siblings ...)
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 2/5] lib/igt_kms: Identify outputs that shares link bandwidth Bhanuprakash Modem
@ 2021-04-09 19:30 ` Bhanuprakash Modem
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 4/5] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Bhanuprakash Modem @ 2021-04-09 19:30 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

This helper will iterate through all connectors those have a
pending_pipe != PIPE_NONE set by the test upto the point of
calling this helper. And find the combination using the most
bandwidth by ATOMIC_TEST_ONLY then return to the test.

This helper would override the mode on all connectors that will
be modeset by the next igt_display_commit() call in the test.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 lib/igt_kms.c | 41 +++++++++++++++++++++++++++++++++++++++++
 lib/igt_kms.h |  1 +
 2 files changed, 42 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1ba938982..c439456c5 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3871,6 +3871,47 @@ void igt_output_set_pipe(igt_output_t *output, enum pipe pipe)
 	}
 }
 
+#define for_each_connector_mode(output)		\
+	for (int i__ = 0;  i__ < output->config.connector->count_modes; i__++)
+
+static
+bool __override_all_active_output_modes_to_fit_link_bw(igt_display_t *display, int base)
+{
+	for ( ; base < display->n_outputs; base++) {
+		igt_output_t *output = &display->outputs[base];
+
+		if (output->pending_pipe == PIPE_NONE ||
+		    output->link_group_id <= 0)
+			continue;
+
+		for_each_connector_mode(output) {
+			igt_output_override_mode(output, &output->config.connector->modes[i__]);
+			if(__override_all_active_output_modes_to_fit_link_bw(display, base + 1))
+				return true;
+
+			if(igt_display_try_commit_atomic(display,
+					DRM_MODE_ATOMIC_TEST_ONLY |
+					DRM_MODE_ATOMIC_ALLOW_MODESET,
+					NULL) == 0)
+				return true;
+		}
+	}
+	return false;
+}
+
+/**
+ * override_all_active_output_modes_to_fit_link_bw:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Override the mode on all connectors those are sharing the link bw
+ *
+ * Returns: true if a valid connector mode combo found, else false
+ */
+bool override_all_active_output_modes_to_fit_link_bw(igt_display_t *display)
+{
+	return __override_all_active_output_modes_to_fit_link_bw(display, 0);
+}
+
 /*
  * igt_pipe_refresh:
  * @display: a pointer to an #igt_display_t structure
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index c828e78b5..2998cf377 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -894,5 +894,6 @@ void igt_require_pipe(igt_display_t *display,
 
 void igt_dump_connectors_fd(int drmfd);
 void igt_dump_crtcs_fd(int drmfd);
+bool override_all_active_output_modes_to_fit_link_bw(igt_display_t *display);
 
 #endif /* __IGT_KMS_H__ */
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 4/5] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (4 preceding siblings ...)
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 3/5] lib/igt_kms: helper to override the mode on all connectors Bhanuprakash Modem
@ 2021-04-09 19:30 ` Bhanuprakash Modem
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 5/5] tests/kms_cursor_legacy: " Bhanuprakash Modem
  2021-04-09 20:18 ` [igt-dev] [PATCH i-g-t 0/5] " Daniel Vetter
  7 siblings, 0 replies; 17+ messages in thread
From: Bhanuprakash Modem @ 2021-04-09 19:30 UTC (permalink / raw)
  To: igt-dev

When two monitors connected through MST, the second monitor also
tries to use the same mode. So two such modes may not fit into the
link bandwidth.

This patch will find a combination of modes that fit into the BW.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 2e74bec6f..1c9b76a18 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -1683,6 +1683,33 @@ static void enable_prim_screen_and_wait(const struct test_mode *t)
 	do_assertions(ASSERT_NO_ACTION_CHANGE);
 }

+static void update_modeset_cached_params(void)
+{
+	bool found = false;
+
+	igt_output_set_pipe(prim_mode_params.output, prim_mode_params.pipe);
+	igt_output_set_pipe(scnd_mode_params.output, scnd_mode_params.pipe);
+
+	found = override_all_active_output_modes_to_fit_link_bw(&drm.display);
+	igt_require_f(found, "No valid mode combo found.\n");
+
+	prim_mode_params.mode_copy = *igt_output_get_mode(prim_mode_params.output);
+	prim_mode_params.mode = &prim_mode_params.mode_copy;
+	prim_mode_params.primary.w = prim_mode_params.mode->hdisplay;
+	prim_mode_params.primary.h = prim_mode_params.mode->vdisplay;
+
+	scnd_mode_params.mode_copy = *igt_output_get_mode(scnd_mode_params.output);
+	scnd_mode_params.mode = &scnd_mode_params.mode_copy;
+	scnd_mode_params.primary.w = scnd_mode_params.mode->hdisplay;
+	scnd_mode_params.primary.h = scnd_mode_params.mode->vdisplay;
+
+	fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG);
+	fill_fb_region(&scnd_mode_params.primary, COLOR_SCND_BG);
+
+	__set_mode_for_params(&prim_mode_params);
+	__set_mode_for_params(&scnd_mode_params);
+}
+
 static void enable_both_screens_and_wait(const struct test_mode *t)
 {
 	fill_fb_region(&prim_mode_params.primary, COLOR_PRIM_BG);
@@ -1691,6 +1718,14 @@ static void enable_both_screens_and_wait(const struct test_mode *t)
 	__set_mode_for_params(&prim_mode_params);
 	__set_mode_for_params(&scnd_mode_params);

+	if (prim_mode_params.output->link_group_id != 0 &&
+	    prim_mode_params.output->link_group_id == scnd_mode_params.output->link_group_id &&
+	    igt_display_try_commit_atomic(&drm.display,
+					  DRM_MODE_ATOMIC_TEST_ONLY |
+					  DRM_MODE_ATOMIC_ALLOW_MODESET,
+					  NULL) != 0)
+		update_modeset_cached_params();
+
 	igt_display_commit2(&drm.display, drm.display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);

 	wanted_crc = &blue_crcs[t->format].crc;
--
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 5/5] tests/kms_cursor_legacy: Fix mode selection for 2x tests
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (5 preceding siblings ...)
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 4/5] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-04-09 19:30 ` Bhanuprakash Modem
  2021-04-09 20:18 ` [igt-dev] [PATCH i-g-t 0/5] " Daniel Vetter
  7 siblings, 0 replies; 17+ messages in thread
From: Bhanuprakash Modem @ 2021-04-09 19:30 UTC (permalink / raw)
  To: igt-dev

When two monitors connected through MST, the second monitor also
tries to use the same mode. So two such modes may not fit into the
link bandwidth.

This patch will find a combination of modes that fit into the BW.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_cursor_legacy.c | 53 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 3 deletions(-)

diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 4723e1ff9..2fe11441c 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -50,6 +50,15 @@ IGT_TEST_DESCRIPTION("Stress legacy cursor ioctl");

 igt_pipe_crc_t *pipe_crc;

+static void override_output_modes(igt_display_t *display, igt_output_t *output, igt_output_t *output2)
+{
+	bool found = override_all_active_output_modes_to_fit_link_bw(display);
+	igt_require_f(found, "No valid mode combo found.\n");
+
+	output->pending_pipe = PIPE_NONE;
+	output2->pending_pipe = PIPE_NONE;
+}
+
 static void stress(igt_display_t *display,
 		   enum pipe pipe, int num_children, unsigned mode,
 		   int timeout)
@@ -393,6 +402,7 @@ static void flip(igt_display_t *display,
 	struct drm_mode_cursor arg[2];
 	uint64_t *results;
 	struct igt_fb fb_info, fb_info2, argb_fb, cursor_fb, cursor_fb2;
+	igt_output_t *output, *output2;

 	results = mmap(NULL, PAGE_SIZE, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
 	igt_assert(results != MAP_FAILED);
@@ -406,9 +416,22 @@ static void flip(igt_display_t *display,
 	if (mode >= flip_test_atomic)
 		igt_require(display->is_atomic);

-	igt_require(set_fb_on_crtc(display, flip_pipe, &fb_info));
-	if (flip_pipe != cursor_pipe)
-		igt_require(set_fb_on_crtc(display, cursor_pipe, &fb_info2));
+	igt_require((output = set_fb_on_crtc(display, flip_pipe, &fb_info)));
+	if (flip_pipe != cursor_pipe) {
+		igt_require((output2 = set_fb_on_crtc(display, cursor_pipe, &fb_info2)));
+
+		if (output->link_group_id != 0 &&
+		    output->link_group_id == output2->link_group_id &&
+		    igt_display_try_commit_atomic(display,
+					  DRM_MODE_ATOMIC_TEST_ONLY |
+					  DRM_MODE_ATOMIC_ALLOW_MODESET,
+					  NULL) != 0) {
+			override_output_modes(display, output, output2);
+
+			igt_require((output = set_fb_on_crtc(display, flip_pipe, &fb_info)));
+			igt_require((output2 = set_fb_on_crtc(display, cursor_pipe, &fb_info2)));
+		}
+	}

 	igt_create_color_fb(display->drm_fd, fb_info.width, fb_info.height, DRM_FORMAT_ARGB8888, 0, .5, .5, .5, &cursor_fb);

@@ -879,6 +902,18 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
 	igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
 	igt_require((output2 = set_fb_on_crtc(display, pipe2, &fb2_info)));

+	if (output->link_group_id != 0 &&
+	    output->link_group_id == output2->link_group_id &&
+	    igt_display_try_commit_atomic(display,
+					  DRM_MODE_ATOMIC_TEST_ONLY |
+					  DRM_MODE_ATOMIC_ALLOW_MODESET,
+					  NULL) != 0) {
+		override_output_modes(display, output, output2);
+
+		igt_require((output = set_fb_on_crtc(display, pipe, &fb_info)));
+		igt_require((output2 = set_fb_on_crtc(display, pipe2, &fb2_info)));
+	}
+
 	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);
 	set_cursor_on_pipe(display, pipe, &cursor_fb);
 	populate_cursor_args(display, pipe, arg1, &cursor_fb);
@@ -1129,6 +1164,18 @@ static void two_screens_cursor_vs_flip(igt_display_t *display, int nloops, bool
 	igt_require((outputs[0] = set_fb_on_crtc(display, pipe[0], &fb_info[0])));
 	igt_require((outputs[1] = set_fb_on_crtc(display, pipe[1], &fb_info[1])));

+	if (outputs[0]->link_group_id != 0 &&
+	    outputs[0]->link_group_id == outputs[1]->link_group_id &&
+	    igt_display_try_commit_atomic(display,
+					  DRM_MODE_ATOMIC_TEST_ONLY |
+					  DRM_MODE_ATOMIC_ALLOW_MODESET,
+					  NULL) != 0) {
+		override_output_modes(display, outputs[0], outputs[1]);
+
+		igt_require((outputs[0] = set_fb_on_crtc(display, pipe[0], &fb_info[0])));
+		igt_require((outputs[1] = set_fb_on_crtc(display, pipe[1], &fb_info[1])));
+	}
+
 	igt_create_color_fb(display->drm_fd, 64, 64, DRM_FORMAT_ARGB8888, 0, 1., 1., 1., &cursor_fb);

 	set_cursor_on_pipe(display, pipe[0], &cursor_fb);
--
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (6 preceding siblings ...)
  2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 5/5] tests/kms_cursor_legacy: " Bhanuprakash Modem
@ 2021-04-09 20:18 ` Daniel Vetter
  2021-04-12  3:51   ` Modem, Bhanuprakash
  7 siblings, 1 reply; 17+ messages in thread
From: Daniel Vetter @ 2021-04-09 20:18 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: IGT development

On Fri, Apr 9, 2021 at 1:39 PM Bhanuprakash Modem
<bhanuprakash.modem@intel.com> wrote:
>
> When two monitors connected through MST, the second monitor also
> tries to use the same mode. So two such modes may not fit into the
> link bandwidth.
>
> This series will find a combination of modes that fit into the BW.
>
> By parsing the PATH property, we can add a link_group_id field to
> igt_output_t to identify all connectors that shares the BW of the
> same link.
>
> Parsing the PATH property consists of finding all connectors with
> the same X prefix in the X-Y[-Z...] path property format and assigning
> a unique non-zero link_group_id to all such connectors. Connectors
> without a PATH property are not an MST output, so their link_group_id
> can be left at 0.
>
> IGT core helper would override the mode on all connectors that will
> be modeset by the next igt_display_commit() call in the test. These
> are all the connectors in igt_display_t that have a pending_pipe set
> by the test up to the point of calling this helper.
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Uh this is really not how kms is supposed to work. There are _tons_ of
reasons why 2 crtc at the same time wont work, mst bw constraint is
just one.

If you want to fix this, this should be fixed with atomic TEST_ONLY
mode to figure out what works and what doesn't. Not by trying to
re-implement the kernel's atomic_check configuration validation,
because you just can't do that.

So nack on architectural reasons on this approach.
-Daniel

>
> Bhanuprakash Modem (5):
>   lib/igt_kms: Add a support to read PATH connector property
>   lib/igt_kms: Identify outputs that shares link bandwidth
>   lib/igt_kms: helper to override the mode on all connectors
>   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
>   tests/kms_cursor_legacy: Fix mode selection for 2x tests
>
>  lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
>  lib/igt_kms.h                    |  3 ++
>  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
>  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
>  4 files changed, 159 insertions(+), 3 deletions(-)
>
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev



-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-09 20:18 ` [igt-dev] [PATCH i-g-t 0/5] " Daniel Vetter
@ 2021-04-12  3:51   ` Modem, Bhanuprakash
  2021-04-14 15:24     ` Daniel Vetter
  0 siblings, 1 reply; 17+ messages in thread
From: Modem, Bhanuprakash @ 2021-04-12  3:51 UTC (permalink / raw)
  To: Daniel Vetter, Deak, Imre, Nautiyal, Ankit K; +Cc: IGT development

> From: Daniel Vetter <daniel.vetter@ffwll.ch>
> Sent: Saturday, April 10, 2021 1:48 AM
> To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>
> Cc: IGT development <igt-dev@lists.freedesktop.org>
> Subject: Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
> 
> On Fri, Apr 9, 2021 at 1:39 PM Bhanuprakash Modem
> <bhanuprakash.modem@intel.com> wrote:
> >
> > When two monitors connected through MST, the second monitor also
> > tries to use the same mode. So two such modes may not fit into the
> > link bandwidth.
> >
> > This series will find a combination of modes that fit into the BW.
> >
> > By parsing the PATH property, we can add a link_group_id field to
> > igt_output_t to identify all connectors that shares the BW of the
> > same link.
> >
> > Parsing the PATH property consists of finding all connectors with
> > the same X prefix in the X-Y[-Z...] path property format and assigning
> > a unique non-zero link_group_id to all such connectors. Connectors
> > without a PATH property are not an MST output, so their link_group_id
> > can be left at 0.
> >
> > IGT core helper would override the mode on all connectors that will
> > be modeset by the next igt_display_commit() call in the test. These
> > are all the connectors in igt_display_t that have a pending_pipe set
> > by the test up to the point of calling this helper.
> >
> > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> 
> Uh this is really not how kms is supposed to work. There are _tons_ of
> reasons why 2 crtc at the same time wont work, mst bw constraint is
> just one.
> 
> If you want to fix this, this should be fixed with atomic TEST_ONLY
In fact, we are doing the same in this series.

By parsing the PATH connector prop, igt_output_refresh() will update the
link_group_id field for each connector [1]. 

Each individual (Nx)-test will identify the connectors those are sharing
the MST bw (by reading the link_group_id field in igt_output_t), and call
the helper to find the suitable modes [2].

A helper function iterates through those N output/mode combinations. And
find the combination using the most BW by ATOMIC_TEST_ONLY and returned
to the test [3].

Am I missing anything?

[1]: https://patchwork.freedesktop.org/patch/427718
[2]: https://patchwork.freedesktop.org/patch/427720
[3]: https://patchwork.freedesktop.org/patch/427719
 N : 2,3,4,...

-Bhanu
> mode to figure out what works and what doesn't. Not by trying to
> re-implement the kernel's atomic_check configuration validation,
> because you just can't do that.
> 
> So nack on architectural reasons on this approach.
> -Daniel
> 
> >
> > Bhanuprakash Modem (5):
> >   lib/igt_kms: Add a support to read PATH connector property
> >   lib/igt_kms: Identify outputs that shares link bandwidth
> >   lib/igt_kms: helper to override the mode on all connectors
> >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> >
> >  lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
> >  lib/igt_kms.h                    |  3 ++
> >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> >  4 files changed, 159 insertions(+), 3 deletions(-)
> >
> > --
> > 2.20.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> 
> 
> 
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-12  3:51   ` Modem, Bhanuprakash
@ 2021-04-14 15:24     ` Daniel Vetter
  2021-04-14 16:06       ` Imre Deak
  0 siblings, 1 reply; 17+ messages in thread
From: Daniel Vetter @ 2021-04-14 15:24 UTC (permalink / raw)
  To: Modem, Bhanuprakash; +Cc: IGT development

On Mon, Apr 12, 2021 at 03:51:40AM +0000, Modem, Bhanuprakash wrote:
> > From: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Sent: Saturday, April 10, 2021 1:48 AM
> > To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>
> > Cc: IGT development <igt-dev@lists.freedesktop.org>
> > Subject: Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
> > 
> > On Fri, Apr 9, 2021 at 1:39 PM Bhanuprakash Modem
> > <bhanuprakash.modem@intel.com> wrote:
> > >
> > > When two monitors connected through MST, the second monitor also
> > > tries to use the same mode. So two such modes may not fit into the
> > > link bandwidth.
> > >
> > > This series will find a combination of modes that fit into the BW.
> > >
> > > By parsing the PATH property, we can add a link_group_id field to
> > > igt_output_t to identify all connectors that shares the BW of the
> > > same link.
> > >
> > > Parsing the PATH property consists of finding all connectors with
> > > the same X prefix in the X-Y[-Z...] path property format and assigning
> > > a unique non-zero link_group_id to all such connectors. Connectors
> > > without a PATH property are not an MST output, so their link_group_id
> > > can be left at 0.
> > >
> > > IGT core helper would override the mode on all connectors that will
> > > be modeset by the next igt_display_commit() call in the test. These
> > > are all the connectors in igt_display_t that have a pending_pipe set
> > > by the test up to the point of calling this helper.
> > >
> > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > 
> > Uh this is really not how kms is supposed to work. There are _tons_ of
> > reasons why 2 crtc at the same time wont work, mst bw constraint is
> > just one.
> > 
> > If you want to fix this, this should be fixed with atomic TEST_ONLY
> In fact, we are doing the same in this series.
> 
> By parsing the PATH connector prop, igt_output_refresh() will update the
> link_group_id field for each connector [1]. 
> 
> Each individual (Nx)-test will identify the connectors those are sharing
> the MST bw (by reading the link_group_id field in igt_output_t), and call
> the helper to find the suitable modes [2].
> 
> A helper function iterates through those N output/mode combinations. And
> find the combination using the most BW by ATOMIC_TEST_ONLY and returned
> to the test [3].
> 
> Am I missing anything?

Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
property before you call TEST_ONLY is not good. You should check with
TEST_ONLY in general, not just when the path property indicates that the
dp output is shared.
-Daniel

> 
> [1]: https://patchwork.freedesktop.org/patch/427718
> [2]: https://patchwork.freedesktop.org/patch/427720
> [3]: https://patchwork.freedesktop.org/patch/427719
>  N : 2,3,4,...
> 
> -Bhanu
> > mode to figure out what works and what doesn't. Not by trying to
> > re-implement the kernel's atomic_check configuration validation,
> > because you just can't do that.
> > 
> > So nack on architectural reasons on this approach.
> > -Daniel
> > 
> > >
> > > Bhanuprakash Modem (5):
> > >   lib/igt_kms: Add a support to read PATH connector property
> > >   lib/igt_kms: Identify outputs that shares link bandwidth
> > >   lib/igt_kms: helper to override the mode on all connectors
> > >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> > >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> > >
> > >  lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
> > >  lib/igt_kms.h                    |  3 ++
> > >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> > >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> > >  4 files changed, 159 insertions(+), 3 deletions(-)
> > >
> > > --
> > > 2.20.1
> > >
> > > _______________________________________________
> > > igt-dev mailing list
> > > igt-dev@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > 
> > 
> > 
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-14 15:24     ` Daniel Vetter
@ 2021-04-14 16:06       ` Imre Deak
  2021-04-14 18:37         ` Daniel Vetter
  0 siblings, 1 reply; 17+ messages in thread
From: Imre Deak @ 2021-04-14 16:06 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development

On Wed, Apr 14, 2021 at 05:24:40PM +0200, Daniel Vetter wrote:
> On Mon, Apr 12, 2021 at 03:51:40AM +0000, Modem, Bhanuprakash wrote:
> > > From: Daniel Vetter <daniel.vetter@ffwll.ch>
> > > Sent: Saturday, April 10, 2021 1:48 AM
> > > To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>
> > > Cc: IGT development <igt-dev@lists.freedesktop.org>
> > > Subject: Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
> > > 
> > > On Fri, Apr 9, 2021 at 1:39 PM Bhanuprakash Modem
> > > <bhanuprakash.modem@intel.com> wrote:
> > > >
> > > > When two monitors connected through MST, the second monitor also
> > > > tries to use the same mode. So two such modes may not fit into the
> > > > link bandwidth.
> > > >
> > > > This series will find a combination of modes that fit into the BW.
> > > >
> > > > By parsing the PATH property, we can add a link_group_id field to
> > > > igt_output_t to identify all connectors that shares the BW of the
> > > > same link.
> > > >
> > > > Parsing the PATH property consists of finding all connectors with
> > > > the same X prefix in the X-Y[-Z...] path property format and assigning
> > > > a unique non-zero link_group_id to all such connectors. Connectors
> > > > without a PATH property are not an MST output, so their link_group_id
> > > > can be left at 0.
> > > >
> > > > IGT core helper would override the mode on all connectors that will
> > > > be modeset by the next igt_display_commit() call in the test. These
> > > > are all the connectors in igt_display_t that have a pending_pipe set
> > > > by the test up to the point of calling this helper.
> > > >
> > > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > 
> > > Uh this is really not how kms is supposed to work. There are _tons_ of
> > > reasons why 2 crtc at the same time wont work, mst bw constraint is
> > > just one.
> > > 
> > > If you want to fix this, this should be fixed with atomic TEST_ONLY
> > In fact, we are doing the same in this series.
> > 
> > By parsing the PATH connector prop, igt_output_refresh() will update the
> > link_group_id field for each connector [1]. 
> > 
> > Each individual (Nx)-test will identify the connectors those are sharing
> > the MST bw (by reading the link_group_id field in igt_output_t), and call
> > the helper to find the suitable modes [2].
> > 
> > A helper function iterates through those N output/mode combinations. And
> > find the combination using the most BW by ATOMIC_TEST_ONLY and returned
> > to the test [3].
> > 
> > Am I missing anything?
> 
> Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
> property before you call TEST_ONLY is not good. You should check with
> TEST_ONLY in general, not just when the path property indicates that the
> dp output is shared.

I think it would still make sense to find the working config first on
outputs sharing a link bandwidth with TEST_ONLY and only then find the
config with all required outputs included in the TEST_ONLY commit,
starting with the modes found for outpus sharing a link. This is the way
you could find the maximum resolution that can be used on each output.

> -Daniel
> 
> > 
> > [1]: https://patchwork.freedesktop.org/patch/427718
> > [2]: https://patchwork.freedesktop.org/patch/427720
> > [3]: https://patchwork.freedesktop.org/patch/427719
> >  N : 2,3,4,...
> > 
> > -Bhanu
> > > mode to figure out what works and what doesn't. Not by trying to
> > > re-implement the kernel's atomic_check configuration validation,
> > > because you just can't do that.
> > > 
> > > So nack on architectural reasons on this approach.
> > > -Daniel
> > > 
> > > >
> > > > Bhanuprakash Modem (5):
> > > >   lib/igt_kms: Add a support to read PATH connector property
> > > >   lib/igt_kms: Identify outputs that shares link bandwidth
> > > >   lib/igt_kms: helper to override the mode on all connectors
> > > >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> > > >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> > > >
> > > >  lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
> > > >  lib/igt_kms.h                    |  3 ++
> > > >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> > > >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> > > >  4 files changed, 159 insertions(+), 3 deletions(-)
> > > >
> > > > --
> > > > 2.20.1
> > > >
> > > > _______________________________________________
> > > > igt-dev mailing list
> > > > igt-dev@lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > 
> > > 
> > > 
> > > --
> > > Daniel Vetter
> > > Software Engineer, Intel Corporation
> > > http://blog.ffwll.ch
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-14 16:06       ` Imre Deak
@ 2021-04-14 18:37         ` Daniel Vetter
  2021-04-14 19:01           ` Imre Deak
  0 siblings, 1 reply; 17+ messages in thread
From: Daniel Vetter @ 2021-04-14 18:37 UTC (permalink / raw)
  To: Imre Deak; +Cc: IGT development, Daniel Vetter

On Wed, Apr 14, 2021 at 07:06:49PM +0300, Imre Deak wrote:
> On Wed, Apr 14, 2021 at 05:24:40PM +0200, Daniel Vetter wrote:
> > On Mon, Apr 12, 2021 at 03:51:40AM +0000, Modem, Bhanuprakash wrote:
> > > > From: Daniel Vetter <daniel.vetter@ffwll.ch>
> > > > Sent: Saturday, April 10, 2021 1:48 AM
> > > > To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>
> > > > Cc: IGT development <igt-dev@lists.freedesktop.org>
> > > > Subject: Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
> > > > 
> > > > On Fri, Apr 9, 2021 at 1:39 PM Bhanuprakash Modem
> > > > <bhanuprakash.modem@intel.com> wrote:
> > > > >
> > > > > When two monitors connected through MST, the second monitor also
> > > > > tries to use the same mode. So two such modes may not fit into the
> > > > > link bandwidth.
> > > > >
> > > > > This series will find a combination of modes that fit into the BW.
> > > > >
> > > > > By parsing the PATH property, we can add a link_group_id field to
> > > > > igt_output_t to identify all connectors that shares the BW of the
> > > > > same link.
> > > > >
> > > > > Parsing the PATH property consists of finding all connectors with
> > > > > the same X prefix in the X-Y[-Z...] path property format and assigning
> > > > > a unique non-zero link_group_id to all such connectors. Connectors
> > > > > without a PATH property are not an MST output, so their link_group_id
> > > > > can be left at 0.
> > > > >
> > > > > IGT core helper would override the mode on all connectors that will
> > > > > be modeset by the next igt_display_commit() call in the test. These
> > > > > are all the connectors in igt_display_t that have a pending_pipe set
> > > > > by the test up to the point of calling this helper.
> > > > >
> > > > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > > > 
> > > > Uh this is really not how kms is supposed to work. There are _tons_ of
> > > > reasons why 2 crtc at the same time wont work, mst bw constraint is
> > > > just one.
> > > > 
> > > > If you want to fix this, this should be fixed with atomic TEST_ONLY
> > > In fact, we are doing the same in this series.
> > > 
> > > By parsing the PATH connector prop, igt_output_refresh() will update the
> > > link_group_id field for each connector [1]. 
> > > 
> > > Each individual (Nx)-test will identify the connectors those are sharing
> > > the MST bw (by reading the link_group_id field in igt_output_t), and call
> > > the helper to find the suitable modes [2].
> > > 
> > > A helper function iterates through those N output/mode combinations. And
> > > find the combination using the most BW by ATOMIC_TEST_ONLY and returned
> > > to the test [3].
> > > 
> > > Am I missing anything?
> > 
> > Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
> > property before you call TEST_ONLY is not good. You should check with
> > TEST_ONLY in general, not just when the path property indicates that the
> > dp output is shared.
> 
> I think it would still make sense to find the working config first on
> outputs sharing a link bandwidth with TEST_ONLY and only then find the
> config with all required outputs included in the TEST_ONLY commit,
> starting with the modes found for outpus sharing a link. This is the way
> you could find the maximum resolution that can be used on each output.

That sounds like a testcase to make sure we support at least 2 working
modes on the same MST link. I'm not sure that really should be the generic
solution thing, for that you just have to go around reducing resolutions
until you've managed to light up enough outputs. So order doesn't
matter really, aside from maybe a preference for same resolutions (due to
clock sharing and even splits of fifos and that kind of stuff).

Treating MST links specially just to light up a set of outputs still feels
a bit wrong.
-Daniel

> 
> > -Daniel
> > 
> > > 
> > > [1]: https://patchwork.freedesktop.org/patch/427718
> > > [2]: https://patchwork.freedesktop.org/patch/427720
> > > [3]: https://patchwork.freedesktop.org/patch/427719
> > >  N : 2,3,4,...
> > > 
> > > -Bhanu
> > > > mode to figure out what works and what doesn't. Not by trying to
> > > > re-implement the kernel's atomic_check configuration validation,
> > > > because you just can't do that.
> > > > 
> > > > So nack on architectural reasons on this approach.
> > > > -Daniel
> > > > 
> > > > >
> > > > > Bhanuprakash Modem (5):
> > > > >   lib/igt_kms: Add a support to read PATH connector property
> > > > >   lib/igt_kms: Identify outputs that shares link bandwidth
> > > > >   lib/igt_kms: helper to override the mode on all connectors
> > > > >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> > > > >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> > > > >
> > > > >  lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
> > > > >  lib/igt_kms.h                    |  3 ++
> > > > >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> > > > >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> > > > >  4 files changed, 159 insertions(+), 3 deletions(-)
> > > > >
> > > > > --
> > > > > 2.20.1
> > > > >
> > > > > _______________________________________________
> > > > > igt-dev mailing list
> > > > > igt-dev@lists.freedesktop.org
> > > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > > 
> > > > 
> > > > 
> > > > --
> > > > Daniel Vetter
> > > > Software Engineer, Intel Corporation
> > > > http://blog.ffwll.ch
> > 
> > -- 
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-14 18:37         ` Daniel Vetter
@ 2021-04-14 19:01           ` Imre Deak
  2021-04-15 12:13             ` Nautiyal, Ankit K
  2021-04-15 12:56             ` Modem, Bhanuprakash
  0 siblings, 2 replies; 17+ messages in thread
From: Imre Deak @ 2021-04-14 19:01 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development

On Wed, Apr 14, 2021 at 08:37:40PM +0200, Daniel Vetter wrote:
> > > > > [...]
> > > > > Uh this is really not how kms is supposed to work. There are _tons_ of
> > > > > reasons why 2 crtc at the same time wont work, mst bw constraint is
> > > > > just one.
> > > > > 
> > > > > If you want to fix this, this should be fixed with atomic TEST_ONLY
> > > > In fact, we are doing the same in this series.
> > > > 
> > > > By parsing the PATH connector prop, igt_output_refresh() will update the
> > > > link_group_id field for each connector [1]. 
> > > > 
> > > > Each individual (Nx)-test will identify the connectors those are sharing
> > > > the MST bw (by reading the link_group_id field in igt_output_t), and call
> > > > the helper to find the suitable modes [2].
> > > > 
> > > > A helper function iterates through those N output/mode combinations. And
> > > > find the combination using the most BW by ATOMIC_TEST_ONLY and returned
> > > > to the test [3].
> > > > 
> > > > Am I missing anything?
> > > 
> > > Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
> > > property before you call TEST_ONLY is not good. You should check with
> > > TEST_ONLY in general, not just when the path property indicates that the
> > > dp output is shared.
> > 
> > I think it would still make sense to find the working config first on
> > outputs sharing a link bandwidth with TEST_ONLY and only then find the
> > config with all required outputs included in the TEST_ONLY commit,
> > starting with the modes found for outpus sharing a link. This is the way
> > you could find the maximum resolution that can be used on each output.
> 
> That sounds like a testcase to make sure we support at least 2 working
> modes on the same MST link. I'm not sure that really should be the generic
> solution thing, for that you just have to go around reducing resolutions
> until you've managed to light up enough outputs. So order doesn't
> matter really, aside from maybe a preference for same resolutions (due to
> clock sharing and even splits of fifos and that kind of stuff).
>
> Treating MST links specially just to light up a set of outputs still feels
> a bit wrong.

Imo we should test the most usual user scenario, which I assumed is the
max resolution on all connected displays. But this could be wrong and
any more complicated logic could be added as a follow up if needed. So
I'm also ok to ignore the link bandwidth sharing aspect.

> -Daniel
> 
> > 
> > > -Daniel
> > > 
> > > > 
> > > > [1]: https://patchwork.freedesktop.org/patch/427718
> > > > [2]: https://patchwork.freedesktop.org/patch/427720
> > > > [3]: https://patchwork.freedesktop.org/patch/427719
> > > >  N : 2,3,4,...
> > > > 
> > > > -Bhanu
> > > > > mode to figure out what works and what doesn't. Not by trying to
> > > > > re-implement the kernel's atomic_check configuration validation,
> > > > > because you just can't do that.
> > > > > 
> > > > > So nack on architectural reasons on this approach.
> > > > > -Daniel
> > > > > 
> > > > > >
> > > > > > Bhanuprakash Modem (5):
> > > > > >   lib/igt_kms: Add a support to read PATH connector property
> > > > > >   lib/igt_kms: Identify outputs that shares link bandwidth
> > > > > >   lib/igt_kms: helper to override the mode on all connectors
> > > > > >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> > > > > >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> > > > > >
> > > > > >  lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
> > > > > >  lib/igt_kms.h                    |  3 ++
> > > > > >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> > > > > >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> > > > > >  4 files changed, 159 insertions(+), 3 deletions(-)
> > > > > >
> > > > > > --
> > > > > > 2.20.1
> > > > > >
> > > > > > _______________________________________________
> > > > > > igt-dev mailing list
> > > > > > igt-dev@lists.freedesktop.org
> > > > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > > > 
> > > > > 
> > > > > 
> > > > > --
> > > > > Daniel Vetter
> > > > > Software Engineer, Intel Corporation
> > > > > http://blog.ffwll.ch
> > > 
> > > -- 
> > > Daniel Vetter
> > > Software Engineer, Intel Corporation
> > > http://blog.ffwll.ch
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-14 19:01           ` Imre Deak
@ 2021-04-15 12:13             ` Nautiyal, Ankit K
  2021-04-15 12:56             ` Modem, Bhanuprakash
  1 sibling, 0 replies; 17+ messages in thread
From: Nautiyal, Ankit K @ 2021-04-15 12:13 UTC (permalink / raw)
  To: Imre Deak, Daniel Vetter; +Cc: IGT development


On 4/15/2021 12:31 AM, Imre Deak wrote:
> On Wed, Apr 14, 2021 at 08:37:40PM +0200, Daniel Vetter wrote:
>>>>>> [...]
>>>>>> Uh this is really not how kms is supposed to work. There are _tons_ of
>>>>>> reasons why 2 crtc at the same time wont work, mst bw constraint is
>>>>>> just one.
>>>>>>
>>>>>> If you want to fix this, this should be fixed with atomic TEST_ONLY
>>>>> In fact, we are doing the same in this series.
>>>>>
>>>>> By parsing the PATH connector prop, igt_output_refresh() will update the
>>>>> link_group_id field for each connector [1].
>>>>>
>>>>> Each individual (Nx)-test will identify the connectors those are sharing
>>>>> the MST bw (by reading the link_group_id field in igt_output_t), and call
>>>>> the helper to find the suitable modes [2].
>>>>>
>>>>> A helper function iterates through those N output/mode combinations. And
>>>>> find the combination using the most BW by ATOMIC_TEST_ONLY and returned
>>>>> to the test [3].
>>>>>
>>>>> Am I missing anything?
>>>> Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
>>>> property before you call TEST_ONLY is not good. You should check with
>>>> TEST_ONLY in general, not just when the path property indicates that the
>>>> dp output is shared.
>>> I think it would still make sense to find the working config first on
>>> outputs sharing a link bandwidth with TEST_ONLY and only then find the
>>> config with all required outputs included in the TEST_ONLY commit,
>>> starting with the modes found for outpus sharing a link. This is the way
>>> you could find the maximum resolution that can be used on each output.
>> That sounds like a testcase to make sure we support at least 2 working
>> modes on the same MST link. I'm not sure that really should be the generic
>> solution thing, for that you just have to go around reducing resolutions
>> until you've managed to light up enough outputs. So order doesn't
>> matter really, aside from maybe a preference for same resolutions (due to
>> clock sharing and even splits of fifos and that kind of stuff).
>>
>> Treating MST links specially just to light up a set of outputs still feels
>> a bit wrong.
> Imo we should test the most usual user scenario, which I assumed is the
> max resolution on all connected displays. But this could be wrong and
> any more complicated logic could be added as a follow up if needed. So
> I'm also ok to ignore the link bandwidth sharing aspect.

Makes sense to not have a specific use case for MST in multi display tests.

I do like the idea for helper functions in the patches 1-3  to identify 
connectors sharing mst link.

In kms_content_protection we have mst specific test and the helper 
functions can be useful there.

Perhaps can be re-introduced along with a new IGT specifically for 
testing MST config in a separate patch series.

Regards,

Ankit


>
>> -Daniel
>>
>>>> -Daniel
>>>>
>>>>> [1]: https://patchwork.freedesktop.org/patch/427718
>>>>> [2]: https://patchwork.freedesktop.org/patch/427720
>>>>> [3]: https://patchwork.freedesktop.org/patch/427719
>>>>>   N : 2,3,4,...
>>>>>
>>>>> -Bhanu
>>>>>> mode to figure out what works and what doesn't. Not by trying to
>>>>>> re-implement the kernel's atomic_check configuration validation,
>>>>>> because you just can't do that.
>>>>>>
>>>>>> So nack on architectural reasons on this approach.
>>>>>> -Daniel
>>>>>>
>>>>>>> Bhanuprakash Modem (5):
>>>>>>>    lib/igt_kms: Add a support to read PATH connector property
>>>>>>>    lib/igt_kms: Identify outputs that shares link bandwidth
>>>>>>>    lib/igt_kms: helper to override the mode on all connectors
>>>>>>>    tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
>>>>>>>    tests/kms_cursor_legacy: Fix mode selection for 2x tests
>>>>>>>
>>>>>>>   lib/igt_kms.c                    | 71 ++++++++++++++++++++++++++++++++
>>>>>>>   lib/igt_kms.h                    |  3 ++
>>>>>>>   tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
>>>>>>>   tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
>>>>>>>   4 files changed, 159 insertions(+), 3 deletions(-)
>>>>>>>
>>>>>>> --
>>>>>>> 2.20.1
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> igt-dev mailing list
>>>>>>> igt-dev@lists.freedesktop.org
>>>>>>> https://lists.freedesktop.org/mailman/listinfo/igt-dev
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Daniel Vetter
>>>>>> Software Engineer, Intel Corporation
>>>>>> http://blog.ffwll.ch
>>>> -- 
>>>> Daniel Vetter
>>>> Software Engineer, Intel Corporation
>>>> http://blog.ffwll.ch
>> -- 
>> Daniel Vetter
>> Software Engineer, Intel Corporation
>> http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-14 19:01           ` Imre Deak
  2021-04-15 12:13             ` Nautiyal, Ankit K
@ 2021-04-15 12:56             ` Modem, Bhanuprakash
  2021-04-15 14:15               ` Daniel Vetter
  1 sibling, 1 reply; 17+ messages in thread
From: Modem, Bhanuprakash @ 2021-04-15 12:56 UTC (permalink / raw)
  To: Deak, Imre, Daniel Vetter; +Cc: IGT development

> From: Imre Deak <imre.deak@intel.com>
> Sent: Thursday, April 15, 2021 12:31 AM
> To: Daniel Vetter <daniel@ffwll.ch>
> Cc: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; Daniel Vetter
> <daniel.vetter@ffwll.ch>; Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; IGT
> development <igt-dev@lists.freedesktop.org>
> Subject: Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
> 
> On Wed, Apr 14, 2021 at 08:37:40PM +0200, Daniel Vetter wrote:
> > > > > > [...]
> > > > > > Uh this is really not how kms is supposed to work. There are _tons_
> of
> > > > > > reasons why 2 crtc at the same time wont work, mst bw constraint is
> > > > > > just one.
> > > > > >
> > > > > > If you want to fix this, this should be fixed with atomic TEST_ONLY
> > > > > In fact, we are doing the same in this series.
> > > > >
> > > > > By parsing the PATH connector prop, igt_output_refresh() will update
> the
> > > > > link_group_id field for each connector [1].
> > > > >
> > > > > Each individual (Nx)-test will identify the connectors those are
> sharing
> > > > > the MST bw (by reading the link_group_id field in igt_output_t), and
> call
> > > > > the helper to find the suitable modes [2].
> > > > >
> > > > > A helper function iterates through those N output/mode combinations.
> And
> > > > > find the combination using the most BW by ATOMIC_TEST_ONLY and
> returned
> > > > > to the test [3].
> > > > >
> > > > > Am I missing anything?
> > > >
> > > > Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
> > > > property before you call TEST_ONLY is not good. You should check with
> > > > TEST_ONLY in general, not just when the path property indicates that the
> > > > dp output is shared.
> > >
> > > I think it would still make sense to find the working config first on
> > > outputs sharing a link bandwidth with TEST_ONLY and only then find the
> > > config with all required outputs included in the TEST_ONLY commit,
> > > starting with the modes found for outpus sharing a link. This is the way
> > > you could find the maximum resolution that can be used on each output.
> >
> > That sounds like a testcase to make sure we support at least 2 working
> > modes on the same MST link. I'm not sure that really should be the generic
> > solution thing, for that you just have to go around reducing resolutions
> > until you've managed to light up enough outputs. So order doesn't
> > matter really, aside from maybe a preference for same resolutions (due to
> > clock sharing and even splits of fifos and that kind of stuff).
> >
> > Treating MST links specially just to light up a set of outputs still feels
> > a bit wrong.
> 
> Imo we should test the most usual user scenario, which I assumed is the
> max resolution on all connected displays. But this could be wrong and
> any more complicated logic could be added as a follow up if needed. So
> I'm also ok to ignore the link bandwidth sharing aspect.

In simple words, just remove the MST specific stuff (link_group_id, PATH, etc...)
from this series, and each individual (Nx)-test should call the helper[1] to get
output/mode combo. Is my understanding correct?

[1] https://patchwork.freedesktop.org/patch/427719

> 
> > -Daniel
> >
> > >
> > > > -Daniel
> > > >
> > > > >
> > > > > [1]: https://patchwork.freedesktop.org/patch/427718
> > > > > [2]: https://patchwork.freedesktop.org/patch/427720
> > > > > [3]: https://patchwork.freedesktop.org/patch/427719
> > > > >  N : 2,3,4,...
> > > > >
> > > > > -Bhanu
> > > > > > mode to figure out what works and what doesn't. Not by trying to
> > > > > > re-implement the kernel's atomic_check configuration validation,
> > > > > > because you just can't do that.
> > > > > >
> > > > > > So nack on architectural reasons on this approach.
> > > > > > -Daniel
> > > > > >
> > > > > > >
> > > > > > > Bhanuprakash Modem (5):
> > > > > > >   lib/igt_kms: Add a support to read PATH connector property
> > > > > > >   lib/igt_kms: Identify outputs that shares link bandwidth
> > > > > > >   lib/igt_kms: helper to override the mode on all connectors
> > > > > > >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> > > > > > >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> > > > > > >
> > > > > > >  lib/igt_kms.c                    | 71
> ++++++++++++++++++++++++++++++++
> > > > > > >  lib/igt_kms.h                    |  3 ++
> > > > > > >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> > > > > > >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> > > > > > >  4 files changed, 159 insertions(+), 3 deletions(-)
> > > > > > >
> > > > > > > --
> > > > > > > 2.20.1
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > igt-dev mailing list
> > > > > > > igt-dev@lists.freedesktop.org
> > > > > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Daniel Vetter
> > > > > > Software Engineer, Intel Corporation
> > > > > > http://blog.ffwll.ch
> > > >
> > > > --
> > > > Daniel Vetter
> > > > Software Engineer, Intel Corporation
> > > > http://blog.ffwll.ch
> >
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
  2021-04-15 12:56             ` Modem, Bhanuprakash
@ 2021-04-15 14:15               ` Daniel Vetter
  0 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2021-04-15 14:15 UTC (permalink / raw)
  To: Modem, Bhanuprakash; +Cc: IGT development, Daniel Vetter

On Thu, Apr 15, 2021 at 12:56:39PM +0000, Modem, Bhanuprakash wrote:
> > From: Imre Deak <imre.deak@intel.com>
> > Sent: Thursday, April 15, 2021 12:31 AM
> > To: Daniel Vetter <daniel@ffwll.ch>
> > Cc: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; Daniel Vetter
> > <daniel.vetter@ffwll.ch>; Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; IGT
> > development <igt-dev@lists.freedesktop.org>
> > Subject: Re: [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests
> > 
> > On Wed, Apr 14, 2021 at 08:37:40PM +0200, Daniel Vetter wrote:
> > > > > > > [...]
> > > > > > > Uh this is really not how kms is supposed to work. There are _tons_
> > of
> > > > > > > reasons why 2 crtc at the same time wont work, mst bw constraint is
> > > > > > > just one.
> > > > > > >
> > > > > > > If you want to fix this, this should be fixed with atomic TEST_ONLY
> > > > > > In fact, we are doing the same in this series.
> > > > > >
> > > > > > By parsing the PATH connector prop, igt_output_refresh() will update
> > the
> > > > > > link_group_id field for each connector [1].
> > > > > >
> > > > > > Each individual (Nx)-test will identify the connectors those are
> > sharing
> > > > > > the MST bw (by reading the link_group_id field in igt_output_t), and
> > call
> > > > > > the helper to find the suitable modes [2].
> > > > > >
> > > > > > A helper function iterates through those N output/mode combinations.
> > And
> > > > > > find the combination using the most BW by ATOMIC_TEST_ONLY and
> > returned
> > > > > > to the test [3].
> > > > > >
> > > > > > Am I missing anything?
> > > > >
> > > > > Using TEST_ONLY sounds good. Trying to do clever filtering with PATH
> > > > > property before you call TEST_ONLY is not good. You should check with
> > > > > TEST_ONLY in general, not just when the path property indicates that the
> > > > > dp output is shared.
> > > >
> > > > I think it would still make sense to find the working config first on
> > > > outputs sharing a link bandwidth with TEST_ONLY and only then find the
> > > > config with all required outputs included in the TEST_ONLY commit,
> > > > starting with the modes found for outpus sharing a link. This is the way
> > > > you could find the maximum resolution that can be used on each output.
> > >
> > > That sounds like a testcase to make sure we support at least 2 working
> > > modes on the same MST link. I'm not sure that really should be the generic
> > > solution thing, for that you just have to go around reducing resolutions
> > > until you've managed to light up enough outputs. So order doesn't
> > > matter really, aside from maybe a preference for same resolutions (due to
> > > clock sharing and even splits of fifos and that kind of stuff).
> > >
> > > Treating MST links specially just to light up a set of outputs still feels
> > > a bit wrong.
> > 
> > Imo we should test the most usual user scenario, which I assumed is the
> > max resolution on all connected displays. But this could be wrong and
> > any more complicated logic could be added as a follow up if needed. So
> > I'm also ok to ignore the link bandwidth sharing aspect.
> 
> In simple words, just remove the MST specific stuff (link_group_id, PATH, etc...)
> from this series, and each individual (Nx)-test should call the helper[1] to get
> output/mode combo. Is my understanding correct?

Yup. We can then also add fancier fallback logic that tries to emulated
what compositors generally try to pick in there.
-Daniel

> 
> [1] https://patchwork.freedesktop.org/patch/427719
> 
> > 
> > > -Daniel
> > >
> > > >
> > > > > -Daniel
> > > > >
> > > > > >
> > > > > > [1]: https://patchwork.freedesktop.org/patch/427718
> > > > > > [2]: https://patchwork.freedesktop.org/patch/427720
> > > > > > [3]: https://patchwork.freedesktop.org/patch/427719
> > > > > >  N : 2,3,4,...
> > > > > >
> > > > > > -Bhanu
> > > > > > > mode to figure out what works and what doesn't. Not by trying to
> > > > > > > re-implement the kernel's atomic_check configuration validation,
> > > > > > > because you just can't do that.
> > > > > > >
> > > > > > > So nack on architectural reasons on this approach.
> > > > > > > -Daniel
> > > > > > >
> > > > > > > >
> > > > > > > > Bhanuprakash Modem (5):
> > > > > > > >   lib/igt_kms: Add a support to read PATH connector property
> > > > > > > >   lib/igt_kms: Identify outputs that shares link bandwidth
> > > > > > > >   lib/igt_kms: helper to override the mode on all connectors
> > > > > > > >   tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
> > > > > > > >   tests/kms_cursor_legacy: Fix mode selection for 2x tests
> > > > > > > >
> > > > > > > >  lib/igt_kms.c                    | 71
> > ++++++++++++++++++++++++++++++++
> > > > > > > >  lib/igt_kms.h                    |  3 ++
> > > > > > > >  tests/kms_cursor_legacy.c        | 53 ++++++++++++++++++++++--
> > > > > > > >  tests/kms_frontbuffer_tracking.c | 35 ++++++++++++++++
> > > > > > > >  4 files changed, 159 insertions(+), 3 deletions(-)
> > > > > > > >
> > > > > > > > --
> > > > > > > > 2.20.1
> > > > > > > >
> > > > > > > > _______________________________________________
> > > > > > > > igt-dev mailing list
> > > > > > > > igt-dev@lists.freedesktop.org
> > > > > > > > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Daniel Vetter
> > > > > > > Software Engineer, Intel Corporation
> > > > > > > http://blog.ffwll.ch
> > > > >
> > > > > --
> > > > > Daniel Vetter
> > > > > Software Engineer, Intel Corporation
> > > > > http://blog.ffwll.ch
> > >
> > > --
> > > Daniel Vetter
> > > Software Engineer, Intel Corporation
> > > http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2021-04-15 14:15 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-09 19:30 [igt-dev] [PATCH i-g-t 0/5] Fix mode selection for 2x tests Bhanuprakash Modem
2021-04-09 13:25 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2021-04-09 15:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 1/5] lib/igt_kms: Add a support to read PATH connector property Bhanuprakash Modem
2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 2/5] lib/igt_kms: Identify outputs that shares link bandwidth Bhanuprakash Modem
2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 3/5] lib/igt_kms: helper to override the mode on all connectors Bhanuprakash Modem
2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 4/5] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
2021-04-09 19:30 ` [igt-dev] [PATCH i-g-t 5/5] tests/kms_cursor_legacy: " Bhanuprakash Modem
2021-04-09 20:18 ` [igt-dev] [PATCH i-g-t 0/5] " Daniel Vetter
2021-04-12  3:51   ` Modem, Bhanuprakash
2021-04-14 15:24     ` Daniel Vetter
2021-04-14 16:06       ` Imre Deak
2021-04-14 18:37         ` Daniel Vetter
2021-04-14 19:01           ` Imre Deak
2021-04-15 12:13             ` Nautiyal, Ankit K
2021-04-15 12:56             ` Modem, Bhanuprakash
2021-04-15 14:15               ` Daniel Vetter

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.