<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - [BAT] igt@kms_chamelium@common-hpd-after-suspend caused *ERROR* failed to enable link training"
href="https://bugs.freedesktop.org/show_bug.cgi?id=102505#c14">Comment # 14</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - [BAT] igt@kms_chamelium@common-hpd-after-suspend caused *ERROR* failed to enable link training"
href="https://bugs.freedesktop.org/show_bug.cgi?id=102505">bug 102505</a>
from <span class="vcard"><a class="email" href="mailto:elongbug@gmail.com" title="Mun, Gwan-gyeong <elongbug@gmail.com>"> <span class="fn">Mun, Gwan-gyeong</span></a>
</span></b>
<pre>[code flow of IGT common-hpd-after-suspend]
igt-gpu-tools_FDO/tests/kms_chamelium.c
common-hpd-after-suspend: test_suspend_resume_hpd_common(...,
SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
1) make all of ports disconnect: reset_state(data, NULL);
2) /* Make sure we notice new connectors after resuming */
try_suspend_resume_hpd(data, NULL, state, test, mon, false);
3) /* Now make sure we notice disconnected connectors after resuming */
try_suspend_resume_hpd(data, NULL, state, test, mon, true);
[Connector State]
1) Make an initial state with Disconnected
DP: Disconnected
HDMI: Disconnected
2) Suspend
Resume
[scheduled chamelium connector enable: igt_get_autoresume_delay(state) *
1000 / 2: 15 x 1000 / 2 => 7500ms
After 7500ms
DP : Connected
HDMI: Connected
If "Hotplug event" will not come after resuming of PM or if the connector
state is not "connected" then IGT will complain "Fail".
3) Suspend
Resume
[scheduled chamelium connector disable: igt_get_autoresume_delay(state) *
1000 / 2: 15 x 1000 / 2 => 7500ms
After 7500ms
DP : Disconnected
HDMI: Disconnected
If "Hotplug event" will not come after resuming of PM or if the connector
state is not "disconnected" then IGT will complain "Fail".
-------------------------------------------------------------------------------
[Below shows [IGT or PM or Link Training or ERROR] searched dmesg.]
6> [96.975976] [IGT] kms_chamelium: executing
<6> [97.139345] [IGT] kms_chamelium: starting subtest common-hpd-after-suspend
<6> [98.162805] PM: suspend entry (s2idle)
<7> [109.379231] [drm:intel_dp_start_link_train [i915]] [CONNECTOR:196:DP-1]
Link Training Passed at Link Rate = 162000, Lane count = 4
<6> [110.511525] PM: suspend exit
<6> [110.702260] PM: suspend entry (s2idle)
While PM mode is going to handle suspend state, i915 received hpd irq ( dp
connector is disconnected )
Even PM is on handling of suspend mode, i915 is tried to handle hpd event.
<3> [125.489579] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to
enable link training
<7> [125.489625] [drm:intel_dp_start_link_train [i915]] [CONNECTOR:196:DP-1]
Link Training failed at link rate = 162000, lane count = 4
<6> [127.281947] PM: suspend exit
<6> [127.292540] [IGT] kms_chamelium: exiting, ret=0
<7> [128.294484] [drm:intel_dp_start_link_train [i915]] [CONNECTOR:196:DP-1]
Link Training Passed at Link Rate = 162000, Lane count = 4</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>