* [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect()
@ 2025-12-08 16:18 Vladimir Yakovlev
0 siblings, 0 replies; 2+ 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, ®_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(<9611uxc->wq);
+ }
}
+ lt9611uxc->edid_read = edid_read;
lt9611uxc->hdmi_connected = connected;
lt9611uxc_unlock(lt9611uxc);
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread* [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
0 siblings, 1 reply; 2+ 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 = <9611uxc_codec_ops,
.max_i2s_channels = 2,
+ .no_i2s_capture = 1,
.i2s = 1,
.data = lt9611uxc,
};
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread* [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect()
2025-09-02 23:18 [PATCH] drm/bridge: lontium-lt9611uxc: disable audio capture for HDMI card Vladimir Yakovlev
@ 2025-09-02 23:18 ` Vladimir Yakovlev
0 siblings, 0 replies; 2+ 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 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 748bed8acd2d..5051cdfe2fee 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -358,17 +358,24 @@ static enum drm_connector_status lt9611uxc_bridge_detect(struct drm_bridge *brid
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, ®_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(<9611uxc->wq);
+ }
}
+ lt9611uxc->edid_read = edid_read;
lt9611uxc->hdmi_connected = connected;
lt9611uxc_unlock(lt9611uxc);
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-12-08 16:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-08 16:18 [PATCH] drm/bridge: lontium-lt9611uxc: start wake all thread when call detect() Vladimir Yakovlev
-- strict thread matches above, loose matches on Subject: below --
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
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®