Bug 111185 - [CI][DRMTIP] Frequent link training failures on fi-icl-u4 cause sporadic modeset failures in random CI tests
Summary: [CI][DRMTIP] Frequent link training failures on fi-icl-u4 cause sporadic mode...
Status: NEW
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
: 111067 111184 111775 111777 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-07-22 10:51 UTC by Lakshmi
Modified: 2019-10-02 20:42 UTC (History)
1 user (show)

See Also:
i915 platform: ICL
i915 features: display/Other


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lakshmi 2019-07-22 10:51:29 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_328/fi-icl-u4/igt@kms_cursor_crc@pipe-c-cursor-128x128-rapid-movement.html

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_326/fi-icl-u4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

Starting subtest: plane-all-modeset-transition-fencing
(kms_atomic_transition:2256) igt_kms-CRITICAL: Test assertion failure function igt_display_commit_atomic, file ../lib/igt_kms.c:3547:
(kms_atomic_transition:2256) igt_kms-CRITICAL: Failed assertion: ret == 0
(kms_atomic_transition:2256) igt_kms-CRITICAL: Last errno: 22, Invalid argument
(kms_atomic_transition:2256) igt_kms-CRITICAL: error: -22 != 0
Subtest plane-all-modeset-transition-fencing failed.
Comment 1 CI Bug Log 2019-07-22 10:52:22 UTC
The CI Bug Log issue associated to this bug has been updated.

### New filters associated

* fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_326/fi-icl-u4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
  - https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_328/fi-icl-u4/igt@kms_cursor_crc@pipe-c-cursor-128x128-rapid-movement.html
Comment 2 CI Bug Log 2019-07-29 08:02:37 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_336/fi-icl-u4/igt@kms_sequence@get-forked-busy.html
Comment 3 CI Bug Log 2019-08-12 12:25:50 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_341/fi-icl-u4/igt@kms_sequence@queue-idle.html
Comment 4 CI Bug Log 2019-08-12 12:26:26 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}


  No new failures caught with the new filter
Comment 5 CI Bug Log 2019-08-26 08:51:06 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_350/fi-icl-u4/igt@kms_cursor_crc@pipe-b-cursor-256x85-random.html
  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_351/fi-icl-u4/igt@kms_cursor_crc@pipe-b-cursor-256x85-random.html
Comment 6 CI Bug Log 2019-08-29 06:41:12 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_352/fi-icl-u4/igt@kms_sequence@get-busy.html
Comment 8 CI Bug Log 2019-09-02 10:51:30 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_357/fi-icl-u4/igt@kms_universal_plane@universal-plane-pipe-c-functional.html
Comment 9 CI Bug Log 2019-09-05 07:49:16 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_360/fi-icl-u4/igt@kms_color@pipe-c-gamma.html
Comment 10 CI Bug Log 2019-09-06 15:02:57 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_361/fi-icl-u4/igt@kms_color@pipe-a-ctm-0-25.html
  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_361/fi-icl-u4/igt@kms_sequence@get-idle.html
  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_361/fi-icl-u4/igt@kms_color@pipe-c-ctm-red-to-blue.html
Comment 11 CI Bug Log 2019-09-17 09:43:20 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_371/fi-icl-u4/igt@kms_color@pipe-c-ctm-0-75.html
Comment 12 CI Bug Log 2019-09-17 09:43:47 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_371/fi-icl-u4/igt@kms_pipe_crc_basic@read-crc-pipe-b.html
Comment 13 CI Bug Log 2019-09-23 12:03:36 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_373/fi-icl-u4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
Comment 14 CI Bug Log 2019-09-23 12:34:02 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 -}
{+ fi-icl-u4 : Random tests - fail - Failed assertion: ret == 0,  error: -22 != 0 +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_374/fi-icl-u4/igt@kms_color@pipe-b-ctm-0-25.html
  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_375/fi-icl-u4/igt@kms_color@pipe-b-ctm-0-25.html
  * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_376/fi-icl-u4/igt@kms_color@pipe-b-ctm-0-25.html
Comment 15 Matt Roper 2019-09-23 16:32:49 UTC
*** Bug 111067 has been marked as a duplicate of this bug. ***
Comment 16 Matt Roper 2019-09-23 20:53:36 UTC
The failures here are caused by our tests requesting modes that cannot be satisfied by the link.  Link training failures on this output have restricted us to a single lane and data rate of 270000.

Here's an excerpt from one of the logs; we can see it initially failing with two lanes at the lowest link rate, dropping down to one lane and still failing at a 540000 rate.  It settles on one lane a rate of 270000 as possible:

<7> [893.126576] [drm:intel_dp_compute_config [i915]] DP link computation with max lane count 2 max rate 162000 max bpp 24 pixel clock 135000KHz
<7> [893.126609] [drm:intel_dp_compute_config [i915]] Force DSC en = 0
<7> [893.126640] [drm:intel_dp_compute_config [i915]] DP lane count 2 clock 162000 bpp 18
<7> [893.126672] [drm:intel_dp_compute_config [i915]] DP link rate required 303750 available 324000
...
<7> [895.074804] [drm:intel_dp_start_link_train [i915]] [CONNECTOR:224:DP-4] Link Training failed at link rate = 162000, lane count = 2
...
<7> [901.225019] [drm:intel_dp_start_link_train [i915]] [CONNECTOR:224:DP-4] Link Training failed at link rate = 540000, lane count = 1
...
<7> [901.376322] [drm:intel_dp_compute_config [i915]] DP link computation with max lane count 1 max rate 270000 max bpp 24 pixel clock 148500KHz

However it's trying to set a mode of

"1920x1080": 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5

The 148500 clock on this mode * a minimum RGB bpp of 18 means that we require a data rate of 2683000/8 = 334125 to drive this mode.  Since 334125 > 270000 the modeset fails:

<7> [901.376487] [drm:intel_dp_compute_config [i915]] Force DSC en = 0
<7> [901.376593] [drm:intel_atomic_check [i915]] Encoder config failure: -22

Ultimately the behavior here is working as expected, our IGT tests just aren't sophisticated enough to recognize link training failures and retry with a smaller mode like a real userspace should.

If any part of the source, link, or link cannot satisfy the desired mode it should be rejected.  In this case the link seems to be the limiting factor (due to earlier link failures when we attempted to use more lanes or higher data rates).  The immediate failures of these tests might be "fixed" by replacing the cable on the fi-icl-u4 machine since that appears to be the only machine suffering from these issues.

The end-user impact of this should be nil; real userspace should already react to link training failures and downgrade to smaller modes (Manasi added this capability to the software stack a couple years ago).  The kernel itself is acting as expected by rejecting modes that it knows the hardware/connections cannot support.
Comment 17 Matt Roper 2019-09-24 17:55:18 UTC
*** Bug 111184 has been marked as a duplicate of this bug. ***
Comment 18 Matt Roper 2019-09-26 21:05:05 UTC
*** Bug 111775 has been marked as a duplicate of this bug. ***
Comment 19 Matt Roper 2019-10-02 20:39:36 UTC
*** Bug 111777 has been marked as a duplicate of this bug. ***


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.