From 6bd4088d76cfd7ab0ab79994a41a8bf6da60eab1 Mon Sep 17 00:00:00 2001 From: Chaithanya Krishna Bacharaju Date: Tue, 16 Jul 2019 11:07:14 +0530 Subject: [PATCH] dsp: adm: Obtain path type from session type In programable channel mixer, path type is derived based on afe port id. Due to this, wrong path type is obtained in case of loopback usecase where Rx port is used to capture ec ref signals. This leads to wrong channel map being set in channel mixer. Instead use session type to obtain path type. Change-Id: I5292ed5eed1366ac28d72e4ca0815ab62e91fa60 Signed-off-by: Chaithanya Krishna Bacharaju --- dsp/q6adm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dsp/q6adm.c b/dsp/q6adm.c index 29bf67fdc0..1608140753 100644 --- a/dsp/q6adm.c +++ b/dsp/q6adm.c @@ -42,6 +42,8 @@ #define DS2_ADM_COPP_TOPOLOGY_ID 0xFFFFFFFF #endif +#define SESSION_TYPE_RX 0 + /* ENUM for adm_status */ enum adm_cal_status { ADM_STATUS_CALIBRATION_REQUIRED = 0, @@ -573,7 +575,7 @@ int adm_programable_channel_mixer(int port_id, int copp_idx, int session_id, adm_pspd_params[3] = ch_mixer->input_channels[channel_index]; index = 4; - path_type = (afe_get_port_type(port_id) == MSM_AFE_PORT_TYPE_RX) ? + path_type = (session_type == SESSION_TYPE_RX) ? ADM_PATH_PLAYBACK : ADM_PATH_LIVE_REC; if (ch_mixer->override_out_ch_map) {