diff --git a/asoc/lahaina.c b/asoc/lahaina.c index 51adc763e0..bddf1a452f 100644 --- a/asoc/lahaina.c +++ b/asoc/lahaina.c @@ -640,7 +640,7 @@ static struct dev_config cdc_dma_rx_cfg[] = { /* Default configuration of Codec DMA Interface TX */ static struct dev_config cdc_dma_tx_cfg[] = { - [WSA_CDC_DMA_TX_0] = {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, + [WSA_CDC_DMA_TX_0] = {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, [WSA_CDC_DMA_TX_1] = {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, [WSA_CDC_DMA_TX_2] = {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, [TX_CDC_DMA_TX_0] = {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2}, @@ -4443,9 +4443,10 @@ static int msm_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd, break; case MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0: + idx = msm_cdc_dma_get_idx_from_beid(dai_link->id); param_set_mask(params, SNDRV_PCM_HW_PARAM_FORMAT, SNDRV_PCM_FORMAT_S32_LE); - rate->min = rate->max = SAMPLING_RATE_8KHZ; + rate->min = rate->max = cdc_dma_tx_cfg[idx].sample_rate; channels->min = channels->max = msm_vi_feed_tx_ch; break;