On Monday, January 19, 2026 6:21:40 PM Central European Standard Time Harry
Wentland wrote:
> 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
Hi Harry,
The issue is that checking "connector->polled != DRM_CONNECTOR_POLL_HPD" will
also match connectors that don't support hotplugging, such as eDP, LVDS etc.
amdgpu_dm_connector_init_helper is working correctly, it doesn't set the
DRM_CONNECTOR_POLL_HPD flag for neither analog connectors, nor eDP, LVDS, etc.
which is correct. The problem is with this check in amdgpu_dm_hpd_init.
Best regards,
Timur
>
> > +
> >
> > dc_link = amdgpu_dm_connector->dc_link;
> >
> > /*