Bug 105458 - [CI] igt@kms_ccs@pipe-[a|b]-crc-sprite-planes-basic - fail - Test assertion failure function try_config, Failed assertion: ret == 0
Summary: [CI] igt@kms_ccs@pipe-[a|b]-crc-sprite-planes-basic - fail - Test assertion f...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: IGT (show other bugs)
Version: DRI git
Hardware: Other All
: high normal
Assignee: Matt Roper
QA Contact:
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-12 12:39 UTC by Marta Löfstedt
Modified: 2019-01-04 15:55 UTC (History)
3 users (show)

See Also:
i915 platform: BXT, CFL, KBL, SKL
i915 features: display/Other


Attachments

Description Marta Löfstedt 2018-03-12 12:39:15 UTC
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.
Comment 2 Marta Löfstedt 2018-03-27 09:55:44 UTC
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.
Comment 3 Martin Peres 2018-06-05 06:45:50 UTC
*** Bug 106510 has been marked as a duplicate of this bug. ***
Comment 4 Martin Peres 2018-06-05 06:49:51 UTC
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.
Comment 5 Juha-Pekka Heikkilä 2018-09-21 10:56:44 UTC
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.
Comment 6 Juha-Pekka Heikkilä 2018-09-21 13:40:59 UTC
patch to fix test here https://patchwork.freedesktop.org/series/50011/
Comment 7 Jani Saarinen 2018-10-16 10:58:04 UTC
Merged. 

author	Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
committer	Arkadiusz Hiler <arkadiusz.hiler@intel.com>
commit	27fa97d16294af9c9c42fd81b030a73e4aa2e7c3
tree	48c983697e8487db7c546d15f903d6ef053ea690
parent	017c749c8a963c1851580203b53b407666686c1d
Comment 8 Martin Peres 2018-11-13 16:30:25 UTC
(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.
Comment 9 Juha-Pekka Heikkilä 2018-11-13 20:39:58 UTC
(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.
Comment 10 Matt Roper 2018-12-06 17:27:33 UTC
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.
Comment 11 Matt Roper 2018-12-12 00:13:06 UTC
Fix merged to dinq:
  https://patchwork.freedesktop.org/series/53901/
Comment 12 Jani Saarinen 2018-12-12 07:10:00 UTC
Thanks Matt
Comment 13 Martin Peres 2019-01-04 15:55:02 UTC
(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.