From: Marcus Cooper Date: Mon, 11 Nov 2024 16:55:30 +0000 (+0100) Subject: ASoC: sun4i-spdif: Always set the valid data to be the MSB X-Git-Tag: v6.14-rc1~111^2~7^2~53^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80ac12ffb3a9e19a2f11eb1975ed31c9a39183c8;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://patch.msgid.link/20241111165600.57219-3-codekipper@gmail.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c index 7cf623cbe9ed4..5a9407aaa1a19 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: