https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3903/fi-cfl-s2/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3903/fi-cfl-s2/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html (kms_ccs:3232) CRITICAL: Test assertion failure function try_config, file kms_ccs.c:440: (kms_ccs:3232) CRITICAL: Failed assertion: ret == 0 (kms_ccs:3232) CRITICAL: Last errno: 22, Invalid argument (kms_ccs:3232) CRITICAL: error: -22 != 0 Subtest pipe-A-crc-sprite-planes-basic failed.
More machines with results from shards testlist on BAT machines: (kms_ccs:2621) CRITICAL: Test assertion failure function try_config, file ../tests/kms_ccs.c:440: (kms_ccs:2621) CRITICAL: Failed assertion: ret == 0 (kms_ccs:2621) CRITICAL: Last errno: 22, Invalid argument (kms_ccs:2621) CRITICAL: error: -22 != 0 https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-bxt-dsi/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-kbl-r/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-skl-6600u/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-bxt-dsi/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-bxt-dsi/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-kbl-r/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-skl-6600u/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_7/fi-cfl-s3/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_7/fi-cfl-s3/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html (kms_ccs:1859) CRITICAL: Test assertion failure function try_config, file ../tests/kms_ccs.c:440: (kms_ccs:1859) CRITICAL: Failed assertion: ret == 0 (kms_ccs:1859) CRITICAL: Last errno: 22, Invalid argument (kms_ccs:1859) CRITICAL: error: -22 != 0 Subtest pipe-B-crc-sprite-planes-basic failed.
*** Bug 106510 has been marked as a duplicate of this bug. ***
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_56/fi-cfl-u2/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_56/fi-cfl-u2/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html (kms_ccs:1333) CRITICAL: Test assertion failure function try_config, file ../tests/kms_ccs.c:442: (kms_ccs:1333) CRITICAL: Failed assertion: ret == 0 (kms_ccs:1333) CRITICAL: Last errno: 22, Invalid argument (kms_ccs:1333) CRITICAL: error: -22 != 0 Subtest pipe-B-crc-sprite-planes-basic failed. This bug is currently hitting 10.5% of the CI runs.
This test is hitting the limits of hw. At the point of failure screen resolutions are quite high (for example 2400x1600) dmesg gets such messages as <7>[ 906.448757] [drm:skl_compute_wm_levels [i915]] Requested display configuration exceeds system watermark limitations <7>[ 906.448920] [drm:skl_compute_wm_levels [i915]] [PLANE:33:plane 2A] blocks required = 33/32, lines required = 8/31 I can make this test to pass by disabling display WA #1126 but then I'm be working against the spec and mis-adjusting watermarks for level 0 could show up in wrong ways in some other use case. I'll make this test to skip if setup phase fails.
patch to fix test here https://patchwork.freedesktop.org/series/50011/
Merged. author Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> committer Arkadiusz Hiler <arkadiusz.hiler@intel.com> commit 27fa97d16294af9c9c42fd81b030a73e4aa2e7c3 tree 48c983697e8487db7c546d15f903d6ef053ea690 parent 017c749c8a963c1851580203b53b407666686c1d
(In reply to Jani Saarinen from comment #7) > Merged. > > author Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > committer Arkadiusz Hiler <arkadiusz.hiler@intel.com> > commit 27fa97d16294af9c9c42fd81b030a73e4aa2e7c3 > tree 48c983697e8487db7c546d15f903d6ef053ea690 > parent 017c749c8a963c1851580203b53b407666686c1d Still happening very reliably: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5131/shard-apl3/igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5131/shard-apl1/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html Starting subtest: pipe-A-crc-sprite-planes-basic (kms_ccs:6123) CRITICAL: Test assertion failure function try_config, file ../tests/kms_ccs.c:451: (kms_ccs:6123) CRITICAL: Failed assertion: ret == 0 (kms_ccs:6123) CRITICAL: Last errno: 22, Invalid argument (kms_ccs:6123) CRITICAL: error: -22 != 0 I know it is a lot to ask, but please check CI Bug Log before closing bugs.
(In reply to Martin Peres from comment #8) > (In reply to Jani Saarinen from comment #7) > > Merged. > > > > author Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> > > committer Arkadiusz Hiler <arkadiusz.hiler@intel.com> > > commit 27fa97d16294af9c9c42fd81b030a73e4aa2e7c3 > > tree 48c983697e8487db7c546d15f903d6ef053ea690 > > parent 017c749c8a963c1851580203b53b407666686c1d > > Still happening very reliably: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5131/shard-apl3/ > igt@kms_ccs@pipe-b-crc-sprite-planes-basic.html > > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5131/shard-apl1/ > igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html > > Starting subtest: pipe-A-crc-sprite-planes-basic > (kms_ccs:6123) CRITICAL: Test assertion failure function try_config, file > ../tests/kms_ccs.c:451: > (kms_ccs:6123) CRITICAL: Failed assertion: ret == 0 > (kms_ccs:6123) CRITICAL: Last errno: 22, Invalid argument > (kms_ccs:6123) CRITICAL: error: -22 != 0 > > I know it is a lot to ask, but please check CI Bug Log before closing bugs. TBH I think story on this bug has changed. My patch fixed this test from attempting configuration which would be overwhelming for HW. Now this bug report says APL cannot handle 1080p display with two plane configuration where first plane is full screen and second plane size 256x256. Look like a bug in WM for APL.
The problem here is the DDB algorithm that was initially proposed by the bspec. A pipe's DDB allocation is divided up between its active planes according to the % of the total data rate that they contribute. That's usually a reasonable heuristic, but breaks down when you have a large difference in the size (data rate) of your planes. If you divide the DDB proportionally, the very small plane will get such a small allocation that it will fail to even achieve it's level 0 watermark requirements. This problems pops up most often on APL (due to its smaller DDB size in general) and/or on systems with high display resolutions (due to the greater size disparity between "full-screen plane" and "256x256 plane". I've posted a patch series here: https://patchwork.freedesktop.org/series/53682/ which switches to an alternate DDB algorithm aimed at avoiding these kinds of problems.
Fix merged to dinq: https://patchwork.freedesktop.org/series/53901/
Thanks Matt
(In reply to Matt Roper from comment #11) > Fix merged to dinq: > https://patchwork.freedesktop.org/series/53901/ Thanks! It really got rid of a lot of issues :)
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.