summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/bridge/analogix/anx7625.c
diff options
context:
space:
mode:
authorHsin-Te Yuan <yuanhsinte@chromium.org>2024-04-16 07:21:35 +0000
committerRobert Foss <rfoss@kernel.org>2024-04-16 15:38:06 +0200
commita665b4e60369867cddf50f37f16169a3e2f434ad (patch)
treecc507d76472b111785f97a1b51d1d6db0e52bb8d /drivers/gpu/drm/bridge/analogix/anx7625.c
parentc1e4d3a6de486ff896f2a90e2dacc30ac290828f (diff)
downloadlinux-stable-a665b4e60369867cddf50f37f16169a3e2f434ad.tar.gz
linux-stable-a665b4e60369867cddf50f37f16169a3e2f434ad.tar.bz2
linux-stable-a665b4e60369867cddf50f37f16169a3e2f434ad.zip
drm/bridge: anx7625: Update audio status while detecting
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
Diffstat (limited to 'drivers/gpu/drm/bridge/analogix/anx7625.c')
-rw-r--r--drivers/gpu/drm/bridge/analogix/anx7625.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index 02bf45005307..59e9ad349969 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -2469,15 +2469,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 const struct drm_edid *anx7625_bridge_edid_read(struct drm_bridge *bridge,