mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] drm/bridge: lontium-lt9611uxc: disable audio capture for HDMI card
@ 2025-09-02 23:18 Vladimir Yakovlev
  2025-09-02 23:18 ` [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect() Vladimir Yakovlev
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Vladimir Yakovlev @ 2025-09-02 23:18 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, dri-devel,
	linux-kernel
  Cc: vovchkir

The LT9611UXC only has an I2S input and therefore only an HDMI-TX
audio channel. In this case, the capture channel must be disabled
on the HDMI sound card.

Signed-off-by: Vladimir Yakovlev <vovchkir@gmail.com>
---
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
index b17483f1550c..79feaec77afc 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -562,6 +562,7 @@ static int lt9611uxc_audio_init(struct device *dev, struct lt9611uxc *lt9611uxc)
 	struct hdmi_codec_pdata codec_data = {
 		.ops = &lt9611uxc_codec_ops,
 		.max_i2s_channels = 2,
+		.no_i2s_capture = 1,
 		.i2s = 1,
 		.data = lt9611uxc,
 	};
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect()
@ 2025-12-08 16:18 Vladimir Yakovlev
  0 siblings, 0 replies; 5+ messages in thread
From: Vladimir Yakovlev @ 2025-12-08 16:18 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Vladimir Yakovlev, Andrzej Hajda, Neil Armstrong, Robert Foss,
	Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, dri-devel, linux-kernel

The chip does not receive an interrupt if the monitor was connected
before powering up.
Therefore, you need to wake up the task if the necessary bits are set
when calling bridge_detect() after DRM is started.

Signed-off-by: Vladimir Yakovlev <vovchkir@gmail.com>
---
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
index 4d550cd1a9a1..70672024d643 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -363,17 +363,24 @@ lt9611uxc_bridge_detect(struct drm_bridge *bridge, struct drm_connector *connect
 	unsigned int reg_val = 0;
 	int ret;
 	bool connected = true;
+	bool edid_read = true;
 
 	lt9611uxc_lock(lt9611uxc);
 
 	if (lt9611uxc->hpd_supported) {
 		ret = regmap_read(lt9611uxc->regmap, 0xb023, &reg_val);
 
-		if (ret)
+		if (ret) {
 			dev_err(lt9611uxc->dev, "failed to read hpd status: %d\n", ret);
-		else
+		} else {
+			dev_dbg(lt9611uxc->dev, "detect() reg[0xb023]=0x%02X\n", reg_val);
 			connected  = reg_val & BIT(1);
+			edid_read = reg_val & BIT(0);
+			if (edid_read)
+				wake_up_all(&lt9611uxc->wq);
+		}
 	}
+	lt9611uxc->edid_read = edid_read;
 	lt9611uxc->hdmi_connected = connected;
 
 	lt9611uxc_unlock(lt9611uxc);
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-12-08 16:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-02 23:18 [PATCH] drm/bridge: lontium-lt9611uxc: disable audio capture for HDMI card Vladimir Yakovlev
2025-09-02 23:18 ` [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect() Vladimir Yakovlev
2025-09-02 23:18 ` [PATCH] drm/bridge: lontium-lt9611uxc: use irq as optional parameter Vladimir Yakovlev
2025-09-02 23:18 ` [PATCH] drm/bridge: lontium-lt9611uxc: use reset_gpio " Vladimir Yakovlev
2025-12-08 16:18 [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect() Vladimir Yakovlev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®