On 2023-07-09 23:25:10 +0300, Dmitry Baryshkov wrote:
> In some cases the bridge drivers would like to receive hotplug events
> even in the case new status is equal to the old status. In the DP case
> this is used to deliver "attention" messages to the DP host. Stop
> filtering the events in the drm_bridge_connector_hpd_cb() and let
> drivers decide whether they would like to receive the event or not.

Worth mentioning in the commit message that all current bridges which 
set .hpd_notify appear to be safe w.r.t multiple calls with the same 
status. meson_encoder_hdmi.c will do unnecessary work when called 
repeatedly with status connected. Not sure if it is worth adressing 
since I don't expect multiple calls with connector_status_connected to 
occur for this particular bridge.

Reviewed-By: Janne Grunau <j...@jannau.net>

> Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
> ---
>  drivers/gpu/drm/drm_bridge_connector.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_bridge_connector.c 
> b/drivers/gpu/drm/drm_bridge_connector.c
> index 19ae4a177ac3..84d8d310ef04 100644
> --- a/drivers/gpu/drm/drm_bridge_connector.c
> +++ b/drivers/gpu/drm/drm_bridge_connector.c
> @@ -113,16 +113,11 @@ static void drm_bridge_connector_hpd_cb(void *cb_data,
>       struct drm_bridge_connector *drm_bridge_connector = cb_data;
>       struct drm_connector *connector = &drm_bridge_connector->base;
>       struct drm_device *dev = connector->dev;
> -     enum drm_connector_status old_status;
>  
>       mutex_lock(&dev->mode_config.mutex);
> -     old_status = connector->status;
>       connector->status = status;
>       mutex_unlock(&dev->mode_config.mutex);
>  
> -     if (old_status == status)
> -             return;
> -
>       drm_bridge_connector_hpd_notify(connector, status);
>  
>       drm_kms_helper_hotplug_event(dev);
> -- 
> 2.39.2
> 

Reply via email to