Whoops, sorry about that! Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx> On Thu, 2023-05-18 at 12:48 -0400, Alex Deucher wrote: > Put back the radeon_dp_work_func logic. It seems that > handling DP RX interrupts is necessary to make some > panels work. This was removed with the MST support, > but it regresses some systems so add it back. While > we are here, add the proper mutex locking. > > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2567 > Fixes: 01ad1d9c2888 ("drm/radeon: Drop legacy MST support") > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > Cc: Lyude Paul <lyude@xxxxxxxxxx> > --- > drivers/gpu/drm/radeon/radeon_irq_kms.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c > index 3377fbc71f65..c4dda908666c 100644 > --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c > +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c > @@ -99,6 +99,16 @@ static void radeon_hotplug_work_func(struct work_struct *work) > > static void radeon_dp_work_func(struct work_struct *work) > { > + struct radeon_device *rdev = container_of(work, struct radeon_device, > + dp_work); > + struct drm_device *dev = rdev->ddev; > + struct drm_mode_config *mode_config = &dev->mode_config; > + struct drm_connector *connector; > + > + mutex_lock(&mode_config->mutex); > + list_for_each_entry(connector, &mode_config->connector_list, head) > + radeon_connector_hotplug(connector); > + mutex_unlock(&mode_config->mutex); > } > > /** -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat