@@ -39,10 +39,20 @@ static int sm8250_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
SNDRV_PCM_HW_PARAM_RATE);
struct snd_interval *channels = hw_param_interval(params,
SNDRV_PCM_HW_PARAM_CHANNELS);
+ struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
rate->min = rate->max = 48000;
channels->min = channels->max = 2;
+ /* Maybe should be moved to driver data variant */
+ switch (cpu_dai->id) {
+ case RX_CODEC_DMA_RX_1:
+ channels->min = channels->max = 1;
+ break;
+ default:
+ break;
+ }
+
return 0;
}
In case of mono configurations we need to enforce single channel output. This is required for audio playback on QRB4210 RB2 board. Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org> --- sound/soc/qcom/sm8250.c | 10 ++++++++++ 1 file changed, 10 insertions(+)