On 2026-01-18 08:03, Timur Kristóf wrote:
> 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: c4f3f114e73c ("drm/amd/display: Poll analog connectors (v3)")
> Signed-off-by: Timur Kristóf <[email protected]>
> Reported-by: Matthew Schwartz <[email protected]>
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
> index 0a2a3f233a0e..e7b0928bd3db 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
> @@ -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);
Why isn't the aconnector->base.polled assignment in
amdgpu_dm_connector_init_helper doing the trick?
Harry
> +
> dc_link = amdgpu_dm_connector->dc_link;
>
> /*