All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] ✓ Fi.CI.BAT: success for Fix mode selection for 2x tests (rev5)
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-05-08  9:23 ` Patchwork
  2021-05-08 10:19 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2021-05-08  9:23 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev


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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_10060 -> IGTPW_5795
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@fork-gfx0:
    - fi-tgl-y:           NOTRUN -> [SKIP][1] ([fdo#109315] / [i915#2575]) +15 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/fi-tgl-y/igt@amdgpu/amd_cs_nop@fork-gfx0.html

  * igt@i915_module_load@reload:
    - fi-tgl-y:           [PASS][2] -> [DMESG-WARN][3] ([i915#1982] / [k.org#205379])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/fi-tgl-y/igt@i915_module_load@reload.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/fi-tgl-y/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [PASS][4] -> [INCOMPLETE][5] ([i915#2782] / [i915#2940])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/fi-bsw-nick/igt@i915_selftest@live@execlists.html

  * igt@runner@aborted:
    - fi-bsw-nick:        NOTRUN -> [FAIL][6] ([i915#1436])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/fi-bsw-nick/igt@runner@aborted.html

  
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782
  [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940
  [k.org#205379]: https://bugzilla.kernel.org/show_bug.cgi?id=205379


Participating hosts (42 -> 38)
------------------------------

  Missing    (4): fi-ilk-m540 fi-dg1-1 fi-bdw-samus fi-tgl-u2 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6081 -> IGTPW_5795

  CI-20190529: 20190529
  CI_DRM_10060: ca1f02fd329bec1a62fc515647b1fd2ecc6b7aac @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_5795: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/index.html
  IGT_6081: fdff4bba7abf9cb7c8ea21abf14e36d344ebb8c1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 3409 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] 27+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Fix mode selection for 2x tests (rev5)
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
  2021-05-08  9:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix mode selection for 2x tests (rev5) Patchwork
@ 2021-05-08 10:19 ` Patchwork
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 01/14] lib/igt_kms: helper to override the mode on all connectors Bhanuprakash Modem
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2021-05-08 10:19 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev


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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_10060_full -> IGTPW_5795_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_create@create-massive:
    - shard-snb:          NOTRUN -> [DMESG-WARN][1] ([i915#3002])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-snb5/igt@gem_create@create-massive.html

  * igt@gem_ctx_persistence@clone:
    - shard-snb:          NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#1099]) +2 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-snb6/igt@gem_ctx_persistence@clone.html

  * igt@gem_eio@unwedge-stress:
    - shard-tglb:         NOTRUN -> [TIMEOUT][3] ([i915#2369] / [i915#3063])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb6/igt@gem_eio@unwedge-stress.html
    - shard-snb:          NOTRUN -> [FAIL][4] ([i915#3354])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-snb7/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][5] -> [FAIL][6] ([i915#2842])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [PASS][7] -> [FAIL][8] ([i915#2842])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb2/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_whisper@basic-forked:
    - shard-glk:          NOTRUN -> [DMESG-WARN][9] ([i915#118] / [i915#95])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk9/igt@gem_exec_whisper@basic-forked.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [PASS][10] -> [SKIP][11] ([i915#2190])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-tglb2/igt@gem_huc_copy@huc-copy.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb6/igt@gem_huc_copy@huc-copy.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-kbl:          NOTRUN -> [WARN][12] ([i915#2658])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl4/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_render_copy@y-tiled-to-vebox-y-tiled:
    - shard-iclb:         NOTRUN -> [SKIP][13] ([i915#768])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb5/igt@gem_render_copy@y-tiled-to-vebox-y-tiled.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-kbl:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#3323])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl1/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-iclb:         NOTRUN -> [SKIP][15] ([i915#3323])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-glk:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#3323])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk7/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-tglb:         NOTRUN -> [SKIP][17] ([i915#3323])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb2/igt@gem_userptr_blits@dmabuf-sync.html

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

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

  * igt@gen9_exec_parse@bb-large:
    - shard-tglb:         NOTRUN -> [SKIP][21] ([i915#2527])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb7/igt@gen9_exec_parse@bb-large.html
    - shard-glk:          NOTRUN -> [FAIL][22] ([i915#3296])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk6/igt@gen9_exec_parse@bb-large.html
    - shard-apl:          NOTRUN -> [FAIL][23] ([i915#3296])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl2/igt@gen9_exec_parse@bb-large.html
    - shard-kbl:          NOTRUN -> [FAIL][24] ([i915#3296])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl2/igt@gen9_exec_parse@bb-large.html
    - shard-iclb:         NOTRUN -> [SKIP][25] ([i915#2527])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb1/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@bb-secure:
    - shard-tglb:         NOTRUN -> [SKIP][26] ([fdo#112306])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb5/igt@gen9_exec_parse@bb-secure.html
    - shard-iclb:         NOTRUN -> [SKIP][27] ([fdo#112306])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb8/igt@gen9_exec_parse@bb-secure.html

  * igt@i915_pm_backlight@bad-brightness:
    - shard-glk:          NOTRUN -> [SKIP][28] ([fdo#109271]) +92 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk4/igt@i915_pm_backlight@bad-brightness.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][29] -> [FAIL][30] ([i915#454])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb1/igt@i915_pm_dc@dc6-psr.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb4/igt@i915_pm_dc@dc6-psr.html

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

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([fdo#109506] / [i915#2411])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb1/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
    - shard-iclb:         NOTRUN -> [SKIP][33] ([fdo#109293] / [fdo#109506])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([fdo#111614])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
    - shard-iclb:         NOTRUN -> [SKIP][35] ([fdo#110725] / [fdo#111614])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb8/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-iclb:         NOTRUN -> [SKIP][36] ([fdo#110723])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb4/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#111615]) +2 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb3/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_chamelium@dp-hpd-storm-disable:
    - shard-glk:          NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk7/igt@kms_chamelium@dp-hpd-storm-disable.html

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

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

  * igt@kms_color@pipe-d-degamma:
    - shard-iclb:         NOTRUN -> [SKIP][41] ([fdo#109278] / [i915#1149])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb4/igt@kms_color@pipe-d-degamma.html
    - shard-tglb:         NOTRUN -> [FAIL][42] ([i915#1149])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb8/igt@kms_color@pipe-d-degamma.html

  * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
    - shard-snb:          NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +20 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-snb2/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html

  * igt@kms_color_chamelium@pipe-b-ctm-limited-range:
    - shard-tglb:         NOTRUN -> [SKIP][44] ([fdo#109284] / [fdo#111827]) +5 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb2/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html
    - shard-iclb:         NOTRUN -> [SKIP][45] ([fdo#109284] / [fdo#111827]) +4 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-d-ctm-negative:
    - shard-iclb:         NOTRUN -> [SKIP][46] ([fdo#109278] / [fdo#109284] / [fdo#111827])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb5/igt@kms_color_chamelium@pipe-d-ctm-negative.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-apl:          NOTRUN -> [TIMEOUT][47] ([i915#1319]) +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl7/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-tglb:         NOTRUN -> [SKIP][48] ([i915#3116])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb2/igt@kms_content_protection@dp-mst-type-0.html
    - shard-iclb:         NOTRUN -> [SKIP][49] ([i915#3116])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb1/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_cursor_crc@pipe-a-cursor-max-size-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([i915#3359]) +1 similar issue
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb6/igt@kms_cursor_crc@pipe-a-cursor-max-size-offscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][51] ([fdo#109279] / [i915#3359])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb1/igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen.html
    - shard-iclb:         NOTRUN -> [SKIP][52] ([fdo#109278] / [fdo#109279])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen.html

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

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-iclb:         NOTRUN -> [SKIP][54] ([fdo#109274] / [fdo#109278]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [PASS][55] -> [INCOMPLETE][56] ([i915#155] / [i915#180] / [i915#636])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl3/igt@kms_fbcon_fbt@fbc-suspend.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl7/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@2x-plain-flip-fb-recreate:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([fdo#111825]) +14 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb8/igt@kms_flip@2x-plain-flip-fb-recreate.html
    - shard-iclb:         NOTRUN -> [SKIP][58] ([fdo#109274]) +1 similar issue
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb3/igt@kms_flip@2x-plain-flip-fb-recreate.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-kbl:          [PASS][59] -> [DMESG-WARN][60] ([i915#180]) +4 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl2/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
    - shard-apl:          NOTRUN -> [DMESG-WARN][61] ([i915#180]) +1 similar issue
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][62] ([i915#180]) +2 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl6/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile:
    - shard-apl:          NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#2642])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html
    - shard-glk:          NOTRUN -> [SKIP][64] ([fdo#109271] / [i915#2642])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
    - shard-kbl:          NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#2672])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][66] ([fdo#109280]) +10 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-kbl:          NOTRUN -> [SKIP][67] ([fdo#109271]) +191 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-tglb:         NOTRUN -> [SKIP][68] ([i915#1839])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
    - shard-iclb:         NOTRUN -> [SKIP][69] ([i915#1839])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence:
    - shard-kbl:          NOTRUN -> [SKIP][70] ([fdo#109271] / [i915#533]) +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl3/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#533]) +2 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl2/igt@kms_pipe_crc_basic@read-crc-pipe-d.html

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

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-glk:          NOTRUN -> [FAIL][73] ([fdo#108145] / [i915#265]) +1 similar issue
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-glk:          NOTRUN -> [FAIL][74] ([i915#265]) +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk8/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

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

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-kbl:          NOTRUN -> [FAIL][76] ([fdo#108145] / [i915#265])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl4/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1:
    - shard-tglb:         NOTRUN -> [SKIP][77] ([i915#2920])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html
    - shard-iclb:         NOTRUN -> [SKIP][78] ([i915#658])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb5/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
    - shard-apl:          NOTRUN -> [SKIP][79] ([fdo#109271] / [i915#658]) +3 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html

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

  * igt@kms_psr2_su@frontbuffer:
    - shard-glk:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658]) +3 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk5/igt@kms_psr2_su@frontbuffer.html
    - shard-tglb:         NOTRUN -> [SKIP][82] ([i915#1911])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb3/igt@kms_psr2_su@frontbuffer.html
    - shard-iclb:         NOTRUN -> [SKIP][83] ([fdo#109642] / [fdo#111068] / [i915#658])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb8/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_cursor_render:
    - shard-iclb:         [PASS][84] -> [SKIP][85] ([fdo#109441]) +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb4/igt@kms_psr@psr2_cursor_render.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         NOTRUN -> [SKIP][86] ([fdo#109441]) +1 similar issue
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb3/igt@kms_psr@psr2_no_drrs.html
    - shard-tglb:         NOTRUN -> [FAIL][87] ([i915#132]) +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb8/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_sysfs_edid_timing:
    - shard-kbl:          NOTRUN -> [FAIL][88] ([IGT#2])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl2/igt@kms_sysfs_edid_timing.html

  * igt@kms_vblank@pipe-d-query-forked-hang:
    - shard-snb:          NOTRUN -> [SKIP][89] ([fdo#109271]) +343 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-snb2/igt@kms_vblank@pipe-d-query-forked-hang.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-kbl:          NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#2437])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl3/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame:
    - shard-apl:          NOTRUN -> [SKIP][91] ([fdo#109271]) +219 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl6/igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame.html
    - shard-tglb:         NOTRUN -> [SKIP][92] ([i915#2530]) +3 similar issues
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb7/igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame.html

  * igt@nouveau_crc@pipe-b-source-rg:
    - shard-iclb:         NOTRUN -> [SKIP][93] ([i915#2530]) +2 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb8/igt@nouveau_crc@pipe-b-source-rg.html

  * igt@nouveau_crc@pipe-d-ctx-flip-skip-current-frame:
    - shard-iclb:         NOTRUN -> [SKIP][94] ([fdo#109278] / [i915#2530])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb8/igt@nouveau_crc@pipe-d-ctx-flip-skip-current-frame.html

  * igt@prime_nv_api@nv_self_import:
    - shard-iclb:         NOTRUN -> [SKIP][95] ([fdo#109291]) +1 similar issue
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@prime_nv_api@nv_self_import.html

  * igt@prime_nv_pcopy@test1_macro:
    - shard-tglb:         NOTRUN -> [SKIP][96] ([fdo#109291]) +1 similar issue
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb5/igt@prime_nv_pcopy@test1_macro.html

  * igt@sysfs_clients@create:
    - shard-apl:          NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#2994]) +3 similar issues
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl6/igt@sysfs_clients@create.html

  * igt@sysfs_clients@recycle:
    - shard-iclb:         NOTRUN -> [SKIP][98] ([i915#2994])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb2/igt@sysfs_clients@recycle.html
    - shard-tglb:         NOTRUN -> [SKIP][99] ([i915#2994])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb2/igt@sysfs_clients@recycle.html

  * igt@sysfs_clients@sema-25:
    - shard-kbl:          NOTRUN -> [SKIP][100] ([fdo#109271] / [i915#2994]) +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl6/igt@sysfs_clients@sema-25.html

  * igt@sysfs_clients@sema-50:
    - shard-glk:          NOTRUN -> [SKIP][101] ([fdo#109271] / [i915#2994]) +1 similar issue
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk3/igt@sysfs_clients@sema-50.html

  
#### Possible fixes ####

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

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [FAIL][104] ([i915#2846]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-glk3/igt@gem_exec_fair@basic-deadline.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk4/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-iclb:         [FAIL][106] ([i915#2842]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb6/igt@gem_exec_fair@basic-none-share@rcs0.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb7/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-kbl:          [FAIL][108] ([i915#2842]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_whisper@basic-contexts-forked:
    - shard-glk:          [DMESG-WARN][110] ([i915#118] / [i915#95]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-glk5/igt@gem_exec_whisper@basic-contexts-forked.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk4/igt@gem_exec_whisper@basic-contexts-forked.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [DMESG-WARN][112] ([i915#1436] / [i915#716]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-glk9/igt@gen9_exec_parse@allowed-all.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-glk6/igt@gen9_exec_parse@allowed-all.html

  * igt@kms_flip@flip-vs-suspend@a-dp1:
    - shard-apl:          [DMESG-WARN][114] ([i915#180]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-apl3/igt@kms_flip@flip-vs-suspend@a-dp1.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-apl7/igt@kms_flip@flip-vs-suspend@a-dp1.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-tglb:         [SKIP][116] ([i915#433]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-tglb3/igt@kms_hdmi_inject@inject-audio.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb7/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-kbl:          [DMESG-WARN][118] ([i915#180]) -> [PASS][119] +5 similar issues
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl4/igt@kms_hdr@bpc-switch-suspend.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl2/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_psr@psr2_sprite_blt:
    - shard-iclb:         [SKIP][120] ([fdo#109441]) -> [PASS][121] +1 similar issue
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb6/igt@kms_psr@psr2_sprite_blt.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html

  * igt@perf@polling-parameterized:
    - shard-tglb:         [FAIL][122] ([i915#1542]) -> [PASS][123]
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-tglb1/igt@perf@polling-parameterized.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-tglb7/igt@perf@polling-parameterized.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-iclb:         [FAIL][124] ([i915#2852]) -> [FAIL][125] ([i915#2842])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb2/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb8/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-iclb:         [WARN][126] ([i915#1804] / [i915#2684]) -> [WARN][127] ([i915#2684])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb7/igt@i915_pm_rc6_residency@rc6-idle.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2:
    - shard-iclb:         [SKIP][128] ([i915#2920]) -> [SKIP][129] ([i915#658])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb4/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
    - shard-iclb:         [SKIP][130] ([i915#658]) -> [SKIP][131] ([i915#2920]) +2 similar issues
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-iclb5/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][132], [FAIL][133], [FAIL][134], [FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138], [FAIL][139], [FAIL][140], [FAIL][141]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#2505] / [i915#3002] / [i915#3363] / [i915#602]) -> ([FAIL][142], [FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148], [FAIL][149]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#2505] / [i915#3002] / [i915#3363] / [i915#92])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl6/igt@runner@aborted.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl4/igt@runner@aborted.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl1/igt@runner@aborted.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl4/igt@runner@aborted.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl6/igt@runner@aborted.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl6/igt@runner@aborted.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl3/igt@runner@aborted.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl4/igt@runner@aborted.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl4/igt@runner@aborted.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10060/shard-kbl7/igt@runner@aborted.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl6/igt@runner@aborted.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl7/igt@runner@aborted.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl6/igt@runner@aborted.html
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl4/igt@runner@aborted.html
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl1/igt@runner@aborted.html
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_5795/shard-kbl6/igt@runner@aborted.html
   [148]: https://intel-gfx-ci.01.or

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 34340 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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests
@ 2021-05-08 16:22 Bhanuprakash Modem
  2021-05-08  9:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix mode selection for 2x tests (rev5) Patchwork
                   ` (15 more replies)
  0 siblings, 16 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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.

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.

For 1x tests, cleanup the state before exiting the test.

Follow-up:
As modeset will happen one by one, we can't apply this approach on
tests/kms_flip.c & tests/kms_setmode.c

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Bhanuprakash Modem (14):
  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
  tests/debugfs_test: Fix mode selection for MST
  tests/kms_content_protection: Fix mode selection for 2x tests
  tests/kms_plane_scaling: Fix mode selection for 2x tests
  tests/kms_atomic_transition: Fix mode selection for 2x tests
  tests/kms_plane: Reset the state before exiting the test
  tests/kms_plane_alpha_blend: Reset the state before exiting the test
  tests/kms_cursor_edge_walk: Reset the state before exiting the test
  tests/kms_plane_lowres: Reset the state before exiting the test
  tests/kms_plane_cursor: Reset the state before exiting the test
  tests/kms_flip_scaled_crc: Reset the state before exiting the test
  tests/kms_vblank: Reset the state before exiting the test

 lib/igt_kms.c                    | 79 ++++++++++++++++++++++++++++++++
 lib/igt_kms.h                    |  1 +
 tests/debugfs_test.c             | 21 +++++++++
 tests/kms_atomic_transition.c    | 15 ++++++
 tests/kms_content_protection.c   | 41 +++++++----------
 tests/kms_cursor_edge_walk.c     |  3 ++
 tests/kms_cursor_legacy.c        | 50 ++++++++++++++++++--
 tests/kms_flip_scaled_crc.c      |  5 ++
 tests/kms_frontbuffer_tracking.c | 40 ++++++++++++++++
 tests/kms_plane.c                | 15 ++++--
 tests/kms_plane_alpha_blend.c    |  5 +-
 tests/kms_plane_cursor.c         |  4 ++
 tests/kms_plane_lowres.c         |  9 ++--
 tests/kms_plane_scaling.c        | 15 ++++--
 tests/kms_vblank.c               |  2 +
 15 files changed, 262 insertions(+), 43 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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 01/14] lib/igt_kms: helper to override the mode on all connectors
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
  2021-05-08  9:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix mode selection for 2x tests (rev5) Patchwork
  2021-05-08 10:19 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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 by using
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.

V2:
* Remove MST specific logic (Daniel)
V3:
* Sort connector modes in descending order
V4:
* Fine tune the logic to reduce #of interations (Ankit)
* Update the documentation (Ankit)
V5:
* Fix function name to make it generic (Ankit)
* Add support for legacy commit (Ankit)

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

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 47b829b0c..28fb9c094 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -4048,6 +4048,85 @@ 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 int sort_drm_modes(const void *a, const void *b)
+{
+	const drmModeModeInfo *mode1 = a, *mode2 = b;
+
+	return (mode1->clock < mode2->clock) - (mode2->clock < mode1->clock);
+}
+
+static
+bool __override_all_active_output_modes_to_fit_bw(igt_display_t *display,
+						  igt_output_t *outputs[IGT_MAX_PIPES],
+						  const int n_outputs,
+						  int base)
+{
+	igt_output_t *output = NULL;
+
+	if (base >= n_outputs)
+		return false;
+
+	output = outputs[base];
+
+	for_each_connector_mode(output) {
+		int ret;
+
+		igt_output_override_mode(output, &output->config.connector->modes[i__]);
+
+		if (__override_all_active_output_modes_to_fit_bw(display, outputs, n_outputs, base + 1))
+			return true;
+
+		if (display->is_atomic)
+			ret = igt_display_try_commit_atomic(display,
+					DRM_MODE_ATOMIC_TEST_ONLY |
+					DRM_MODE_ATOMIC_ALLOW_MODESET,
+					NULL);
+		else
+			ret = igt_display_try_commit2(display, COMMIT_LEGACY);
+
+		if (!ret)
+			return true;
+	}
+
+	return false;
+}
+
+/**
+ * igt_override_all_active_output_modes_to_fit_bw:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Override the mode on all active outputs (i.e. pending_pipe != PIPE_NONE)
+ * on basis of bandwidth.
+ *
+ * Returns: true if a valid connector mode combo found, else false
+ */
+bool igt_override_all_active_output_modes_to_fit_bw(igt_display_t *display)
+{
+	int i, n_outputs = 0;
+	igt_output_t *outputs[IGT_MAX_PIPES];
+
+	for (i = 0 ; i < display->n_outputs; i++) {
+		igt_output_t *output = &display->outputs[i];
+
+		if (output->pending_pipe == PIPE_NONE)
+			continue;
+
+		/* Sort the modes in descending order by clock freq. */
+		qsort(output->config.connector->modes,
+		      output->config.connector->count_modes,
+		      sizeof(drmModeModeInfo),
+		      sort_drm_modes);
+
+		outputs[n_outputs++] = output;
+	}
+	igt_require_f(n_outputs, "No active outputs found.\n");
+
+	return __override_all_active_output_modes_to_fit_bw(display, outputs, n_outputs, 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 85f0769c9..8cde24b79 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -915,5 +915,6 @@ void igt_require_pipe(igt_display_t *display,
 
 void igt_dump_connectors_fd(int drmfd);
 void igt_dump_crtcs_fd(int drmfd);
+bool igt_override_all_active_output_modes_to_fit_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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (2 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 01/14] lib/igt_kms: helper to override the mode on all connectors Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-11  4:27   ` Nautiyal, Ankit K
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 03/14] tests/kms_cursor_legacy: " Bhanuprakash Modem
                   ` (11 subsequent siblings)
  15 siblings, 1 reply; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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.

V2:
* Remove MST specific logic (Daniel)
V3:
* Add support for legacy commit (Ankit)

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

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 2e74bec6f..65c2ddb5c 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -1683,14 +1683,54 @@ 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 = igt_override_all_active_output_modes_to_fit_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)
 {
+	int ret;
+
 	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);
 
+	if (drm.display.is_atomic)
+		ret = igt_display_try_commit_atomic(&drm.display,
+				DRM_MODE_ATOMIC_TEST_ONLY |
+				DRM_MODE_ATOMIC_ALLOW_MODESET,
+				NULL);
+	else
+		ret = igt_display_try_commit2(&drm.display, COMMIT_LEGACY);
+
+	if (ret)
+		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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 03/14] tests/kms_cursor_legacy: Fix mode selection for 2x tests
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (3 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-11  5:23   ` Nautiyal, Ankit K
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 04/14] tests/debugfs_test: Fix mode selection for MST Bhanuprakash Modem
                   ` (10 subsequent siblings)
  15 siblings, 1 reply; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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.

V2:
* Remove MST specific logic (Daniel)
V3:
* Add support for legacy commit (Ankit)

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

diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 4723e1ff9..571ea59cf 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -50,6 +50,27 @@ IGT_TEST_DESCRIPTION("Stress legacy cursor ioctl");
 
 igt_pipe_crc_t *pipe_crc;
 
+static int try_commit(igt_display_t *display)
+{
+	return (display->is_atomic) ?
+			igt_display_try_commit_atomic(display,
+					DRM_MODE_ATOMIC_TEST_ONLY |
+					DRM_MODE_ATOMIC_ALLOW_MODESET,
+					NULL) :
+			igt_display_try_commit2(display, COMMIT_LEGACY);
+}
+
+static void override_output_modes(igt_display_t *display,
+				  igt_output_t *output1,
+				  igt_output_t *output2)
+{
+	bool found = igt_override_all_active_output_modes_to_fit_bw(display);
+	igt_require_f(found, "No valid mode combo found.\n");
+
+	igt_output_set_pipe(output1, PIPE_NONE);
+	igt_output_set_pipe(output2, PIPE_NONE);
+}
+
 static void stress(igt_display_t *display,
 		   enum pipe pipe, int num_children, unsigned mode,
 		   int timeout)
@@ -393,6 +414,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 +428,17 @@ 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 (try_commit(display)) {
+			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 +909,13 @@ 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 (try_commit(display)) {
+		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 +1166,13 @@ 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 (try_commit(display)) {
+		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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 04/14] tests/debugfs_test: Fix mode selection for MST
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (4 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 03/14] tests/kms_cursor_legacy: " Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-11 10:07   ` Nautiyal, Ankit K
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 05/14] tests/kms_content_protection: Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (9 subsequent siblings)
  15 siblings, 1 reply; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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.

V2:
* Add support for legacy commit (Ankit)

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/debugfs_test.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/tests/debugfs_test.c b/tests/debugfs_test.c
index 46ba0a8be..e50f213ae 100644
--- a/tests/debugfs_test.c
+++ b/tests/debugfs_test.c
@@ -98,12 +98,14 @@ static void kms_tests(int fd, int debugfs)
 	igt_display_t display;
 	struct igt_fb fb[IGT_MAX_PIPES];
 	enum pipe pipe;
+	int ret;
 
 	igt_fixture
 		igt_display_require(&display, fd);
 
 	igt_subtest("read_all_entries_display_on") {
 		/* try to light all pipes */
+retry:
 		for_each_pipe(&display, pipe) {
 			igt_output_t *output;
 
@@ -128,6 +130,25 @@ static void kms_tests(int fd, int debugfs)
 			}
 		}
 
+		if (display.is_atomic)
+			ret = igt_display_try_commit_atomic(&display,
+					DRM_MODE_ATOMIC_TEST_ONLY |
+					DRM_MODE_ATOMIC_ALLOW_MODESET,
+					NULL);
+		else
+			ret = igt_display_try_commit2(&display, COMMIT_LEGACY);
+
+		if (ret) {
+			igt_output_t *output;
+			bool found = igt_override_all_active_output_modes_to_fit_bw(&display);
+			igt_require_f(found, "No valid mode combo found.\n");
+
+			for_each_connected_output(&display, output)
+				igt_output_set_pipe(output, PIPE_NONE);
+
+			goto retry;
+		}
+
 		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 
 		read_and_discard_sysfs_entries(debugfs, 0);
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 05/14] tests/kms_content_protection: Fix mode selection for 2x tests
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (5 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 04/14] tests/debugfs_test: Fix mode selection for MST Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-11  5:54   ` Nautiyal, Ankit K
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 06/14] tests/kms_plane_scaling: " Bhanuprakash Modem
                   ` (8 subsequent siblings)
  15 siblings, 1 reply; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_content_protection.c | 41 +++++++++++++---------------------
 1 file changed, 16 insertions(+), 25 deletions(-)

diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index 5a75b871c..1d1a439a9 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -452,39 +452,18 @@ static bool sink_hdcp2_capable(igt_output_t *output)
 	return strstr(buf, "HDCP2.2");
 }
 
-static void prepare_modeset_on_mst_output(igt_output_t *output, enum pipe pipe)
+static void prepare_modeset_on_mst_output(igt_output_t *output)
 {
-	drmModeConnectorPtr c = output->config.connector;
 	drmModeModeInfo *mode;
 	igt_plane_t *primary;
-	int i, width, height;
+	int width, height;
+	enum pipe pipe = output->pending_pipe;
 
 	mode = igt_output_get_mode(output);
 
-	/*
-	 * TODO: Add logic to use the highest possible modes on each output.
-	 * Currently using 2k modes by default on all the outputs.
-	 */
-	igt_debug("Before mode override: Output %s Mode hdisplay %d Mode vdisplay %d\n",
-		   output->name, mode->hdisplay, mode->vdisplay);
-
-	if (mode->hdisplay > 1920 && mode->vdisplay > 1080) {
-		for (i = 0; i < c->count_modes; i++) {
-			if (c->modes[i].hdisplay <= 1920 && c->modes[i].vdisplay <= 1080) {
-				mode = &c->modes[i];
-				igt_output_override_mode(output, mode);
-				break;
-			}
-		}
-	}
-
-	igt_debug("After mode overide: Output %s Mode hdisplay %d Mode vdisplay %d\n",
-		   output->name, mode->hdisplay, mode->vdisplay);
-
 	width = mode->hdisplay;
 	height = mode->vdisplay;
 
-	igt_output_set_pipe(output, pipe);
 	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 	igt_plane_set_fb(primary, NULL);
 	igt_plane_set_fb(primary, pipe % 2 ? &data.red : &data.green);
@@ -624,7 +603,8 @@ test_content_protection_mst(int content_type)
 
 		igt_assert_f(igt_pipe_connector_valid(pipe, output), "Output-pipe combination invalid\n");
 
-		prepare_modeset_on_mst_output(output, pipe);
+		igt_output_set_pipe(output, pipe);
+		prepare_modeset_on_mst_output(output);
 		mst_output[dp_mst_outputs++] = output;
 
 		pipe++;
@@ -635,6 +615,17 @@ test_content_protection_mst(int content_type)
 
 	igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2 outputs found in a single topology\n");
 
+	if (igt_display_try_commit_atomic(display,
+				DRM_MODE_ATOMIC_TEST_ONLY |
+				DRM_MODE_ATOMIC_ALLOW_MODESET,
+				NULL) != 0) {
+		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
+		igt_require_f(found, "No valid mode combo found for MST modeset\n");
+
+		for (count = 0; count < dp_mst_outputs; count++)
+			prepare_modeset_on_mst_output(mst_output[count]);
+	}
+
 	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
 	igt_require_f(ret == 0, "Commit failure during MST modeset\n");
 
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 06/14] tests/kms_plane_scaling: Fix mode selection for 2x tests
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (6 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 05/14] tests/kms_content_protection: Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-11  6:02   ` Nautiyal, Ankit K
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: " Bhanuprakash Modem
                   ` (7 subsequent siblings)
  15 siblings, 1 reply; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_plane_scaling.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 34efc588e..7464b5bdf 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -630,9 +630,6 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
 	d->plane3 = igt_output_get_plane(output2, 0);
 	d->plane4 = get_num_scalers(d, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL;
 
-	mode1 = igt_output_get_mode(output1);
-	mode2 = igt_output_get_mode(output2);
-
 	igt_skip_on(!igt_display_has_format_mod(display, DRM_FORMAT_XRGB8888,
 						tiling));
 
@@ -658,8 +655,20 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
 	igt_plane_set_fb(d->plane3, &d->fb[2]);
 	if (d->plane4)
 		igt_plane_set_fb(d->plane4, &d->fb[3]);
+
+	if (igt_display_try_commit_atomic(display,
+				DRM_MODE_ATOMIC_TEST_ONLY |
+				DRM_MODE_ATOMIC_ALLOW_MODESET,
+				NULL) != 0) {
+		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
+		igt_require_f(found, "No valid mode combo found.\n");
+	}
+
 	igt_display_commit2(display, COMMIT_ATOMIC);
 
+	mode1 = igt_output_get_mode(output1);
+	mode2 = igt_output_get_mode(output2);
+
 	/* Upscaling Primary */
 	igt_plane_set_size(d->plane1, mode1->hdisplay, mode1->vdisplay);
 	igt_plane_set_size(d->plane3, mode2->hdisplay, mode2->vdisplay);
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: Fix mode selection for 2x tests
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (7 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 06/14] tests/kms_plane_scaling: " Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-11  9:30   ` Nautiyal, Ankit K
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 08/14] tests/kms_plane: Reset the state before exiting the test Bhanuprakash Modem
                   ` (6 subsequent siblings)
  15 siblings, 1 reply; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 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>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_atomic_transition.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index be60940d7..e6931de5f 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -100,6 +100,7 @@ run_primary_test(data_t *data, enum pipe pipe, igt_output_t *output)
 	igt_plane_set_fb(primary, NULL);
 	igt_output_set_pipe(output, PIPE_NONE);
 	igt_remove_fb(data->drm_fd, &fb);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 }
 
 static void *fence_inc_thread(void *arg)
@@ -793,6 +794,7 @@ static void run_modeset_tests(data_t *data, int howmany, bool nonblocking, bool
 	for (i = 0; i < data->display.n_outputs; i++)
 		igt_output_set_pipe(&data->display.outputs[i], PIPE_NONE);
 
+retry:
 	for_each_connected_output(&data->display, output) {
 		drmModeModeInfo *mode = igt_output_get_mode(output);
 
@@ -839,6 +841,19 @@ static void run_modeset_tests(data_t *data, int howmany, bool nonblocking, bool
 
 	iter_max = 1 << j;
 
+	if (igt_display_try_commit_atomic(&data->display,
+				DRM_MODE_ATOMIC_TEST_ONLY |
+				DRM_MODE_ATOMIC_ALLOW_MODESET,
+				NULL) != 0) {
+		igt_output_t *out;
+		bool found = igt_override_all_active_output_modes_to_fit_bw(&data->display);
+		igt_require_f(found, "No valid mode combo found.\n");
+
+		for_each_connected_output(&data->display, out)
+			igt_output_set_pipe(out, PIPE_NONE);
+
+		goto retry;
+	}
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 	for (i = 0; i < iter_max; i++) {
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 08/14] tests/kms_plane: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (8 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: " Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 09/14] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests. This patch will also fix
few typos & depricated macros.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_plane.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 9fe253a8c..8ed168647 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -251,7 +251,11 @@ test_plane_position_with_output(data_t *data,
 	igt_plane_set_fb(sprite, NULL);
 
 	/* reset the constraint on the pipe */
-	igt_output_set_pipe(output, PIPE_ANY);
+	igt_output_set_pipe(output, PIPE_NONE);
+	igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+
+	igt_remove_fb(data->drm_fd, &primary_fb);
+	igt_remove_fb(data->drm_fd, &sprite_fb);
 }
 
 static void
@@ -288,7 +292,7 @@ test_plane_position(data_t *data, enum pipe pipe, unsigned int flags)
  *     (vdisplay, hdisplay) we do get the same CRC than the full blue fb.
  */
 static void
-create_fb_for_mode__panning(data_t *data, drmModeModeInfo *mode,
+create_fb_for_mode_panning(data_t *data, drmModeModeInfo *mode,
 			    struct igt_fb *fb /* out */)
 {
 	unsigned int fb_id;
@@ -334,7 +338,7 @@ test_plane_panning_with_output(data_t *data,
 	mode = igt_output_get_mode(output);
 	primary = igt_output_get_plane(output, 0);
 
-	create_fb_for_mode__panning(data, mode, &primary_fb);
+	create_fb_for_mode_panning(data, mode, &primary_fb);
 	igt_plane_set_fb(primary, &primary_fb);
 
 	if (flags & TEST_PANNING_TOP_LEFT)
@@ -355,8 +359,11 @@ test_plane_panning_with_output(data_t *data,
 	igt_plane_set_fb(primary, NULL);
 
 	/* reset states to neutral values, assumed by other tests */
-	igt_output_set_pipe(output, PIPE_ANY);
+	igt_output_set_pipe(output, PIPE_NONE);
 	igt_fb_set_position(&primary_fb, primary, 0, 0);
+	igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+
+	igt_remove_fb(data->drm_fd, &primary_fb);
 }
 
 static void
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 09/14] tests/kms_plane_alpha_blend: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (9 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 08/14] tests/kms_plane: Reset the state before exiting the test Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 10/14] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests. This patch will also fix
few redundant checks.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_plane_alpha_blend.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/kms_plane_alpha_blend.c b/tests/kms_plane_alpha_blend.c
index 5e80ae36e..a37cb27c7 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -237,8 +237,6 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe)
 	}
 
 	igt_plane_set_fb(primary, &data->black_fb);
-	/* reset alpha property to default */
-	reset_alpha(display, pipe);
 }
 
 static void basic_alpha(data_t *data, enum pipe pipe, igt_plane_t *plane)
@@ -507,6 +505,9 @@ static void run_test_on_pipe_planes(data_t *data, enum pipe pipe, bool blend,
 		igt_plane_set_fb(plane, NULL);
 	}
 
+	igt_output_set_pipe(output, PIPE_NONE);
+	igt_display_commit2(display, COMMIT_ATOMIC);
+
 	igt_require_f(found, "No planes with %s property found\n",
 		      blend ? "pixel blending mode" : "alpha");
 	igt_require_f(multiply, "Multiplied (plane x pixel) alpha not available\n");
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 10/14] tests/kms_cursor_edge_walk: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (10 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 09/14] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
@ 2021-05-08 16:22 ` Bhanuprakash Modem
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 11/14] tests/kms_plane_lowres: " Bhanuprakash Modem
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:22 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_cursor_edge_walk.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
index 69662afec..d1d8a9143 100644
--- a/tests/kms_cursor_edge_walk.c
+++ b/tests/kms_cursor_edge_walk.c
@@ -225,6 +225,7 @@ static void cleanup_crtc(data_t *data)
 
 	igt_remove_fb(data->drm_fd, &data->primary_fb);
 	igt_remove_fb(data->drm_fd, &data->fb);
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 }
 
 static void prepare_crtc(data_t *data)
@@ -268,6 +269,8 @@ static void test_crtc(data_t *data, unsigned int edges)
 	create_cursor_fb(data, data->curw, data->curh);
 
 	test_edges(data, edges);
+
+	cleanup_crtc(data);
 }
 
 static int opt_handler(int opt, int opt_index, void *_data)
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 11/14] tests/kms_plane_lowres: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (11 preceding siblings ...)
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 10/14] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
@ 2021-05-08 16:23 ` Bhanuprakash Modem
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 12/14] tests/kms_plane_cursor: " Bhanuprakash Modem
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:23 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests. This patch will also fix
few redundant checks.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_plane_lowres.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 5cfe53c8b..95346e289 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -270,16 +270,13 @@ test_planes_on_pipe(data_t *data, uint64_t modifier)
 	igt_info("Testing connector %s using pipe %s\n",
 		 igt_output_name(data->output), kmstest_pipe_name(data->pipe));
 
-	for_each_plane_on_pipe(&data->display, data->pipe, plane) {
-		data->output = igt_get_single_output_for_pipe(&data->display, data->pipe);
-		igt_require(data->output);
-
+	for_each_plane_on_pipe(&data->display, data->pipe, plane)
 		tested += test_planes_on_pipe_with_output(data, plane, modifier);
-	}
 
-	igt_assert(tested > 0);
 	igt_output_set_pipe(data->output, PIPE_NONE);
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
+
+	igt_assert(tested > 0);
 }
 
 igt_main
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 12/14] tests/kms_plane_cursor: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (12 preceding siblings ...)
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 11/14] tests/kms_plane_lowres: " Bhanuprakash Modem
@ 2021-05-08 16:23 ` Bhanuprakash Modem
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 13/14] tests/kms_flip_scaled_crc: " Bhanuprakash Modem
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 14/14] tests/kms_vblank: " Bhanuprakash Modem
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:23 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_plane_cursor.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tests/kms_plane_cursor.c b/tests/kms_plane_cursor.c
index bc9d42940..9bda47466 100644
--- a/tests/kms_plane_cursor.c
+++ b/tests/kms_plane_cursor.c
@@ -93,6 +93,10 @@ static void test_fini(data_t *data)
 {
 	igt_pipe_crc_free(data->pipe_crc);
 	igt_display_reset(&data->display);
+	igt_plane_set_fb(data->primary, NULL);
+	igt_plane_set_fb(data->overlay, NULL);
+	igt_plane_set_fb(data->cursor, NULL);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 }
 
 /* Fills a FB with the solid color given. */
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 13/14] tests/kms_flip_scaled_crc: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (13 preceding siblings ...)
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 12/14] tests/kms_plane_cursor: " Bhanuprakash Modem
@ 2021-05-08 16:23 ` Bhanuprakash Modem
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 14/14] tests/kms_vblank: " Bhanuprakash Modem
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:23 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_flip_scaled_crc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/kms_flip_scaled_crc.c b/tests/kms_flip_scaled_crc.c
index 4923f1235..671ba7367 100644
--- a/tests/kms_flip_scaled_crc.c
+++ b/tests/kms_flip_scaled_crc.c
@@ -156,6 +156,7 @@ static void test_flip_to_scaled(data_t *data, uint32_t index, enum pipe pipe,
 	int ret;
 
 	igt_display_reset(&data->display);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 	igt_debug("running on output %s pipe %s\n", output->name,
 		  kmstest_pipe_name(pipe));
@@ -246,6 +247,10 @@ static void test_flip_to_scaled(data_t *data, uint32_t index, enum pipe pipe,
 	data->pipe_crc = NULL;
 
 	clear_lut(data, pipe);
+
+	igt_output_set_pipe(output, pipe);
+	igt_plane_set_fb(primary, NULL);
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 }
 
 igt_main
-- 
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] 27+ messages in thread

* [igt-dev] [v5 i-g-t 14/14] tests/kms_vblank: Reset the state before exiting the test
  2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
                   ` (14 preceding siblings ...)
  2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 13/14] tests/kms_flip_scaled_crc: " Bhanuprakash Modem
@ 2021-05-08 16:23 ` Bhanuprakash Modem
  15 siblings, 0 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2021-05-08 16:23 UTC (permalink / raw)
  To: igt-dev

Before starting the next subtest, clean up the states to default
values, those are assumed by other tests.

Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_vblank.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index e561e41d7..93b01eba0 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -96,6 +96,8 @@ static void prepare_crtc(data_t *data, int fd, igt_output_t *output)
 
 static void cleanup_crtc(data_t *data, int fd, igt_output_t *output)
 {
+	igt_output_set_pipe(output, PIPE_NONE);
+	igt_display_commit(&data->display);
 	igt_remove_fb(fd, &data->primary_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] 27+ messages in thread

* Re: [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-05-11  4:27   ` Nautiyal, Ankit K
  2021-05-12  6:37     ` Modem, Bhanuprakash
  0 siblings, 1 reply; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-11  4:27 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev


On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 patch will find a combination of modes that fit into the BW.
>
> V2:
> * Remove MST specific logic (Daniel)
> V3:
> * Add support for legacy commit (Ankit)
>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_frontbuffer_tracking.c | 40 ++++++++++++++++++++++++++++++++
>   1 file changed, 40 insertions(+)
>
> diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
> index 2e74bec6f..65c2ddb5c 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -1683,14 +1683,54 @@ 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 = igt_override_all_active_output_modes_to_fit_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)
>   {
> +	int ret;
> +
>   	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);
>   
> +	if (drm.display.is_atomic)
> +		ret = igt_display_try_commit_atomic(&drm.display,
> +				DRM_MODE_ATOMIC_TEST_ONLY |
> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> +				NULL);
> +	else
> +		ret = igt_display_try_commit2(&drm.display, COMMIT_LEGACY);
> +
> +	if (ret)
> +		update_modeset_cached_params();
> +
>   	igt_display_commit2(&drm.display, drm.display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);

I think this statement should now be the part of the above if-block.

In case either of the try commit passes without need to call 
update_modeset_chached_params(), igt_display_commit again will be redundant.

With that changed:

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

>   
>   	wanted_crc = &blue_crcs[t->format].crc;
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 03/14] tests/kms_cursor_legacy: Fix mode selection for 2x tests
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 03/14] tests/kms_cursor_legacy: " Bhanuprakash Modem
@ 2021-05-11  5:23   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-11  5:23 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev


On 5/8/2021 9:52 PM, Bhanuprakash Modem 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.

Change looks good to me.

For this patch as well as other patches, the commit message can be 
modified as the change is no longer specific for MST, but any 2x setup 
in general.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


>
> This patch will find a combination of modes that fit into the BW.
>
> V2:
> * Remove MST specific logic (Daniel)
> V3:
> * Add support for legacy commit (Ankit)
>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_cursor_legacy.c | 50 ++++++++++++++++++++++++++++++++++++---
>   1 file changed, 47 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
> index 4723e1ff9..571ea59cf 100644
> --- a/tests/kms_cursor_legacy.c
> +++ b/tests/kms_cursor_legacy.c
> @@ -50,6 +50,27 @@ IGT_TEST_DESCRIPTION("Stress legacy cursor ioctl");
>   
>   igt_pipe_crc_t *pipe_crc;
>   
> +static int try_commit(igt_display_t *display)
> +{
> +	return (display->is_atomic) ?
> +			igt_display_try_commit_atomic(display,
> +					DRM_MODE_ATOMIC_TEST_ONLY |
> +					DRM_MODE_ATOMIC_ALLOW_MODESET,
> +					NULL) :
> +			igt_display_try_commit2(display, COMMIT_LEGACY);
> +}
> +
> +static void override_output_modes(igt_display_t *display,
> +				  igt_output_t *output1,
> +				  igt_output_t *output2)
> +{
> +	bool found = igt_override_all_active_output_modes_to_fit_bw(display);
> +	igt_require_f(found, "No valid mode combo found.\n");
> +
> +	igt_output_set_pipe(output1, PIPE_NONE);
> +	igt_output_set_pipe(output2, PIPE_NONE);
> +}
> +
>   static void stress(igt_display_t *display,
>   		   enum pipe pipe, int num_children, unsigned mode,
>   		   int timeout)
> @@ -393,6 +414,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 +428,17 @@ 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 (try_commit(display)) {
> +			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 +909,13 @@ 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 (try_commit(display)) {
> +		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 +1166,13 @@ 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 (try_commit(display)) {
> +		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);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 05/14] tests/kms_content_protection: Fix mode selection for 2x tests
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 05/14] tests/kms_content_protection: Fix mode selection for 2x tests Bhanuprakash Modem
@ 2021-05-11  5:54   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-11  5:54 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev

Nice to see #TODO for the test getting implemented :)

The test was earlier trying with hard coded 2K mode on MST panels. This 
takes care of that.

Please find comments inline:

On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 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>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_content_protection.c | 41 +++++++++++++---------------------
>   1 file changed, 16 insertions(+), 25 deletions(-)
>
> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> index 5a75b871c..1d1a439a9 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -452,39 +452,18 @@ static bool sink_hdcp2_capable(igt_output_t *output)
>   	return strstr(buf, "HDCP2.2");
>   }
>   
> -static void prepare_modeset_on_mst_output(igt_output_t *output, enum pipe pipe)
> +static void prepare_modeset_on_mst_output(igt_output_t *output)
>   {
> -	drmModeConnectorPtr c = output->config.connector;
>   	drmModeModeInfo *mode;
>   	igt_plane_t *primary;
> -	int i, width, height;
> +	int width, height;
> +	enum pipe pipe = output->pending_pipe;
>   
>   	mode = igt_output_get_mode(output);
>   
> -	/*
> -	 * TODO: Add logic to use the highest possible modes on each output.
> -	 * Currently using 2k modes by default on all the outputs.
> -	 */
> -	igt_debug("Before mode override: Output %s Mode hdisplay %d Mode vdisplay %d\n",
> -		   output->name, mode->hdisplay, mode->vdisplay);
> -
> -	if (mode->hdisplay > 1920 && mode->vdisplay > 1080) {
> -		for (i = 0; i < c->count_modes; i++) {
> -			if (c->modes[i].hdisplay <= 1920 && c->modes[i].vdisplay <= 1080) {
> -				mode = &c->modes[i];
> -				igt_output_override_mode(output, mode);
> -				break;
> -			}
> -		}
> -	}
> -
> -	igt_debug("After mode overide: Output %s Mode hdisplay %d Mode vdisplay %d\n",
> -		   output->name, mode->hdisplay, mode->vdisplay);
> -
>   	width = mode->hdisplay;
>   	height = mode->vdisplay;
>   
> -	igt_output_set_pipe(output, pipe);
>   	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>   	igt_plane_set_fb(primary, NULL);
>   	igt_plane_set_fb(primary, pipe % 2 ? &data.red : &data.green);
> @@ -624,7 +603,8 @@ test_content_protection_mst(int content_type)
>   
>   		igt_assert_f(igt_pipe_connector_valid(pipe, output), "Output-pipe combination invalid\n");
>   
> -		prepare_modeset_on_mst_output(output, pipe);
> +		igt_output_set_pipe(output, pipe);
> +		prepare_modeset_on_mst_output(output);
>   		mst_output[dp_mst_outputs++] = output;
>   
>   		pipe++;
> @@ -635,6 +615,17 @@ test_content_protection_mst(int content_type)
>   
>   	igt_require_f(dp_mst_outputs > 1, "No DP MST set up with >= 2 outputs found in a single topology\n");
>   
> +	if (igt_display_try_commit_atomic(display,
> +				DRM_MODE_ATOMIC_TEST_ONLY |
> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> +				NULL) != 0) {
> +		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
> +		igt_require_f(found, "No valid mode combo found for MST modeset\n");
> +
> +		for (count = 0; count < dp_mst_outputs; count++)
> +			prepare_modeset_on_mst_output(mst_output[count]);
> +	}
> +
>   	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);

The above statement should be in the else block for the if-block. If the 
try commit in the if block passes we don't need another commit.

With that fixed:

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


>   	igt_require_f(ret == 0, "Commit failure during MST modeset\n");
>   
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 06/14] tests/kms_plane_scaling: Fix mode selection for 2x tests
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 06/14] tests/kms_plane_scaling: " Bhanuprakash Modem
@ 2021-05-11  6:02   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-11  6:02 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev


On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 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>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_plane_scaling.c | 15 ++++++++++++---
>   1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 34efc588e..7464b5bdf 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -630,9 +630,6 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
>   	d->plane3 = igt_output_get_plane(output2, 0);
>   	d->plane4 = get_num_scalers(d, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL;
>   
> -	mode1 = igt_output_get_mode(output1);
> -	mode2 = igt_output_get_mode(output2);
> -
>   	igt_skip_on(!igt_display_has_format_mod(display, DRM_FORMAT_XRGB8888,
>   						tiling));
>   
> @@ -658,8 +655,20 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
>   	igt_plane_set_fb(d->plane3, &d->fb[2]);
>   	if (d->plane4)
>   		igt_plane_set_fb(d->plane4, &d->fb[3]);
> +
> +	if (igt_display_try_commit_atomic(display,
> +				DRM_MODE_ATOMIC_TEST_ONLY |
> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> +				NULL) != 0) {
> +		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
> +		igt_require_f(found, "No valid mode combo found.\n");
> +	}
> +
>   	igt_display_commit2(display, COMMIT_ATOMIC);

As discussed in previous patches, this commit should be part of else block.

Also commit message can be modified for general 2x cases.

Other than that patch looks good to me.

With above fixed:

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


>   
> +	mode1 = igt_output_get_mode(output1);
> +	mode2 = igt_output_get_mode(output2);
> +
>   	/* Upscaling Primary */
>   	igt_plane_set_size(d->plane1, mode1->hdisplay, mode1->vdisplay);
>   	igt_plane_set_size(d->plane3, mode2->hdisplay, mode2->vdisplay);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: Fix mode selection for 2x tests
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: " Bhanuprakash Modem
@ 2021-05-11  9:30   ` Nautiyal, Ankit K
  2021-05-11 11:58     ` Modem, Bhanuprakash
  0 siblings, 1 reply; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-11  9:30 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev


On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 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>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/kms_atomic_transition.c | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
>
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index be60940d7..e6931de5f 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -100,6 +100,7 @@ run_primary_test(data_t *data, enum pipe pipe, igt_output_t *output)
>   	igt_plane_set_fb(primary, NULL);
>   	igt_output_set_pipe(output, PIPE_NONE);
>   	igt_remove_fb(data->drm_fd, &fb);
> +	igt_display_commit2(&data->display, COMMIT_ATOMIC);


Is this commit required? I guess it was working earlier.

>   }
>   
>   static void *fence_inc_thread(void *arg)
> @@ -793,6 +794,7 @@ static void run_modeset_tests(data_t *data, int howmany, bool nonblocking, bool
>   	for (i = 0; i < data->display.n_outputs; i++)
>   		igt_output_set_pipe(&data->display.outputs[i], PIPE_NONE);
>   
> +retry:
>   	for_each_connected_output(&data->display, output) {
>   		drmModeModeInfo *mode = igt_output_get_mode(output);
>   
> @@ -839,6 +841,19 @@ static void run_modeset_tests(data_t *data, int howmany, bool nonblocking, bool
>   
>   	iter_max = 1 << j;

I think this line must be after the try commit block.

In case of retry we will count double the pipes, as j is initialized 
only in the beginning.


>   
> +	if (igt_display_try_commit_atomic(&data->display,
> +				DRM_MODE_ATOMIC_TEST_ONLY |
> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> +				NULL) != 0) {
> +		igt_output_t *out;
> +		bool found = igt_override_all_active_output_modes_to_fit_bw(&data->display);
> +		igt_require_f(found, "No valid mode combo found.\n");
> +
> +		for_each_connected_output(&data->display, out)
> +			igt_output_set_pipe(out, PIPE_NONE);
> +
> +		goto retry;
> +	}
>   	igt_display_commit2(&data->display, COMMIT_ATOMIC);

As discussed earlier, commit to be in the else block.


Regards,

Ankit

>   
>   	for (i = 0; i < iter_max; i++) {
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 04/14] tests/debugfs_test: Fix mode selection for MST
  2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 04/14] tests/debugfs_test: Fix mode selection for MST Bhanuprakash Modem
@ 2021-05-11 10:07   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-11 10:07 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev


On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 patch will find a combination of modes that fit into the BW.
>
> V2:
> * Add support for legacy commit (Ankit)
>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>   tests/debugfs_test.c | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
>
> diff --git a/tests/debugfs_test.c b/tests/debugfs_test.c
> index 46ba0a8be..e50f213ae 100644
> --- a/tests/debugfs_test.c
> +++ b/tests/debugfs_test.c
> @@ -98,12 +98,14 @@ static void kms_tests(int fd, int debugfs)
>   	igt_display_t display;
>   	struct igt_fb fb[IGT_MAX_PIPES];
>   	enum pipe pipe;
> +	int ret;
>   
>   	igt_fixture
>   		igt_display_require(&display, fd);
>   
>   	igt_subtest("read_all_entries_display_on") {
>   		/* try to light all pipes */
> +retry:
>   		for_each_pipe(&display, pipe) {
>   			igt_output_t *output;
>   
> @@ -128,6 +130,25 @@ static void kms_tests(int fd, int debugfs)
>   			}
>   		}
>   
> +		if (display.is_atomic)
> +			ret = igt_display_try_commit_atomic(&display,
> +					DRM_MODE_ATOMIC_TEST_ONLY |
> +					DRM_MODE_ATOMIC_ALLOW_MODESET,
> +					NULL);
> +		else
> +			ret = igt_display_try_commit2(&display, COMMIT_LEGACY);
> +
> +		if (ret) {
> +			igt_output_t *output;
> +			bool found = igt_override_all_active_output_modes_to_fit_bw(&display);
> +			igt_require_f(found, "No valid mode combo found.\n");
> +
> +			for_each_connected_output(&display, output)
> +				igt_output_set_pipe(output, PIPE_NONE);
> +
> +			goto retry;
> +		}
> +
>   		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);

I think this commit is not required. We will get here after only when 
try_commit is already a success, either in first try or after retry.

Also request to modify the subject and commit msg to remove MST specific 
use.

With that fixed:

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


>   
>   		read_and_discard_sysfs_entries(debugfs, 0);
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: Fix mode selection for 2x tests
  2021-05-11  9:30   ` Nautiyal, Ankit K
@ 2021-05-11 11:58     ` Modem, Bhanuprakash
  2021-05-12  6:19       ` Nautiyal, Ankit K
  0 siblings, 1 reply; 27+ messages in thread
From: Modem, Bhanuprakash @ 2021-05-11 11:58 UTC (permalink / raw)
  To: Nautiyal, Ankit K, igt-dev@lists.freedesktop.org

> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Sent: Tuesday, May 11, 2021 3:00 PM
> To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; igt-
> dev@lists.freedesktop.org
> Cc: Deak, Imre <imre.deak@intel.com>; Daniel Vetter <daniel.vetter@ffwll.ch>
> Subject: Re: [v5 i-g-t 07/14] tests/kms_atomic_transition: Fix mode selection
> for 2x tests
> 
> 
> On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 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>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > ---
> >   tests/kms_atomic_transition.c | 15 +++++++++++++++
> >   1 file changed, 15 insertions(+)
> >
> > diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> > index be60940d7..e6931de5f 100644
> > --- a/tests/kms_atomic_transition.c
> > +++ b/tests/kms_atomic_transition.c
> > @@ -100,6 +100,7 @@ run_primary_test(data_t *data, enum pipe pipe,
> igt_output_t *output)
> >   	igt_plane_set_fb(primary, NULL);
> >   	igt_output_set_pipe(output, PIPE_NONE);
> >   	igt_remove_fb(data->drm_fd, &fb);
> > +	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> 
> 
> Is this commit required? I guess it was working earlier.
Still we need this commit to unset the pipe to connector, We need to clean-up
the test before exit.

> 
> >   }
> >
> >   static void *fence_inc_thread(void *arg)
> > @@ -793,6 +794,7 @@ static void run_modeset_tests(data_t *data, int howmany,
> bool nonblocking, bool
> >   	for (i = 0; i < data->display.n_outputs; i++)
> >   		igt_output_set_pipe(&data->display.outputs[i], PIPE_NONE);
> >
> > +retry:
> >   	for_each_connected_output(&data->display, output) {
> >   		drmModeModeInfo *mode = igt_output_get_mode(output);
> >
> > @@ -839,6 +841,19 @@ static void run_modeset_tests(data_t *data, int
> howmany, bool nonblocking, bool
> >
> >   	iter_max = 1 << j;
> 
> I think this line must be after the try commit block.
> 
> In case of retry we will count double the pipes, as j is initialized
> only in the beginning.
True, even though we update the iter_max after the try_commit block, in case
of retry, still the j value can be double the pipe count.

Reinitializing the j to 0 at retry seems to be the best option to me.
> 
> 
> >
> > +	if (igt_display_try_commit_atomic(&data->display,
> > +				DRM_MODE_ATOMIC_TEST_ONLY |
> > +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> > +				NULL) != 0) {
> > +		igt_output_t *out;
> > +		bool found = igt_override_all_active_output_modes_to_fit_bw(&data-
> >display);
> > +		igt_require_f(found, "No valid mode combo found.\n");
> > +
> > +		for_each_connected_output(&data->display, out)
> > +			igt_output_set_pipe(out, PIPE_NONE);
> > +
> > +		goto retry;
> > +	}
> >   	igt_display_commit2(&data->display, COMMIT_ATOMIC);
> 
> As discussed earlier, commit to be in the else block.
> 
> 
> Regards,
> 
> Ankit
> 
> >
> >   	for (i = 0; i < iter_max; i++) {
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: Fix mode selection for 2x tests
  2021-05-11 11:58     ` Modem, Bhanuprakash
@ 2021-05-12  6:19       ` Nautiyal, Ankit K
  0 siblings, 0 replies; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-12  6:19 UTC (permalink / raw)
  To: Modem, Bhanuprakash, igt-dev@lists.freedesktop.org


On 5/11/2021 5:28 PM, Modem, Bhanuprakash wrote:
>> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
>> Sent: Tuesday, May 11, 2021 3:00 PM
>> To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; igt-
>> dev@lists.freedesktop.org
>> Cc: Deak, Imre <imre.deak@intel.com>; Daniel Vetter <daniel.vetter@ffwll.ch>
>> Subject: Re: [v5 i-g-t 07/14] tests/kms_atomic_transition: Fix mode selection
>> for 2x tests
>>
>>
>> On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 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>
>>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>> ---
>>>    tests/kms_atomic_transition.c | 15 +++++++++++++++
>>>    1 file changed, 15 insertions(+)
>>>
>>> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
>>> index be60940d7..e6931de5f 100644
>>> --- a/tests/kms_atomic_transition.c
>>> +++ b/tests/kms_atomic_transition.c
>>> @@ -100,6 +100,7 @@ run_primary_test(data_t *data, enum pipe pipe,
>> igt_output_t *output)
>>>      igt_plane_set_fb(primary, NULL);
>>>      igt_output_set_pipe(output, PIPE_NONE);
>>>      igt_remove_fb(data->drm_fd, &fb);
>>> +   igt_display_commit2(&data->display, COMMIT_ATOMIC);
>>
>> Is this commit required? I guess it was working earlier.
> Still we need this commit to unset the pipe to connector, We need to clean-up
> the test before exit.
Alright makes sense.
>>>    }
>>>
>>>    static void *fence_inc_thread(void *arg)
>>> @@ -793,6 +794,7 @@ static void run_modeset_tests(data_t *data, int howmany,
>> bool nonblocking, bool
>>>      for (i = 0; i < data->display.n_outputs; i++)
>>>              igt_output_set_pipe(&data->display.outputs[i], PIPE_NONE);
>>>
>>> +retry:
>>>      for_each_connected_output(&data->display, output) {
>>>              drmModeModeInfo *mode = igt_output_get_mode(output);
>>>
>>> @@ -839,6 +841,19 @@ static void run_modeset_tests(data_t *data, int
>> howmany, bool nonblocking, bool
>>>      iter_max = 1 << j;
>> I think this line must be after the try commit block.
>>
>> In case of retry we will count double the pipes, as j is initialized
>> only in the beginning.
> True, even though we update the iter_max after the try_commit block, in case
> of retry, still the j value can be double the pipe count.
>
> Reinitializing the j to 0 at retry seems to be the best option to me.

Yes you are right, re initializing j to 0 is the correct solution.

Regards,

Ankit

>>
>>> +   if (igt_display_try_commit_atomic(&data->display,
>>> +                           DRM_MODE_ATOMIC_TEST_ONLY |
>>> +                           DRM_MODE_ATOMIC_ALLOW_MODESET,
>>> +                           NULL) != 0) {
>>> +           igt_output_t *out;
>>> +           bool found = igt_override_all_active_output_modes_to_fit_bw(&data-
>>> display);
>>> +           igt_require_f(found, "No valid mode combo found.\n");
>>> +
>>> +           for_each_connected_output(&data->display, out)
>>> +                   igt_output_set_pipe(out, PIPE_NONE);
>>> +
>>> +           goto retry;
>>> +   }
>>>      igt_display_commit2(&data->display, COMMIT_ATOMIC);
>> As discussed earlier, commit to be in the else block.
>>
>>
>> Regards,
>>
>> Ankit
>>
>>>      for (i = 0; i < iter_max; i++) {
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
  2021-05-11  4:27   ` Nautiyal, Ankit K
@ 2021-05-12  6:37     ` Modem, Bhanuprakash
  2021-05-12  6:46       ` Nautiyal, Ankit K
  0 siblings, 1 reply; 27+ messages in thread
From: Modem, Bhanuprakash @ 2021-05-12  6:37 UTC (permalink / raw)
  To: Nautiyal, Ankit K, igt-dev@lists.freedesktop.org

> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Sent: Tuesday, May 11, 2021 9:57 AM
> To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; igt-
> dev@lists.freedesktop.org
> Cc: Deak, Imre <imre.deak@intel.com>; Daniel Vetter <daniel.vetter@ffwll.ch>
> Subject: Re: [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode
> selection for 2x tests
> 
> 
> On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 patch will find a combination of modes that fit into the BW.
> >
> > V2:
> > * Remove MST specific logic (Daniel)
> > V3:
> > * Add support for legacy commit (Ankit)
> >
> > Cc: Imre Deak <imre.deak@intel.com>
> > Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> > ---
> >   tests/kms_frontbuffer_tracking.c | 40 ++++++++++++++++++++++++++++++++
> >   1 file changed, 40 insertions(+)
> >
> > diff --git a/tests/kms_frontbuffer_tracking.c
> b/tests/kms_frontbuffer_tracking.c
> > index 2e74bec6f..65c2ddb5c 100644
> > --- a/tests/kms_frontbuffer_tracking.c
> > +++ b/tests/kms_frontbuffer_tracking.c
> > @@ -1683,14 +1683,54 @@ 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 = igt_override_all_active_output_modes_to_fit_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)
> >   {
> > +	int ret;
> > +
> >   	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);
> >
> > +	if (drm.display.is_atomic)
> > +		ret = igt_display_try_commit_atomic(&drm.display,
> > +				DRM_MODE_ATOMIC_TEST_ONLY |
> > +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> > +				NULL);
> > +	else
> > +		ret = igt_display_try_commit2(&drm.display, COMMIT_LEGACY);
> > +
> > +	if (ret)
> > +		update_modeset_cached_params();
> > +
> >   	igt_display_commit2(&drm.display, drm.display.is_atomic ? COMMIT_ATOMIC
> : COMMIT_LEGACY);
> 
> I think this statement should now be the part of the above if-block.

I think still we need this commit, since try_commit_atomic with the flag
DRM_MODE_ATOMIC_TEST_ONLY will do atomic check only and it really won't commit.
Also, we'll miss some display prop clean-up display_commit_changed() with both legacy
and atomic try commit.

This comment is applicable for all patches in this series.
 
> 
> In case either of the try commit passes without need to call
> update_modeset_chached_params(), igt_display_commit again will be redundant.
> 
> With that changed:
> 
> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> 
> >
> >   	wanted_crc = &blue_crcs[t->format].crc;
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests
  2021-05-12  6:37     ` Modem, Bhanuprakash
@ 2021-05-12  6:46       ` Nautiyal, Ankit K
  0 siblings, 0 replies; 27+ messages in thread
From: Nautiyal, Ankit K @ 2021-05-12  6:46 UTC (permalink / raw)
  To: Modem, Bhanuprakash, igt-dev@lists.freedesktop.org


On 5/12/2021 12:07 PM, Modem, Bhanuprakash wrote:
>> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
>> Sent: Tuesday, May 11, 2021 9:57 AM
>> To: Modem, Bhanuprakash <bhanuprakash.modem@intel.com>; igt-
>> dev@lists.freedesktop.org
>> Cc: Deak, Imre <imre.deak@intel.com>; Daniel Vetter <daniel.vetter@ffwll.ch>
>> Subject: Re: [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode
>> selection for 2x tests
>>
>>
>> On 5/8/2021 9:52 PM, Bhanuprakash Modem 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 patch will find a combination of modes that fit into the BW.
>>>
>>> V2:
>>> * Remove MST specific logic (Daniel)
>>> V3:
>>> * Add support for legacy commit (Ankit)
>>>
>>> Cc: Imre Deak <imre.deak@intel.com>
>>> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>> ---
>>>    tests/kms_frontbuffer_tracking.c | 40 ++++++++++++++++++++++++++++++++
>>>    1 file changed, 40 insertions(+)
>>>
>>> diff --git a/tests/kms_frontbuffer_tracking.c
>> b/tests/kms_frontbuffer_tracking.c
>>> index 2e74bec6f..65c2ddb5c 100644
>>> --- a/tests/kms_frontbuffer_tracking.c
>>> +++ b/tests/kms_frontbuffer_tracking.c
>>> @@ -1683,14 +1683,54 @@ 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 = igt_override_all_active_output_modes_to_fit_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)
>>>    {
>>> +   int ret;
>>> +
>>>      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);
>>>
>>> +   if (drm.display.is_atomic)
>>> +           ret = igt_display_try_commit_atomic(&drm.display,
>>> +                           DRM_MODE_ATOMIC_TEST_ONLY |
>>> +                           DRM_MODE_ATOMIC_ALLOW_MODESET,
>>> +                           NULL);
>>> +   else
>>> +           ret = igt_display_try_commit2(&drm.display, COMMIT_LEGACY);
>>> +
>>> +   if (ret)
>>> +           update_modeset_cached_params();
>>> +
>>>      igt_display_commit2(&drm.display, drm.display.is_atomic ? COMMIT_ATOMIC
>> : COMMIT_LEGACY);
>>
>> I think this statement should now be the part of the above if-block.
> I think still we need this commit, since try_commit_atomic with the flag
> DRM_MODE_ATOMIC_TEST_ONLY will do atomic check only and it really won't commit.
> Also, we'll miss some display prop clean-up display_commit_changed() with both legacy
> and atomic try commit.
>
> This comment is applicable for all patches in this series.

Oh right, this is a miss from my end. Indeed we need a commit after the 
try commit. Sorry for the confusion.

You can discard this comment for other patches as well and keep the rb.

Regards,

Ankit


>> In case either of the try commit passes without need to call
>> update_modeset_chached_params(), igt_display_commit again will be redundant.
>>
>> With that changed:
>>
>> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>
>>>      wanted_crc = &blue_crcs[t->format].crc;
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2021-05-12  6:46 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-08 16:22 [igt-dev] [v5 i-g-t 00/14] Fix mode selection for 2x tests Bhanuprakash Modem
2021-05-08  9:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix mode selection for 2x tests (rev5) Patchwork
2021-05-08 10:19 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 01/14] lib/igt_kms: helper to override the mode on all connectors Bhanuprakash Modem
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 02/14] tests/kms_frontbuffer_tracking: Fix mode selection for 2x tests Bhanuprakash Modem
2021-05-11  4:27   ` Nautiyal, Ankit K
2021-05-12  6:37     ` Modem, Bhanuprakash
2021-05-12  6:46       ` Nautiyal, Ankit K
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 03/14] tests/kms_cursor_legacy: " Bhanuprakash Modem
2021-05-11  5:23   ` Nautiyal, Ankit K
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 04/14] tests/debugfs_test: Fix mode selection for MST Bhanuprakash Modem
2021-05-11 10:07   ` Nautiyal, Ankit K
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 05/14] tests/kms_content_protection: Fix mode selection for 2x tests Bhanuprakash Modem
2021-05-11  5:54   ` Nautiyal, Ankit K
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 06/14] tests/kms_plane_scaling: " Bhanuprakash Modem
2021-05-11  6:02   ` Nautiyal, Ankit K
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 07/14] tests/kms_atomic_transition: " Bhanuprakash Modem
2021-05-11  9:30   ` Nautiyal, Ankit K
2021-05-11 11:58     ` Modem, Bhanuprakash
2021-05-12  6:19       ` Nautiyal, Ankit K
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 08/14] tests/kms_plane: Reset the state before exiting the test Bhanuprakash Modem
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 09/14] tests/kms_plane_alpha_blend: " Bhanuprakash Modem
2021-05-08 16:22 ` [igt-dev] [v5 i-g-t 10/14] tests/kms_cursor_edge_walk: " Bhanuprakash Modem
2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 11/14] tests/kms_plane_lowres: " Bhanuprakash Modem
2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 12/14] tests/kms_plane_cursor: " Bhanuprakash Modem
2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 13/14] tests/kms_flip_scaled_crc: " Bhanuprakash Modem
2021-05-08 16:23 ` [igt-dev] [v5 i-g-t 14/14] tests/kms_vblank: " Bhanuprakash Modem

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.