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

Reply via email to