summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Cooper <codekipper@gmail.com>2024-11-11 17:55:30 +0100
committerMark Brown <broonie@kernel.org>2024-12-09 14:07:57 +0000
commit80ac12ffb3a9e19a2f11eb1975ed31c9a39183c8 (patch)
tree74d1f1a03e1965f27fb6c8ee224a44c1d2f9dce3
parent0a2319308de88b9e819c0b43d0fccd857123eb31 (diff)
ASoC: sun4i-spdif: Always set the valid data to be the MSB
This doesn't affect 16bit formats and allows us to properly run 24bit formats. Signed-off-by: Marcus Cooper <codekipper@gmail.com> Link: https://patch.msgid.link/20241111165600.57219-3-codekipper@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/sunxi/sun4i-spdif.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c
index 7cf623cbe9ed..5a9407aaa1a1 100644
--- a/sound/soc/sunxi/sun4i-spdif.c
+++ b/sound/soc/sunxi/sun4i-spdif.c
@@ -202,6 +202,10 @@ static void sun4i_spdif_configure(struct sun4i_spdif_dev *host)
regmap_update_bits(host->regmap, SUN4I_SPDIF_FCTL,
quirks->val_fctl_ftx, quirks->val_fctl_ftx);
+ /* Valid data at the MSB of TXFIFO Register */
+ regmap_update_bits(host->regmap, SUN4I_SPDIF_FCTL,
+ SUN4I_SPDIF_FCTL_TXIM, 0);
+
/* clear TX counter */
regmap_write(host->regmap, SUN4I_SPDIF_TXCNT, 0);
}
@@ -323,9 +327,6 @@ static int sun4i_spdif_hw_params(struct snd_pcm_substream *substream,
return ret;
}
- regmap_update_bits(host->regmap, SUN4I_SPDIF_FCTL,
- SUN4I_SPDIF_FCTL_TXIM, SUN4I_SPDIF_FCTL_TXIM);
-
switch (rate) {
case 22050:
case 24000: