On 3/13/26 20:59, Dmitry Baryshkov wrote:
On Thu, Mar 12, 2026 at 02:33:55PM -0500, Sen Wang wrote:
The IT66121 is an HDMI transmitter and does not support audio capture.
However, the driver registers hdmi-codec without setting no_i2s_capture,
causing the codec to advertise a non-functional capture stream. Userspace
audio servers such as PulseAudio then attempt to open this capture
device, resulting in errors.
Set no_i2s_capture and no_spdif_capture in hdmi_codec_pdata so that the
hdmi-codec driver only registers playback, matching the actual hardware
capability.
As you hopefully have the hardware, can I suggest instead porting the
driver to HDMI helpers and HDMI audio helpers? The
drm_connector_hdmi_audio_init() already sets thesse flags for you.
Hi Dmitry,
Thanks for your feedback. I dug the code base a little bit more, and I
sure can try to convert the legacy hdmi_codec_ops related APIs to the
newer hdmi_audio funcs and test it out. Hopefully there won't be any
regressions by this conversion.
Looks like I just need the following new drm_bridge_funcs:
.hdmi_audio_startup
.hdmi_audio_prepare
.hdmi_audio_shutdown
.hdmi_audio_mute_stream.
Please let me know if there's anything else to consider for the
conversion, I'll take a stab at it and send a separate patch.
Best Regards,
Sen Wang
Signed-off-by: Sen Wang <[email protected]>
---
drivers/gpu/drm/bridge/ite-it66121.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ite-it66121.c
b/drivers/gpu/drm/bridge/ite-it66121.c
index 329fa47a5701..a1b2c3d4e5f6 100644
--- a/drivers/gpu/drm/bridge/ite-it66121.c
+++ b/drivers/gpu/drm/bridge/ite-it66121.c
@@ -1476,6 +1476,8 @@ static int it66121_audio_codec_init(struct it66121_ctx
*ctx, struct device *dev)
.i2s = 1, /* Only i2s support for now */
.spdif = 0,
.max_i2s_channels = 8,
+ .no_i2s_capture = 1,
+ .no_spdif_capture = 1,
.no_capture_mute = 1,
};
--
2.34.1