From 366f76d21c94bdb4208d0f5540c75acf0bb502f9 Mon Sep 17 00:00:00 2001 From: "Vangala, Amarnath" Date: Tue, 23 Jun 2020 13:40:04 +0530 Subject: [PATCH] dsp: Feedback path cfg to support 3rd party spkr protection algorithms. Backward compatibility change to set 'feedback path cfg' to AFE_MODULE_FEEDBACK, to support 3rd party spkr protection algorithms. Change-Id: I9af731902fbc5bc69f130a4f30d8fc5f18ceaace Signed-off-by: Vangala, Amarnath --- dsp/q6afe.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/dsp/q6afe.c b/dsp/q6afe.c index a6ac17ce8b84..c3f396314f59 100644 --- a/dsp/q6afe.c +++ b/dsp/q6afe.c @@ -9762,30 +9762,28 @@ int afe_spk_prot_feed_back_cfg(int src_port, int dst_port, } this_afe.v4_ch_map_cfg.num_channels = index; this_afe.num_spkrs = index / 2; - pr_debug("%s no of channels: %d\n", __func__, index); - this_afe.vi_tx_port = src_port; - this_afe.vi_rx_port = dst_port; - ret = 0; - } else { - memset(&prot_config, 0, sizeof(prot_config)); - prot_config.feedback_path_cfg.dst_portid = - q6audio_get_port_id(dst_port); - if (l_ch) { - prot_config.feedback_path_cfg.chan_info[index++] = 1; - prot_config.feedback_path_cfg.chan_info[index++] = 2; - } - if (r_ch) { - prot_config.feedback_path_cfg.chan_info[index++] = 3; - prot_config.feedback_path_cfg.chan_info[index++] = 4; - } - prot_config.feedback_path_cfg.num_channels = index; - pr_debug("%s no of channels: %d\n", __func__, index); - prot_config.feedback_path_cfg.minor_version = 1; - ret = afe_spk_prot_prepare(src_port, dst_port, - AFE_PARAM_ID_FEEDBACK_PATH_CFG, &prot_config, - sizeof(union afe_spkr_prot_config)); } + index = 0; + memset(&prot_config, 0, sizeof(prot_config)); + prot_config.feedback_path_cfg.dst_portid = + q6audio_get_port_id(dst_port); + if (l_ch) { + prot_config.feedback_path_cfg.chan_info[index++] = 1; + prot_config.feedback_path_cfg.chan_info[index++] = 2; + } + if (r_ch) { + prot_config.feedback_path_cfg.chan_info[index++] = 3; + prot_config.feedback_path_cfg.chan_info[index++] = 4; + } + + prot_config.feedback_path_cfg.num_channels = index; + pr_debug("%s no of channels: %d\n", __func__, index); + prot_config.feedback_path_cfg.minor_version = 1; + ret = afe_spk_prot_prepare(src_port, dst_port, + AFE_PARAM_ID_FEEDBACK_PATH_CFG, &prot_config, + sizeof(union afe_spkr_prot_config)); + fail_cmd: return ret; }