[PATCH v7 11/23] drm: bridge: dw_hdmi: Remove cec_notifier_mutex
Hans Verkuil
hverkuil+cisco at kernel.org
Mon May 18 23:28:09 PDT 2026
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 <neil.armstrong at linaro.org>
> Tested-by: Diederik de Haas <diederik at cknow-tech.com> # Rock64, RockPro64, Quartz64-B
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Acked-by: Hans Verkuil <hverkuil+cisco at kernel.org>
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);
More information about the Linux-rockchip
mailing list