[PATCH v2 2/2] ASoC: atmel-i2s: Fix I2SC_WS slot width configuration
From: phucduc . bui
Date: Wed Nov 11 2026 - 05:07:24 EST
From: bui duc phuc <phucduc.bui@xxxxxxxxx>
The atmel_i2s_hw_params() function configures the PCM formats
S18_3LE, S20_3LE and S24_3LE, which require a 24-bit I2SC_WS
slot width.
However, ATMEL_I2SC_MR_IWS is missing from the mask passed to
regmap_update_bits() when updating ATMEL_I2SC_MR. As a result,
the IWS bit is never updated, potentially leaving the slot width
at 32 bits.
Add ATMEL_I2SC_MR_IWS to the mask to ensure the slot width is
configured correctly.
Fixes: 3b7961a326f8 ("ASoC: atmel-i2s: Fix usage of capture and playback at the same time")
Signed-off-by: bui duc phuc <phucduc.bui@xxxxxxxxx>
---
sound/soc/atmel/atmel-i2s.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c
index 60e885980f4c..d23ac43590d8 100644
--- a/sound/soc/atmel/atmel-i2s.c
+++ b/sound/soc/atmel/atmel-i2s.c
@@ -329,7 +329,7 @@ static int atmel_i2s_hw_params(struct snd_pcm_substream *substream,
int ret;
mr_mask = ATMEL_I2SC_MR_FORMAT_MASK | ATMEL_I2SC_MR_MODE_MASK |
- ATMEL_I2SC_MR_DATALENGTH_MASK;
+ ATMEL_I2SC_MR_DATALENGTH_MASK | ATMEL_I2SC_MR_IWS;
if (is_playback)
mr_mask |= ATMEL_I2SC_MR_TXMONO;
else
--
2.43.0