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@xxxxxxxxxx>
Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx>
---
sound/soc/qcom/sm8250.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
index 45e0c33fc3f3..7994488d7998 100644
--- a/sound/soc/qcom/sm8250.c
+++ b/sound/soc/qcom/sm8250.c
@@ -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;
}
--
2.45.2
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]