Commit e924c700 authored by Timur Kristóf's avatar Timur Kristóf Committed by Alex Deucher
Browse files

drm/amd/display: Only poll analog connectors



Analog connectors may be hot-plugged unlike other connector
types that don't support HPD.

Stop DRM from polling other connector types that don't
support HPD, such as eDP, LVDS, etc. These were wrongly
polled when analog connector support was added,
causing issues with the seamless boot process.

Fixes: c4f3f114 ("drm/amd/display: Poll analog connectors (v3)")
Signed-off-by: default avatarTimur Kristóf <timur.kristof@gmail.com>
Reported-by: default avatarMatthew Schwartz <matthew.schwartz@linux.dev>
Reviewed-by: default avatarMario Limonciello (AMD) <superm1@kernel.org>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0314df64
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -915,13 +915,19 @@ void amdgpu_dm_hpd_init(struct amdgpu_device *adev)
		struct amdgpu_dm_connector *amdgpu_dm_connector;
		const struct dc_link *dc_link;

		use_polling |= connector->polled != DRM_CONNECTOR_POLL_HPD;

		if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
			continue;

		amdgpu_dm_connector = to_amdgpu_dm_connector(connector);

		/*
		 * Analog connectors may be hot-plugged unlike other connector
		 * types that don't support HPD. Only poll analog connectors.
		 */
		use_polling |=
			amdgpu_dm_connector->dc_link &&
			dc_connector_supports_analog(amdgpu_dm_connector->dc_link->link_id.id);

		dc_link = amdgpu_dm_connector->dc_link;

		/*