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 <[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


applied to amd-staging-drm-next.

Best regards,
Timur


+

                dc_link = amdgpu_dm_connector->dc_link;
                
                /*






Reply via email to