Unverified Commit 80ac12ff authored by Marcus Cooper's avatar Marcus Cooper Committed by Mark Brown
Browse files

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: default avatarMarcus Cooper <codekipper@gmail.com>
Link: https://patch.msgid.link/20241111165600.57219-3-codekipper@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 0a231930
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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: