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;
>  
>               /*

Reply via email to