[PATCH] drm/bridge: ite-it66121: Disable HDMI audio capture stream

Sen Wang posted 1 patch 3 weeks, 4 days ago
drivers/gpu/drm/bridge/ite-it66121.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] drm/bridge: ite-it66121: Disable HDMI audio capture stream
Posted by Sen Wang 3 weeks, 4 days ago
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.

Signed-off-by: Sen Wang <sen@ti.com>
---
 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
Re: [PATCH] drm/bridge: ite-it66121: Disable HDMI audio capture stream
Posted by Dmitry Baryshkov 3 weeks, 3 days ago
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.

> 
> Signed-off-by: Sen Wang <sen@ti.com>
> ---
>  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

-- 
With best wishes
Dmitry
Re: [PATCH] drm/bridge: ite-it66121: Disable HDMI audio capture stream
Posted by Sen Wang 3 weeks ago
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 <sen@ti.com>
>> ---
>>   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
>