* [PATCH] drm/amd/display: Only poll analog connectors
@ 2026-01-18 13:03 Timur Kristóf
2026-01-19 16:46 ` Mario Limonciello (AMD) (kernel.org)
2026-01-19 17:21 ` Harry Wentland
0 siblings, 2 replies; 6+ messages in thread
From: Timur Kristóf @ 2026-01-18 13:03 UTC (permalink / raw)
To: amd-gfx, Alexander.Deucher, Mario Limonciello, Ivan Lipski,
harry.wentland
Cc: Timur Kristóf, Matthew Schwartz
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 <timur.kristof@gmail.com>
Reported-by: Matthew Schwartz <matthew.schwartz@linux.dev>
---
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);
+
dc_link = amdgpu_dm_connector->dc_link;
/*
--
2.52.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amd/display: Only poll analog connectors
2026-01-18 13:03 [PATCH] drm/amd/display: Only poll analog connectors Timur Kristóf
@ 2026-01-19 16:46 ` Mario Limonciello (AMD) (kernel.org)
2026-01-19 17:21 ` Harry Wentland
1 sibling, 0 replies; 6+ messages in thread
From: Mario Limonciello (AMD) (kernel.org) @ 2026-01-19 16:46 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alexander.Deucher, Ivan Lipski,
harry.wentland
Cc: Matthew Schwartz
On 1/18/2026 7:03 AM, 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 <timur.kristof@gmail.com>
> Reported-by: Matthew Schwartz <matthew.schwartz@linux.dev>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
> ---
> 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);
> +
> dc_link = amdgpu_dm_connector->dc_link;
>
> /*
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amd/display: Only poll analog connectors
2026-01-18 13:03 [PATCH] drm/amd/display: Only poll analog connectors Timur Kristóf
2026-01-19 16:46 ` Mario Limonciello (AMD) (kernel.org)
@ 2026-01-19 17:21 ` Harry Wentland
2026-01-19 19:06 ` Timur Kristóf
1 sibling, 1 reply; 6+ messages in thread
From: Harry Wentland @ 2026-01-19 17:21 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alexander.Deucher, Mario Limonciello,
Ivan Lipski
Cc: Matthew Schwartz
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 <timur.kristof@gmail.com>
> Reported-by: Matthew Schwartz <matthew.schwartz@linux.dev>
> ---
> 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;
>
> /*
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amd/display: Only poll analog connectors
2026-01-19 17:21 ` Harry Wentland
@ 2026-01-19 19:06 ` Timur Kristóf
2026-01-19 19:23 ` Harry Wentland
0 siblings, 1 reply; 6+ messages in thread
From: Timur Kristóf @ 2026-01-19 19:06 UTC (permalink / raw)
To: amd-gfx, Alexander.Deucher, Mario Limonciello, Ivan Lipski,
Harry Wentland
Cc: Matthew Schwartz
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 <timur.kristof@gmail.com>
> > Reported-by: Matthew Schwartz <matthew.schwartz@linux.dev>
> > ---
> >
> > 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;
> >
> > /*
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amd/display: Only poll analog connectors
2026-01-19 19:06 ` Timur Kristóf
@ 2026-01-19 19:23 ` Harry Wentland
2026-01-19 19:48 ` Mario Limonciello
0 siblings, 1 reply; 6+ messages in thread
From: Harry Wentland @ 2026-01-19 19:23 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alexander.Deucher, Mario Limonciello,
Ivan Lipski
Cc: Matthew Schwartz
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 <timur.kristof@gmail.com>
>>> Reported-by: Matthew Schwartz <matthew.schwartz@linux.dev>
>>> ---
>>>
>>> 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 <harry.wentland@amd.com>
Harry
> Best regards,
> Timur
>
>>
>>> +
>>>
>>> dc_link = amdgpu_dm_connector->dc_link;
>>>
>>> /*
>
>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amd/display: Only poll analog connectors
2026-01-19 19:23 ` Harry Wentland
@ 2026-01-19 19:48 ` Mario Limonciello
0 siblings, 0 replies; 6+ messages in thread
From: Mario Limonciello @ 2026-01-19 19:48 UTC (permalink / raw)
To: Harry Wentland, Timur Kristóf, amd-gfx, Alexander.Deucher,
Ivan Lipski
Cc: Matthew Schwartz
On 1/19/2026 1:23 PM, Harry Wentland wrote:
>
>
> 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 <timur.kristof@gmail.com>
>>>> Reported-by: Matthew Schwartz <matthew.schwartz@linux.dev>
>>>> ---
>>>>
>>>> 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 <harry.wentland@amd.com>
>
> Harry
>
applied to amd-staging-drm-next.
>> Best regards,
>> Timur
>>
>>>
>>>> +
>>>>
>>>> dc_link = amdgpu_dm_connector->dc_link;
>>>>
>>>> /*
>>
>>
>>
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-01-19 19:48 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-18 13:03 [PATCH] drm/amd/display: Only poll analog connectors Timur Kristóf
2026-01-19 16:46 ` Mario Limonciello (AMD) (kernel.org)
2026-01-19 17:21 ` Harry Wentland
2026-01-19 19:06 ` Timur Kristóf
2026-01-19 19:23 ` Harry Wentland
2026-01-19 19:48 ` Mario Limonciello
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox