Bug 111779 - [CI][DRMTIP] Random tests - Failed assertion: ret == 0, error: -22 != 0
Summary: [CI][DRMTIP] Random tests - Failed assertion: ret == 0, error: -22 != 0
Status: NEW
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: low minor
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-23 12:46 UTC by Lakshmi
Modified: 2019-10-02 21:45 UTC (History)
1 user (show)

See Also:
i915 platform: CML
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lakshmi 2019-09-23 12:46:53 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_376/fi-cml-h/igt@kms_atomic_transition@2x-modeset-transitions.html

Starting subtest: 2x-modeset-transitions
(kms_atomic_transition:1389) igt_kms-CRITICAL: Test assertion failure function igt_display_commit_atomic, file ../lib/igt_kms.c:3543:
(kms_atomic_transition:1389) igt_kms-CRITICAL: Failed assertion: ret == 0
(kms_atomic_transition:1389) igt_kms-CRITICAL: Last errno: 22, Invalid argument
(kms_atomic_transition:1389) igt_kms-CRITICAL: error: -22 != 0
Subtest 2x-modeset-transitions failed.

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_374/fi-cml-h/igt@kms_plane_lowres@pipe-c-tiling-y.html
	
Starting subtest: pipe-C-tiling-y
(kms_plane_lowres:1472) igt_kms-CRITICAL: Test assertion failure function do_display_commit, file ../lib/igt_kms.c:3464:
(kms_plane_lowres:1472) igt_kms-CRITICAL: Failed assertion: ret == 0
(kms_plane_lowres:1472) igt_kms-CRITICAL: Last errno: 22, Invalid argument
(kms_plane_lowres:1472) igt_kms-CRITICAL: error: -22 != 0
Subtest pipe-C-tiling-y failed.
Comment 1 CI Bug Log 2019-09-23 12:47:32 UTC
The CI Bug Log issue associated to this bug has been updated.

### New filters associated

* fi-cml-h: Random tests - Failed assertion: ret == 0, error: -22 != 0
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_374/fi-cml-h/igt@gem_eio@kms.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_374/fi-cml-h/igt@kms_plane_lowres@pipe-c-tiling-y.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_376/fi-cml-h/igt@kms_atomic_transition@2x-modeset-transitions.html
Comment 2 CI Bug Log 2019-09-24 10:03:28 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-cml-h: Random tests - Failed assertion: ret == 0, error: -22 != 0 -}
{+ fi-cml-h: Random tests - Failed assertion: ret == 0, error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_377/fi-cml-h/igt@kms_atomic_transition@2x-modeset-transitions-nonblocking.html
Comment 3 Matt Roper 2019-10-02 21:43:55 UTC
This is basically the same problem as bug 111185 but on fi-cml-h's DP-3 connector rather than fi-icl-u4's DP-4 connector.

Specifically, we have link training failures when attempting 2 lanes at data rate 270000

<7> [237.429108] [drm:intel_dp_start_link_train [i915]] [CONNECTOR:123:DP-3] Link Training failed at link rate = 270000, lane count = 2

which forces us to downgrade to 2 lanes at data rate 162000:

<7> [239.250661] [drm:intel_dp_compute_config [i915]] DP link computation with max lane count 2 max rate 162000 max bpp 36 pixel clock 148500KHz
<7> [239.250697] [drm:intel_dp_compute_config [i915]] Force DSC en = 0
<7> [239.250733] [drm:intel_atomic_check [i915]] Encoder config failure: -22

and this fails because the 148500 clock * a minimum RGB bpp of 18 means that we require a minimum bandwidth of 2673000/8 = 334125 to drive this mode.  Since 334125 > 270000 the modeset fails.

Since this bug and bug 111185 are caused by flaky hardware (either the board, the cable, or any dongles/adapters that are part of the link), I think it makes sense to keep a separate bug for each platform; I'm not going to mark this one as a duplicate of bug 111185, even though conceptually it's the same problem, since really the only "fix" is replacing hardware on those two separate machines.

Impact-wise, this is a CI-specific problem; it reduces the value of CI on this board, but won't impact end users (rejecting these modesets and forcing the userspace display server to pick a smaller mode is exactly what's supposed to happen).  Given that we should be able to write a bit more precise CIbuglog filters that look for "Link Training failed at link rate = XXX, lane count = X" followed later by a "Encoder config failure: -22" I think we can do a pretty good job of recognizing and filtering these failures without causing lots of false positives or false negatives, so I'm setting the importance to "low."  It's also worth noting that the hardware here doesn't seem to be as flaky as the ICL hardware in bug 111185's case, although it's possible that may change over time.
Comment 4 Matt Roper 2019-10-02 21:45:43 UTC
Woops, one typo; my comment should have said

 "... Since 334125 > 2*162000 the modeset fails."


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.