#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,                              \
                },                                                      \
                .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,                              \
                .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,
        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);