2024-03-25 16:15:19

by Hsin-Te Yuan

[permalink] [raw]
Subject: [PATCH RESEND v3] 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 <[email protected]>

---

Changes in v3:

- Add Fixes tag.

- Link to v2: https://lore.kernel.org/r/[email protected]



Changes in v2:

- Add a space after the colons in the subject line.

- Link to v1: https://lore.kernel.org/r/[email protected]

---

drivers/gpu/drm/bridge/analogix/anx7625.c | 9 ++++++++-

1 file changed, 8 insertions(+), 1 deletion(-)



diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c

index 29d91493b101a..9f0d0c5b8ebf5 100644

--- a/drivers/gpu/drm/bridge/analogix/anx7625.c

+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c

@@ -2481,15 +2481,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,



---

base-commit: 90d35da658da8cff0d4ecbb5113f5fac9d00eb72

change-id: 20240305-anx7625-fe16d3a9d37d



Best regards,

--

Hsin-Te Yuan <[email protected]>