[PATCH] drm/radeon: reintroduce radeon_dp_work_func content

Lyude Paul lyude at redhat.com
Thu May 18 20:31:16 UTC 2023


Whoops, sorry about that!

Reviewed-by: Lyude Paul <lyude at redhat.com>

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 at amd.com>
> Cc: Lyude Paul <lyude at redhat.com>
> ---
>  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



More information about the amd-gfx mailing list