dsp: adm: add check for mfc channel count

Add check for mfc channel count before issuing mfc
media format command.

Change-Id: I0541d6651ecfcc90562ec0d9a632d039e34658cf
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
This commit is contained in:
Dhananjay Kumar 2019-03-01 15:47:56 +05:30
commit 3d61b368d7
2 changed files with 9 additions and 1 deletions

View file

@ -2797,6 +2797,11 @@ static int adm_copp_set_ec_ref_mfc_cfg(int port_id, int copp_idx,
__func__, port_id, copp_idx, sample_rate,
bps, in_channels, out_channels);
if (out_channels <= 0 || out_channels > AUDPROC_MFC_OUT_CHANNELS_MAX) {
pr_err("%s: unsupported out channels=%d\n", __func__, out_channels);
return -EINVAL;
}
/* 1. Update Media Format */
param_hdr.param_id = AUDPROC_PARAM_ID_MFC_OUTPUT_MEDIA_FORMAT;
param_hdr.param_size = sizeof(mfc_cfg);

View file

@ -874,11 +874,14 @@ struct adm_cmd_set_pp_params_v5 {
*/
} __packed;
/* Maximum number of channels supported by MFC media fmt params */
#define AUDPROC_MFC_OUT_CHANNELS_MAX 8
struct audproc_mfc_param_media_fmt {
uint32_t sampling_rate;
uint16_t bits_per_sample;
uint16_t num_channels;
uint16_t channel_type[8];
uint16_t channel_type[AUDPROC_MFC_OUT_CHANNELS_MAX];
} __packed;
struct audproc_volume_ctrl_master_gain {