Bug 109800 - [CI][BAT] igt@kms_chamelium@hdmi-hpd-fast - fail - Failed assertion: igt_hotplug_detected(mon, HOTPLUG_TIMEOUT)
Summary: [CI][BAT] igt@kms_chamelium@hdmi-hpd-fast - fail - Failed assertion: igt_hotp...
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: low normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-28 15:24 UTC by Martin Peres
Modified: 2019-11-29 18:09 UTC (History)
1 user (show)

See Also:
i915 platform: KBL
i915 features: display/LSPCON


Attachments

Description Martin Peres 2019-02-28 15:24:00 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12329/fi-kbl-7567u/igt@kms_chamelium@hdmi-hpd-fast.html

Starting subtest: hdmi-hpd-fast
(kms_chamelium:2926) CRITICAL: Test assertion failure function test_basic_hotplug, file ../tests/kms_chamelium.c:239:
(kms_chamelium:2926) CRITICAL: Failed assertion: igt_hotplug_detected(mon, HOTPLUG_TIMEOUT)
Subtest hdmi-hpd-fast failed.
Comment 2 Arek Hiler 2019-07-05 10:27:59 UTC
We failed to detect hotplug events caused by chamelium within the time-out.

If this is an actual kernel issue that means we may not have reliabile hotplug, i.e. connecting external screen may yield no effects.

This bug appeared only on a single chamelium system [fi-kbl-7567u], which uses lspcon.

display:
  DP-1:
    status: connected
    to: HDMI
    via: MC2800 v1.76
    display: STM AthenaDP

It may be LSPcon, it may be Chamelium, it may be IGT or it may be kernel, hard to tell.


Since the low occurrence (2 time in 2 months and then nothing), I'll move to to medium (having to do two hotplugs every quarter is annoying but not that serious), and we can close it after 7 more months.

[fi-kbl-7567u]: https://intel-gfx-ci.01.org/hardware.html#fi-kbl-7567u
Comment 3 CI Bug Log 2019-08-15 13:00:35 UTC
A CI Bug Log filter associated to this bug has been updated:

{- fi-kbl-7567u: igt@kms_chamelium@hdmi-hpd-fast - fail - Failed assertion: igt_hotplug_detected(mon, HOTPLUG_TIMEOUT) -}
{+ fi-kbl-7567u: igt@kms_chamelium@hdmi-hpd-fast - fail - Failed assertion: igt_hotplug_detected(mon, HOTPLUG_TIMEOUT) +}

New failures caught by the filter:

  * https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5137/fi-kbl-7567u/igt@kms_chamelium@hdmi-hpd-fast.html
Comment 4 Arek Hiler 2019-09-19 12:30:54 UTC
Seems like we have two issues here with the same root-cause: LSPCon
What do they mean for the user: somtimes when you plug the cable in nothing happens - the connector stays disconnected.

Raising the priority to high and changeing feature to display/LSPCON.

Note: DP-1 is connected to LSPCon and exposed as a HDMI port.

Issue 1. LSPcon does not wake up on plug and we don't even get a hotplug event

<6> [155.008282] [IGT] kms_chamelium: starting subtest hdmi-hpd-fast

	reset_state(data, NULL);

<7> [155.697587] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:DP-1]
<7> [155.697886] [drm:intel_dp_detect [i915]] [CONNECTOR:86:DP-1]
<7> [155.698118] [drm:intel_power_well_enable [i915]] enabling always-on
<7> [155.698463] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:DP-1] disconnected

	igt_hpd_storm_set_threshold(data->drm_fd, 0);

<7> [155.699325] [drm:i915_hpd_storm_ctl_write [i915]] Disabling HPD storm detection
<7> [155.804532] [drm:intel_power_well_disable [i915]] disabling always-on

	chamelium_plug(data->chamelium, port);
	igt_assert_f(igt_hotplug_detected(mon, HOTPLUG_TIMEOUT),
		     "Timed out waiting for hotplug uevent\n");

<6> [176.098043] [IGT] kms_chamelium: exiting, ret=98

and so we have failed & exited after HTOPLUG_TIMEOUT=20s


Issue 2. LSPcon wakes up, we get a hotplug but the full initialization fails and the port is still considered DISCONNECTED

<6> [261.100503] [IGT] kms_chamelium: starting subtest hdmi-hpd-fast

	reset_state(data, NULL);

<7> [261.766875] [drm:gen8_de_irq_handler [i915]] hotplug event received, stat 0x00200000, dig 0x10101011, pins 0x00000020, long 0x00000000
<7> [261.767045] [drm:intel_hpd_irq_handler [i915]] digital hpd port B - short
<7> [261.767384] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port B - short
<7> [261.768643] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 c4 01 01 15 01 81 00 00 04 00 0f 00 04
<7> [261.769487] [drm:drm_dp_read_desc] DP branch: OUI 00-60-ad dev-ID MC2800 HW-rev 2.2 SW-rev 1.76 quirks 0x0000
<7> [261.770463] [drm:i915_hotplug_work_func [i915]] running encoder hotplug functions
<7> [261.770792] [drm:i915_hotplug_work_func [i915]] Connector DP-1 (pin 5) received hotplug event.
<7> [261.771035] [drm:intel_dp_detect [i915]] [CONNECTOR:86:DP-1]
<7> [261.772122] [drm:lspcon_wake_native_aux_ch [i915]] Native AUX CH up, DPCD version: 1.2
<7> [261.772425] [drm:lspcon_resume [i915]] LSPCON recovering in PCON mode after 0 ms
<7> [261.773203] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.775151] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.776932] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.778560] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.780333] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.781597] [drm:lspcon_wait_mode [i915]] Current LSPCON mode PCON
<7> [261.782647] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 c4 01 01 15 01 81 00 00 04 00 0f 00 04
<7> [261.783483] [drm:drm_dp_read_desc] DP branch: OUI 00-60-ad dev-ID MC2800 HW-rev 2.2 SW-rev 1.76 quirks 0x0000
<7> [261.784410] [drm:intel_encoder_hotplug [i915]] [CONNECTOR:86:DP-1] status updated from connected to disconnected
<7> [261.788074] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:DP-1]
<7> [261.788307] [drm:intel_dp_detect [i915]] [CONNECTOR:86:DP-1]
<7> [261.789405] [drm:lspcon_wake_native_aux_ch [i915]] Native AUX CH up, DPCD version: 1.2
<7> [261.789777] [drm:lspcon_resume [i915]] LSPCON recovering in PCON mode after 0 ms
<7> [261.790567] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.792404] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.794076] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.795679] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.797656] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.799284] [drm:lspcon_wait_mode [i915]] Current LSPCON mode PCON
<7> [261.800341] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 c4 01 01 15 01 81 00 00 04 00 0f 00 04
<7> [261.801349] [drm:drm_dp_read_desc] DP branch: OUI 00-60-ad dev-ID MC2800 HW-rev 2.2 SW-rev 1.76 quirks 0x0000
<7> [261.801887] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:DP-1] disconnected

	igt_hpd_storm_set_threshold(data->drm_fd, 0);

<7> [261.803011] [drm:i915_hpd_storm_ctl_write [i915]] Disabling HPD storm detection

	chamelium_plug(data->chamelium, port);
	igt_assert_f(igt_hotplug_detected(mon, HOTPLUG_TIMEOUT),
		     "Timed out waiting for hotplug uevent\n");
	status = reprobe_connector(data, port);

<7> [261.816449] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:DP-1]
<7> [261.816510] [drm:intel_dp_detect [i915]] [CONNECTOR:86:DP-1]
<7> [261.816965] [drm:lspcon_wake_native_aux_ch [i915]] Native AUX CH up, DPCD version: 1.2
<7> [261.817031] [drm:lspcon_resume [i915]] LSPCON recovering in PCON mode after 0 ms
<7> [261.817500] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.818877] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.820132] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.821411] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.822649] [drm:drm_dp_i2c_do_msg] native defer
<7> [261.823467] [drm:lspcon_wait_mode [i915]] Current LSPCON mode PCON
<7> [261.823987] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 c4 01 01 15 01 81 00 00 04 00 0f 00 04
<7> [261.824442] [drm:drm_dp_read_desc] DP branch: OUI 00-60-ad dev-ID MC2800 HW-rev 2.2 SW-rev 1.76 quirks 0x0000kk
<7> [261.824800] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:DP-1] disconnected

	igt_assert_f(status == DRM_MODE_CONNECTED,
		     "Invalid connector status after hotplug: "
		     "got %s, expected connected\n",
		     connection_str(status));

<6> [261.941908] [IGT] kms_chamelium: exiting, ret=98
Comment 5 Arek Hiler 2019-10-28 07:56:17 UTC
Lowering the priority to low.

We haven't seen the issue in 2 months of execution, but that does not mean anything - previously there was a ~5 months of no reproductions.

If anything this issue is extremely hard to hit (multiple fast connector plugs and unplug) and the outcome for the user is the need to replug the connector once again. 

We'll be back here in few months to check how the reproduction rate is looking like.
Comment 6 Martin Peres 2019-11-29 18:09:29 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/238.


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.