On 18/05/2026 20:01, Jonas Karlman wrote:
> With CEC phys addr invalidation moved away from the irq handler there is
> no longer a need for cec_notifier_mutex, remove it.
> 
> Reviewed-by: Neil Armstrong <[email protected]>
> Tested-by: Diederik de Haas <[email protected]>  # Rock64, RockPro64, 
> Quartz64-B
> Signed-off-by: Jonas Karlman <[email protected]>

Acked-by: Hans Verkuil <[email protected]>

Nice, I wondered why that mutex was there at all.

Regards,

        Hans

> ---
> v7: No change
> v6: Collect t-b tag
> v5: No change, cec_notifier_conn_unregister() call moved
> v4: No change
> v3: No change
> v2: Collect r-b tag
> ---
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
> b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index aae1b890167b..0dd4c823c60a 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -189,7 +189,6 @@ struct dw_hdmi {
>       void (*enable_audio)(struct dw_hdmi *hdmi);
>       void (*disable_audio)(struct dw_hdmi *hdmi);
>  
> -     struct mutex cec_notifier_mutex;
>       struct cec_notifier *cec_notifier;
>  
>       hdmi_codec_plugged_cb plugged_cb;
> @@ -2476,11 +2475,8 @@ dw_hdmi_connector_detect(struct drm_connector 
> *connector, bool force)
>  
>       status = dw_hdmi_detect(hdmi);
>  
> -     if (status == connector_status_disconnected) {
> -             mutex_lock(&hdmi->cec_notifier_mutex);
> +     if (status == connector_status_disconnected)
>               cec_notifier_phys_addr_invalidate(hdmi->cec_notifier);
> -             mutex_unlock(&hdmi->cec_notifier_mutex);
> -     }
>  
>       return status;
>  }
> @@ -2542,10 +2538,8 @@ static void dw_hdmi_connector_destroy(struct 
> drm_connector *connector)
>  {
>       struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, 
> connector);
>  
> -     mutex_lock(&hdmi->cec_notifier_mutex);
>       cec_notifier_conn_unregister(hdmi->cec_notifier);
>       hdmi->cec_notifier = NULL;
> -     mutex_unlock(&hdmi->cec_notifier_mutex);
>  
>       drm_connector_cleanup(connector);
>       drm_bridge_put(&hdmi->bridge);
> @@ -2612,9 +2606,7 @@ static int dw_hdmi_connector_create(struct dw_hdmi 
> *hdmi)
>       if (!notifier)
>               return -ENOMEM;
>  
> -     mutex_lock(&hdmi->cec_notifier_mutex);
>       hdmi->cec_notifier = notifier;
> -     mutex_unlock(&hdmi->cec_notifier_mutex);
>  
>       return 0;
>  }
> @@ -3323,7 +3315,6 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device 
> *pdev,
>  
>       mutex_init(&hdmi->mutex);
>       mutex_init(&hdmi->audio_mutex);
> -     mutex_init(&hdmi->cec_notifier_mutex);
>       spin_lock_init(&hdmi->audio_lock);
>  
>       ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);

Reply via email to