ASoC: msm: qdsp6v2: initialize L/R/C gain for both mono/stereo playback

When there's a dynamic channel change from mono to stereo,
volume burst is observed because center channel gain for
stereo is not initialized. Initialize center channel gain
for both mono and stereo playback.

CRs-Fixed: 2095081
Change-Id: Ib92236f55b1f171603be956d00c8fcab7c4169d3
Signed-off-by: Yidong Huang <yidongh@codeaurora.org>
This commit is contained in:
yidongh 2017-09-04 12:33:22 +08:00 committed by Gerrit - the friendly Code Review server
parent 6f777b2385
commit 8d8e7881de

View file

@ -397,12 +397,9 @@ static int msm_compr_set_volume(struct snd_compr_stream *cstream,
} else {
gain_list[0] = volume_l;
gain_list[1] = volume_r;
/* force sending FR/FL/FC volume for mono */
if (prtd->num_channels == 1) {
gain_list[2] = volume_l;
num_channels = 3;
use_default = true;
}
gain_list[2] = volume_l;
num_channels = 3;
use_default = true;
rc = q6asm_set_multich_gain(prtd->audio_client, num_channels,
gain_list, chmap, use_default);
}