Skip to content

Commit 46378ab

Browse files
Svendsen991broonie
authored andcommitted
ASoC: tlv320adcx140: fix word length
The word length is the physical width of the channel slots. So the hw_params would misconfigure when format width and physical width doesn't match. Like S24_LE which has data width of 24 bits but physical width of 32 bits. So if using asymmetric formats you will get a lot of noise. Fixes: 689c765 ("ASoC: tlv320adcx140: Add the tlv320adcx140 codec driver family") Signed-off-by: Emil Svendsen <emas@bang-olufsen.dk> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://patch.msgid.link/20260113-sound-soc-codecs-tvl320adcx140-v4-4-8f7ecec525c8@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent d89aad9 commit 46378ab

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

sound/soc/codecs/tlv320adcx140.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ static int adcx140_hw_params(struct snd_pcm_substream *substream,
725725
struct adcx140_priv *adcx140 = snd_soc_component_get_drvdata(component);
726726
u8 data = 0;
727727

728-
switch (params_width(params)) {
728+
switch (params_physical_width(params)) {
729729
case 16:
730730
data = ADCX140_16_BIT_WORD;
731731
break;
@@ -740,7 +740,7 @@ static int adcx140_hw_params(struct snd_pcm_substream *substream,
740740
break;
741741
default:
742742
dev_err(component->dev, "%s: Unsupported width %d\n",
743-
__func__, params_width(params));
743+
__func__, params_physical_width(params));
744744
return -EINVAL;
745745
}
746746

0 commit comments

Comments
 (0)