]> git.hungrycats.org Git - linux/commitdiff
drm/bridge: anx7625: Update audio status while detecting
authorHsin-Te Yuan <yuanhsinte@chromium.org>
Tue, 16 Apr 2024 07:21:35 +0000 (07:21 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2024 07:49:40 +0000 (09:49 +0200)
[ Upstream commit a665b4e60369867cddf50f37f16169a3e2f434ad ]

Previously, the audio status was not updated during detection, leading
to a persistent audio despite hot plugging events. To resolve this
issue, update the audio status during detection.

Fixes: 566fef1226c1 ("drm/bridge: anx7625: add HDMI audio function")
Signed-off-by: Hsin-Te Yuan <yuanhsinte@chromium.org>
Reviewed-by: Robert Foss <rfoss@kernel.org>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240416-anx7625-v3-1-f916ae31bdd7@chromium.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/bridge/analogix/anx7625.c

index 4ee5614a26236de51ff40f9d7398cb0ab7dfe018..c1191ef5e8e6797a49847142cc89b32a41fe6c99 100644 (file)
@@ -2479,15 +2479,22 @@ static void anx7625_bridge_atomic_disable(struct drm_bridge *bridge,
        mutex_unlock(&ctx->aux_lock);
 }
 
+static void
+anx7625_audio_update_connector_status(struct anx7625_data *ctx,
+                                     enum drm_connector_status status);
+
 static enum drm_connector_status
 anx7625_bridge_detect(struct drm_bridge *bridge)
 {
        struct anx7625_data *ctx = bridge_to_anx7625(bridge);
        struct device *dev = ctx->dev;
+       enum drm_connector_status status;
 
        DRM_DEV_DEBUG_DRIVER(dev, "drm bridge detect\n");
 
-       return anx7625_sink_detect(ctx);
+       status = anx7625_sink_detect(ctx);
+       anx7625_audio_update_connector_status(ctx, status);
+       return status;
 }
 
 static struct edid *anx7625_bridge_get_edid(struct drm_bridge *bridge,