mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
Merge "dsp: adm: add to check output/input channel"
This commit is contained in:
commit
50d8130a5d
1 changed files with 13 additions and 2 deletions
|
|
@ -1935,6 +1935,11 @@ static int msm_pcm_routing_channel_mixer(int fe_id, bool perf_mode,
|
|||
for (i = 0; i < ADM_MAX_CHANNELS && channel_input[fe_id][i] > 0;
|
||||
++i) {
|
||||
be_id = channel_input[fe_id][i] - 1;
|
||||
if (be_id < 0 || be_id >= MSM_BACKEND_DAI_MAX) {
|
||||
pr_err("%s: Received out of bounds be_id %d\n",
|
||||
__func__, be_id);
|
||||
return -EINVAL;
|
||||
}
|
||||
channel_mixer[fe_id].input_channels[i] =
|
||||
msm_bedais[be_id].channel;
|
||||
|
||||
|
|
@ -3685,10 +3690,10 @@ static int msm_pcm_get_out_chs(struct snd_kcontrol *kcontrol,
|
|||
static int msm_pcm_put_out_chs(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
u16 fe_id = 0;
|
||||
|
||||
u16 fe_id = 0, out_ch = 0;
|
||||
fe_id = ((struct soc_multi_mixer_control *)
|
||||
kcontrol->private_value)->shift;
|
||||
out_ch = ucontrol->value.integer.value[0];
|
||||
if (fe_id >= MSM_FRONTEND_DAI_MM_SIZE) {
|
||||
pr_err("%s: invalid FE %d\n", __func__, fe_id);
|
||||
return -EINVAL;
|
||||
|
|
@ -3697,6 +3702,12 @@ static int msm_pcm_put_out_chs(struct snd_kcontrol *kcontrol,
|
|||
pr_debug("%s: fe_id is %d, output channels = %d\n", __func__,
|
||||
fe_id,
|
||||
(unsigned int)(ucontrol->value.integer.value[0]));
|
||||
if (out_ch < 0 ||
|
||||
out_ch > ADM_MAX_CHANNELS) {
|
||||
pr_err("%s: invalid output channel %d\n", __func__,
|
||||
out_ch);
|
||||
return -EINVAL;
|
||||
}
|
||||
channel_mixer[fe_id].output_channel =
|
||||
(unsigned int)(ucontrol->value.integer.value[0]);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue