On 2026-01-19 14:06, Timur Kristóf wrote:
> 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.
>
Ah, you're right.
Reviewed-by: Harry Wentland <[email protected]>
Harry
> Best regards,
> Timur
>
>>
>>> +
>>>
>>> dc_link = amdgpu_dm_connector->dc_link;
>>>
>>> /*
>
>
>
>