62 lines
2.1 KiB
Diff
62 lines
2.1 KiB
Diff
|
From 5153d2ded8ffe6dec8d4239e98c4971bc5767d63 Mon Sep 17 00:00:00 2001
|
||
|
From: Samuel Holland <samuel@sholland.org>
|
||
|
Date: Wed, 14 Oct 2020 01:19:38 -0500
|
||
|
Subject: [PATCH 311/351] ASoC: sun8i-codec: Enable all supported PCM formats
|
||
|
|
||
|
Now that the DAI clock setup is correct for all hardware-supported PCM
|
||
|
formats, we can enable them in the driver. With the appropriate support
|
||
|
in the CPU DAI driver, this allows userspace to access the additional
|
||
|
formats.
|
||
|
|
||
|
Since this codec is connected to the CPU via a DAI, not directly, we do
|
||
|
not care if the CPU DAI is using 3-byte or 4-byte formats, so we can
|
||
|
support them both.
|
||
|
|
||
|
Acked-by: Maxime Ripard <mripard@kernel.org>
|
||
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
||
|
Link: https://lore.kernel.org/r/20201014061941.4306-15-samuel@sholland.org
|
||
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||
|
---
|
||
|
sound/soc/sunxi/sun8i-codec.c | 11 +++++++++--
|
||
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/sound/soc/sunxi/sun8i-codec.c b/sound/soc/sunxi/sun8i-codec.c
|
||
|
index a530e58018b7..e3abf8363d9b 100644
|
||
|
--- a/sound/soc/sunxi/sun8i-codec.c
|
||
|
+++ b/sound/soc/sunxi/sun8i-codec.c
|
||
|
@@ -96,6 +96,13 @@
|
||
|
|
||
|
#define SUN8I_CODEC_PASSTHROUGH_SAMPLE_RATE 48000
|
||
|
|
||
|
+#define SUN8I_CODEC_PCM_FORMATS (SNDRV_PCM_FMTBIT_S8 |\
|
||
|
+ SNDRV_PCM_FMTBIT_S16_LE |\
|
||
|
+ SNDRV_PCM_FMTBIT_S20_LE |\
|
||
|
+ SNDRV_PCM_FMTBIT_S24_LE |\
|
||
|
+ SNDRV_PCM_FMTBIT_S20_3LE|\
|
||
|
+ SNDRV_PCM_FMTBIT_S24_3LE)
|
||
|
+
|
||
|
#define SUN8I_CODEC_PCM_RATES (SNDRV_PCM_RATE_8000_48000|\
|
||
|
SNDRV_PCM_RATE_88200 |\
|
||
|
SNDRV_PCM_RATE_96000 |\
|
||
|
@@ -540,7 +547,7 @@ static struct snd_soc_dai_driver sun8i_codec_dais[] = {
|
||
|
.channels_min = 1,
|
||
|
.channels_max = 2,
|
||
|
.rates = SUN8I_CODEC_PCM_RATES,
|
||
|
- .formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||
|
+ .formats = SUN8I_CODEC_PCM_FORMATS,
|
||
|
.sig_bits = 24,
|
||
|
},
|
||
|
/* playback capabilities */
|
||
|
@@ -549,7 +556,7 @@ static struct snd_soc_dai_driver sun8i_codec_dais[] = {
|
||
|
.channels_min = 1,
|
||
|
.channels_max = 2,
|
||
|
.rates = SUN8I_CODEC_PCM_RATES,
|
||
|
- .formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||
|
+ .formats = SUN8I_CODEC_PCM_FORMATS,
|
||
|
},
|
||
|
.symmetric_rates = true,
|
||
|
.symmetric_channels = true,
|
||
|
--
|
||
|
2.34.0
|
||
|
|