]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: qcom: q6asm-dai: drop SNDRV_PCM_RATE_KNOT
authorJerome Brunet <jbrunet@baylibre.com>
Thu, 5 Sep 2024 14:13:01 +0000 (16:13 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 6 Sep 2024 07:23:55 +0000 (09:23 +0200)
The custom rate constraint list was necessary to support 12kHz and 24kHz.
These rates are now available through SNDRV_PCM_RATE_12000 and
SNDRV_PCM_RATE_24000.

Use them and drop the custom rate constraint rule.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: David Rhodes <drhodes@opensource.cirrus.com>
Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20240905-alsa-12-24-128-v1-10-8371948d3921@baylibre.com
sound/soc/qcom/qdsp6/q6asm-dai.c

index 3913706ccdc5f14316fa6191bbe70d9234b4bb0b..045100c94352714594c5be8affcd30c34def41eb 100644 (file)
@@ -128,8 +128,13 @@ static const struct snd_pcm_hardware q6asm_dai_hardware_playback = {
 #define Q6ASM_FEDAI_DRIVER(num) { \
                .playback = {                                           \
                        .stream_name = "MultiMedia"#num" Playback",     \
-                       .rates = (SNDRV_PCM_RATE_8000_192000|           \
-                                       SNDRV_PCM_RATE_KNOT),           \
+                       .rates = (SNDRV_PCM_RATE_8000_48000 |           \
+                                 SNDRV_PCM_RATE_12000 |                \
+                                 SNDRV_PCM_RATE_24000 |                \
+                                 SNDRV_PCM_RATE_88200 |                \
+                                 SNDRV_PCM_RATE_96000 |                \
+                                 SNDRV_PCM_RATE_176400 |               \
+                                 SNDRV_PCM_RATE_192000),               \
                        .formats = (SNDRV_PCM_FMTBIT_S16_LE |           \
                                        SNDRV_PCM_FMTBIT_S24_LE),       \
                        .channels_min = 1,                              \
@@ -139,8 +144,9 @@ static const struct snd_pcm_hardware q6asm_dai_hardware_playback = {
                },                                                      \
                .capture = {                                            \
                        .stream_name = "MultiMedia"#num" Capture",      \
-                       .rates = (SNDRV_PCM_RATE_8000_48000|            \
-                                       SNDRV_PCM_RATE_KNOT),           \
+                       .rates = (SNDRV_PCM_RATE_8000_48000 |           \
+                                 SNDRV_PCM_RATE_12000 |                \
+                                 SNDRV_PCM_RATE_24000),                \
                        .formats = (SNDRV_PCM_FMTBIT_S16_LE |           \
                                    SNDRV_PCM_FMTBIT_S24_LE),           \
                        .channels_min = 1,                              \
@@ -152,18 +158,6 @@ static const struct snd_pcm_hardware q6asm_dai_hardware_playback = {
                .id = MSM_FRONTEND_DAI_MULTIMEDIA##num,                 \
        }
 
-/* Conventional and unconventional sample rate supported */
-static unsigned int supported_sample_rates[] = {
-       8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,
-       88200, 96000, 176400, 192000
-};
-
-static struct snd_pcm_hw_constraint_list constraints_sample_rates = {
-       .count = ARRAY_SIZE(supported_sample_rates),
-       .list = supported_sample_rates,
-       .mask = 0,
-};
-
 static const struct snd_compr_codec_caps q6asm_compr_caps = {
        .num_descriptors = 1,
        .descriptor[0].max_ch = 2,
@@ -390,11 +384,6 @@ static int q6asm_dai_open(struct snd_soc_component *component,
        else if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
                runtime->hw = q6asm_dai_hardware_capture;
 
-       ret = snd_pcm_hw_constraint_list(runtime, 0,
-                               SNDRV_PCM_HW_PARAM_RATE,
-                               &constraints_sample_rates);
-       if (ret < 0)
-               dev_info(dev, "snd_pcm_hw_constraint_list failed\n");
        /* Ensure that buffer size is a multiple of period size */
        ret = snd_pcm_hw_constraint_integer(runtime,
                                            SNDRV_PCM_HW_PARAM_PERIODS);