asoc: fix routing error during switch from non-adm to adm path
Fix routing error from incorrect usage of passthrough mode while switching LSM session from direct AFE connection to path using ADM before AFE connection. Issue is due to loss of passthrough mode for an FE not opened with ADM during initial session setup or while moving the FE from one BE port to another BE port, i.e. device switch usecases. Since passthrough mode for an FE is supposed to be same for all the BEs connecting to the FE and is directly decided from FE driver having single value, decouple passthrough mode from BE and store the required mode in an FE config independent of BE usage. This allows storing passthrough mode for future usage irrespective of initial setup path which can be with or without ADM. Change-Id: I53106b49effd9b267363aedd77477eed103b317c Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
This commit is contained in:
@@ -301,342 +301,342 @@ static void msm_pcm_routng_cfg_matrix_map_pp(struct route_payload payload,
|
||||
|
||||
#define SLIMBUS_EXTPROC_RX AFE_PORT_INVALID
|
||||
struct msm_pcm_routing_bdai_data msm_bedais[MSM_BACKEND_DAI_MAX] = {
|
||||
{ PRIMARY_I2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_PRI_I2S_RX},
|
||||
{ PRIMARY_I2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_PRI_I2S_TX},
|
||||
{ SLIMBUS_0_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_0_RX},
|
||||
{ SLIMBUS_0_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_0_TX},
|
||||
{ HDMI_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_HDMI},
|
||||
{ INT_BT_SCO_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_INT_BT_SCO_RX},
|
||||
{ INT_BT_SCO_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_INT_BT_SCO_TX},
|
||||
{ INT_FM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_INT_FM_RX},
|
||||
{ INT_FM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_INT_FM_TX},
|
||||
{ RT_PROXY_PORT_001_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ PRIMARY_I2S_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_PRI_I2S_RX},
|
||||
{ PRIMARY_I2S_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_PRI_I2S_TX},
|
||||
{ SLIMBUS_0_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_0_RX},
|
||||
{ SLIMBUS_0_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_0_TX},
|
||||
{ HDMI_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_HDMI},
|
||||
{ INT_BT_SCO_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_INT_BT_SCO_RX},
|
||||
{ INT_BT_SCO_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_INT_BT_SCO_TX},
|
||||
{ INT_FM_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_INT_FM_RX},
|
||||
{ INT_FM_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_INT_FM_TX},
|
||||
{ RT_PROXY_PORT_001_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_AFE_PCM_RX},
|
||||
{ RT_PROXY_PORT_001_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ RT_PROXY_PORT_001_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_AFE_PCM_TX},
|
||||
{ AFE_PORT_ID_PRIMARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_AUXPCM_RX},
|
||||
{ AFE_PORT_ID_PRIMARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_AUXPCM_TX},
|
||||
{ VOICE_PLAYBACK_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ VOICE_PLAYBACK_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_VOICE_PLAYBACK_TX},
|
||||
{ VOICE2_PLAYBACK_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ VOICE2_PLAYBACK_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_VOICE2_PLAYBACK_TX},
|
||||
{ VOICE_RECORD_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ VOICE_RECORD_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INCALL_RECORD_RX},
|
||||
{ VOICE_RECORD_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ VOICE_RECORD_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INCALL_RECORD_TX},
|
||||
{ MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_MI2S_RX},
|
||||
{ MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_MI2S_TX},
|
||||
{ SECONDARY_I2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SEC_I2S_RX},
|
||||
{ SLIMBUS_1_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_1_RX},
|
||||
{ SLIMBUS_1_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_1_TX},
|
||||
{ SLIMBUS_2_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_2_RX},
|
||||
{ SLIMBUS_2_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_2_TX},
|
||||
{ SLIMBUS_3_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_3_RX},
|
||||
{ SLIMBUS_3_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_3_TX},
|
||||
{ SLIMBUS_4_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_4_RX},
|
||||
{ SLIMBUS_4_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_4_TX},
|
||||
{ SLIMBUS_5_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_5_RX},
|
||||
{ SLIMBUS_5_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_5_TX},
|
||||
{ SLIMBUS_6_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_6_RX},
|
||||
{ SLIMBUS_6_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_6_TX},
|
||||
{ SLIMBUS_7_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_7_RX},
|
||||
{ SLIMBUS_7_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_7_TX},
|
||||
{ SLIMBUS_8_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_8_RX},
|
||||
{ SLIMBUS_8_TX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_SLIMBUS_8_TX},
|
||||
{ SLIMBUS_EXTPROC_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_STUB_RX},
|
||||
{ SLIMBUS_EXTPROC_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_STUB_TX},
|
||||
{ SLIMBUS_EXTPROC_RX, 0, {0}, {0}, 0, 0, 0, 0, {0}, LPASS_BE_STUB_1_TX},
|
||||
{ AFE_PORT_ID_QUATERNARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_MI2S_RX},
|
||||
{ MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_MI2S_TX},
|
||||
{ SECONDARY_I2S_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SEC_I2S_RX},
|
||||
{ SLIMBUS_1_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_1_RX},
|
||||
{ SLIMBUS_1_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_1_TX},
|
||||
{ SLIMBUS_2_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_2_RX},
|
||||
{ SLIMBUS_2_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_2_TX},
|
||||
{ SLIMBUS_3_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_3_RX},
|
||||
{ SLIMBUS_3_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_3_TX},
|
||||
{ SLIMBUS_4_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_4_RX},
|
||||
{ SLIMBUS_4_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_4_TX},
|
||||
{ SLIMBUS_5_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_5_RX},
|
||||
{ SLIMBUS_5_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_5_TX},
|
||||
{ SLIMBUS_6_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_6_RX},
|
||||
{ SLIMBUS_6_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_6_TX},
|
||||
{ SLIMBUS_7_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_7_RX},
|
||||
{ SLIMBUS_7_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_7_TX},
|
||||
{ SLIMBUS_8_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_8_RX},
|
||||
{ SLIMBUS_8_TX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_SLIMBUS_8_TX},
|
||||
{ SLIMBUS_EXTPROC_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_STUB_RX},
|
||||
{ SLIMBUS_EXTPROC_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_STUB_TX},
|
||||
{ SLIMBUS_EXTPROC_RX, 0, {0}, {0}, 0, 0, 0, 0, LPASS_BE_STUB_1_TX},
|
||||
{ AFE_PORT_ID_QUATERNARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_MI2S_RX},
|
||||
{ AFE_PORT_ID_QUATERNARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_MI2S_TX},
|
||||
{ AFE_PORT_ID_SECONDARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_MI2S_RX},
|
||||
{ AFE_PORT_ID_SECONDARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_MI2S_TX},
|
||||
{ AFE_PORT_ID_PRIMARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_MI2S_RX},
|
||||
{ AFE_PORT_ID_PRIMARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_MI2S_TX},
|
||||
{ AFE_PORT_ID_TERTIARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_MI2S_RX},
|
||||
{ AFE_PORT_ID_TERTIARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_MI2S_TX},
|
||||
{ AUDIO_PORT_ID_I2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AUDIO_PORT_ID_I2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_AUDIO_I2S_RX},
|
||||
{ AFE_PORT_ID_SECONDARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_AUXPCM_RX},
|
||||
{ AFE_PORT_ID_SECONDARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_AUXPCM_TX},
|
||||
{ AFE_PORT_ID_PRIMARY_SPDIF_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_SPDIF_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_SPDIF_RX},
|
||||
{ AFE_PORT_ID_SECONDARY_MI2S_RX_SD1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_MI2S_RX_SD1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_MI2S_RX_SD1},
|
||||
{ AFE_PORT_ID_QUINARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_MI2S_RX},
|
||||
{ AFE_PORT_ID_QUINARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_MI2S_TX},
|
||||
{ AFE_PORT_ID_SENARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SENARY_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SENARY_MI2S_TX},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_1},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_1},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_2},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_2},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_3},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_3},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_4},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_4},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_5},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_5},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_6},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_6},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_RX_7},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_TDM_TX_7},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_1},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_1},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_2},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_2},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_3},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_3},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_4},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_4},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_5},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_5},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_6},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_6},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_RX_7},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_TDM_TX_7},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_1},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_1},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_2},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_2},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_3},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_3},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_4},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_4},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_5},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_5},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_6},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_6},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_RX_7},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_TDM_TX_7},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_1},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_1},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_2},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_2},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_3},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_3},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_4},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_4},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_5},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_5},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_6},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_6},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_RX_7},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_TDM_TX_7},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_1},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_1},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_2},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_2},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_3},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_3},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_4},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_4},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_5},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_5},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_6},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_6},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_RX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_RX_7},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_TDM_TX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_TDM_TX_7},
|
||||
{ INT_BT_A2DP_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ INT_BT_A2DP_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT_BT_A2DP_RX},
|
||||
{ AFE_PORT_ID_USB_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_USB_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_USB_AUDIO_RX},
|
||||
{ AFE_PORT_ID_USB_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_USB_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_USB_AUDIO_TX},
|
||||
{ DISPLAY_PORT_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ DISPLAY_PORT_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_DISPLAY_PORT},
|
||||
{ DISPLAY_PORT_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ DISPLAY_PORT_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_DISPLAY_PORT1},
|
||||
{ AFE_PORT_ID_TERTIARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_AUXPCM_RX},
|
||||
{ AFE_PORT_ID_TERTIARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TERTIARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TERT_AUXPCM_TX},
|
||||
{ AFE_PORT_ID_QUATERNARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_AUXPCM_RX},
|
||||
{ AFE_PORT_ID_QUATERNARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUATERNARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUAT_AUXPCM_TX},
|
||||
{ AFE_PORT_ID_QUINARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_PCM_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_AUXPCM_RX},
|
||||
{ AFE_PORT_ID_QUINARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_QUINARY_PCM_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_QUIN_AUXPCM_TX},
|
||||
{ AFE_PORT_ID_INT0_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT0_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT0_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT0_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT0_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT0_MI2S_TX},
|
||||
{ AFE_PORT_ID_INT1_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT1_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT1_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT1_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT1_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT1_MI2S_TX},
|
||||
{ AFE_PORT_ID_INT2_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT2_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT2_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT2_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT2_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT2_MI2S_TX},
|
||||
{ AFE_PORT_ID_INT3_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT3_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT3_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT3_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT3_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT3_MI2S_TX},
|
||||
{ AFE_PORT_ID_INT4_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT4_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT4_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT4_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT4_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT4_MI2S_TX},
|
||||
{ AFE_PORT_ID_INT5_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT5_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT5_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT5_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT5_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT5_MI2S_TX},
|
||||
{ AFE_PORT_ID_INT6_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT6_MI2S_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT6_MI2S_RX},
|
||||
{ AFE_PORT_ID_INT6_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_INT6_MI2S_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_INT6_MI2S_TX},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_RX_0, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_RX_0, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_WSA_CDC_DMA_RX_0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_TX_0, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_TX_0, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_WSA_CDC_DMA_TX_0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_WSA_CDC_DMA_RX_1},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_WSA_CDC_DMA_TX_1},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_WSA_CODEC_DMA_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_WSA_CDC_DMA_TX_2},
|
||||
{ AFE_PORT_ID_VA_CODEC_DMA_TX_0, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_VA_CODEC_DMA_TX_0, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_VA_CDC_DMA_TX_0},
|
||||
{ AFE_PORT_ID_VA_CODEC_DMA_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_VA_CODEC_DMA_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_VA_CDC_DMA_TX_1},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_0, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_0, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_0, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_0, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TX_CDC_DMA_TX_0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_1},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_1, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_1, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TX_CDC_DMA_TX_1},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_2},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_2, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_2, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TX_CDC_DMA_TX_2},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_3},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_3, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_3, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TX_CDC_DMA_TX_3},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_4},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_4, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_4, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TX_CDC_DMA_TX_4},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_5},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_5, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_TX_CODEC_DMA_TX_5, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_TX_CDC_DMA_TX_5},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_6, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_6, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_6},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_7, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_RX_CODEC_DMA_RX_7, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_RX_CDC_DMA_RX_7},
|
||||
{ AFE_PORT_ID_PRIMARY_SPDIF_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_PRIMARY_SPDIF_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_PRI_SPDIF_TX},
|
||||
{ AFE_PORT_ID_SECONDARY_SPDIF_RX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_SPDIF_RX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_SPDIF_RX},
|
||||
{ AFE_PORT_ID_SECONDARY_SPDIF_TX, 0, {0}, {0}, 0, 0, 0, 0, {0},
|
||||
{ AFE_PORT_ID_SECONDARY_SPDIF_TX, 0, {0}, {0}, 0, 0, 0, 0,
|
||||
LPASS_BE_SEC_SPDIF_TX},
|
||||
};
|
||||
|
||||
@@ -646,128 +646,128 @@ struct msm_pcm_routing_bdai_data msm_bedais[MSM_BACKEND_DAI_MAX] = {
|
||||
static struct msm_pcm_routing_fdai_data
|
||||
fe_dai_map[MSM_FRONTEND_DAI_MAX][2] = {
|
||||
/* MULTIMEDIA1 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA2 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA3 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA4 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA5 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA6 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA7*/
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA8 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA9 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA10 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA11 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA12 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA13 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA14 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA15 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA16 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA17 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA18 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA19 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA20 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA21 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA28 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* MULTIMEDIA29 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* VOIP */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* AFE_RX */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* AFE_TX */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* VOICE_STUB */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* DTMF_RX */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* QCHAT */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* VOLTE_STUB */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM1 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM2 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM3 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM4 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM5 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM6 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM7 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* LSM8 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* VOICE2_STUB */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* VOICEMMODE1 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
/* VOICEMMODE2 */
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} },
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL} } },
|
||||
{{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM},
|
||||
{0, INVALID_SESSION, LEGACY_PCM_MODE, {NULL, NULL}, LEGACY_PCM} },
|
||||
};
|
||||
|
||||
static unsigned long session_copp_map[MSM_FRONTEND_DAI_MAX][2]
|
||||
@@ -1293,12 +1293,6 @@ int msm_pcm_routing_reg_phy_compr_stream(int fe_id, int perf_mode,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!route_check_fe_id_adm_support(fe_id)) {
|
||||
/* ignore adm open if not supported for fe_id */
|
||||
pr_debug("%s: No ADM support for fe id %d\n", __func__, fe_id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (stream_type == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
session_type = SESSION_TYPE_RX;
|
||||
if (passthr_mode != LEGACY_PCM)
|
||||
@@ -1322,14 +1316,20 @@ int msm_pcm_routing_reg_phy_compr_stream(int fe_id, int perf_mode,
|
||||
(fe_id <= MSM_FRONTEND_DAI_LSM8);
|
||||
mutex_lock(&routing_lock);
|
||||
|
||||
payload.num_copps = 0; /* only RX needs to use payload */
|
||||
fe_dai_map[fe_id][session_type].strm_id = dspst_id;
|
||||
fe_dai_map[fe_id][session_type].perf_mode = perf_mode;
|
||||
fe_dai_map[fe_id][session_type].passthr_mode = passthr_mode;
|
||||
if (!route_check_fe_id_adm_support(fe_id)) {
|
||||
/* ignore adm open if not supported for fe_id */
|
||||
pr_debug("%s: No ADM support for fe id %d\n", __func__, fe_id);
|
||||
mutex_unlock(&routing_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
payload.num_copps = 0; /* only RX needs to use payload */
|
||||
/* re-enable EQ if active */
|
||||
msm_qti_pp_send_eq_values(fe_id);
|
||||
for (i = 0; i < MSM_BACKEND_DAI_MAX; i++) {
|
||||
if (test_bit(fe_id, &msm_bedais[i].fe_sessions[0]))
|
||||
msm_bedais[i].passthr_mode[fe_id] = passthr_mode;
|
||||
|
||||
if (!is_be_dai_extproc(i) &&
|
||||
(afe_get_port_type(msm_bedais[i].port_id) ==
|
||||
port_type) &&
|
||||
@@ -1431,8 +1431,7 @@ int msm_pcm_routing_reg_phy_compr_stream(int fe_id, int perf_mode,
|
||||
}
|
||||
if (passthr_mode != COMPRESSED_PASSTHROUGH_DSD
|
||||
&& passthr_mode != COMPRESSED_PASSTHROUGH_GEN
|
||||
&& passthr_mode !=
|
||||
COMPRESSED_PASSTHROUGH_IEC61937)
|
||||
&& passthr_mode != COMPRESSED_PASSTHROUGH_IEC61937)
|
||||
msm_routing_send_device_pp_params(
|
||||
msm_bedais[i].port_id,
|
||||
copp_idx, fe_id);
|
||||
@@ -1560,6 +1559,7 @@ int msm_pcm_routing_reg_phy_stream(int fedai_id, int perf_mode,
|
||||
payload.num_copps = 0; /* only RX needs to use payload */
|
||||
fe_dai_map[fedai_id][session_type].strm_id = dspst_id;
|
||||
fe_dai_map[fedai_id][session_type].perf_mode = perf_mode;
|
||||
fe_dai_map[fedai_id][session_type].passthr_mode = LEGACY_PCM;
|
||||
|
||||
/* re-enable EQ if active */
|
||||
msm_qti_pp_send_eq_values(fedai_id);
|
||||
@@ -1577,8 +1577,6 @@ int msm_pcm_routing_reg_phy_stream(int fedai_id, int perf_mode,
|
||||
channels = msm_bedais[i].channel;
|
||||
else
|
||||
channels = msm_bedais[i].adm_override_ch;
|
||||
msm_bedais[i].passthr_mode[fedai_id] =
|
||||
LEGACY_PCM;
|
||||
|
||||
bits_per_sample = msm_routing_get_bit_width(
|
||||
msm_bedais[i].format);
|
||||
@@ -1647,12 +1645,9 @@ int msm_pcm_routing_reg_phy_stream(int fedai_id, int perf_mode,
|
||||
num_copps++;
|
||||
}
|
||||
}
|
||||
if ((perf_mode == LEGACY_PCM_MODE) &&
|
||||
(msm_bedais[i].passthr_mode[fedai_id] ==
|
||||
LEGACY_PCM))
|
||||
if (perf_mode == LEGACY_PCM_MODE)
|
||||
msm_pcm_routing_cfg_pp(msm_bedais[i].port_id,
|
||||
copp_idx, topology,
|
||||
channels);
|
||||
copp_idx, topology, channels);
|
||||
}
|
||||
}
|
||||
if (num_copps) {
|
||||
@@ -1737,8 +1732,7 @@ void msm_pcm_routing_dereg_phy_stream(int fedai_id, int stream_type)
|
||||
if ((topology == DOLBY_ADM_COPP_TOPOLOGY_ID ||
|
||||
topology == DS2_ADM_COPP_TOPOLOGY_ID) &&
|
||||
(fdai->perf_mode == LEGACY_PCM_MODE) &&
|
||||
(msm_bedais[i].passthr_mode[fedai_id] ==
|
||||
LEGACY_PCM))
|
||||
(fdai->passthr_mode == LEGACY_PCM))
|
||||
msm_pcm_routing_deinit_pp(msm_bedais[i].port_id,
|
||||
topology);
|
||||
}
|
||||
@@ -1789,16 +1783,17 @@ static void msm_pcm_routing_process_audio(u16 reg, u16 val, int set)
|
||||
return;
|
||||
}
|
||||
|
||||
passthr_mode = msm_bedais[reg].passthr_mode[val];
|
||||
if (afe_get_port_type(msm_bedais[reg].port_id) ==
|
||||
MSM_AFE_PORT_TYPE_RX) {
|
||||
session_type = SESSION_TYPE_RX;
|
||||
session_type =
|
||||
(afe_get_port_type(msm_bedais[reg].port_id) == MSM_AFE_PORT_TYPE_RX) ?
|
||||
SESSION_TYPE_RX : SESSION_TYPE_TX;
|
||||
fdai = &fe_dai_map[val][session_type];
|
||||
passthr_mode = fdai->passthr_mode;
|
||||
if (session_type == SESSION_TYPE_RX) {
|
||||
if (passthr_mode != LEGACY_PCM)
|
||||
path_type = ADM_PATH_COMPRESSED_RX;
|
||||
else
|
||||
path_type = ADM_PATH_PLAYBACK;
|
||||
} else {
|
||||
session_type = SESSION_TYPE_TX;
|
||||
if ((passthr_mode != LEGACY_PCM) && (passthr_mode != LISTEN))
|
||||
path_type = ADM_PATH_COMPRESSED_TX;
|
||||
else
|
||||
@@ -1815,7 +1810,6 @@ static void msm_pcm_routing_process_audio(u16 reg, u16 val, int set)
|
||||
voc_start_playback(set, msm_bedais[reg].port_id);
|
||||
|
||||
set_bit(val, &msm_bedais[reg].fe_sessions[0]);
|
||||
fdai = &fe_dai_map[val][session_type];
|
||||
if (msm_bedais[reg].active && fdai->strm_id !=
|
||||
INVALID_SESSION) {
|
||||
int app_type, app_type_idx, copp_idx, acdb_dev_id;
|
||||
@@ -1913,7 +1907,6 @@ static void msm_pcm_routing_process_audio(u16 reg, u16 val, int set)
|
||||
(msm_bedais[reg].port_id == VOICE2_PLAYBACK_TX)))
|
||||
voc_start_playback(set, msm_bedais[reg].port_id);
|
||||
clear_bit(val, &msm_bedais[reg].fe_sessions[0]);
|
||||
fdai = &fe_dai_map[val][session_type];
|
||||
if (msm_bedais[reg].active && fdai->strm_id !=
|
||||
INVALID_SESSION) {
|
||||
int idx;
|
||||
@@ -22405,7 +22398,7 @@ static int msm_pcm_routing_close(struct snd_pcm_substream *substream)
|
||||
clear_bit(idx,
|
||||
&session_copp_map[i][session_type][be_id]);
|
||||
if ((fdai->perf_mode == LEGACY_PCM_MODE) &&
|
||||
(bedai->passthr_mode[i] == LEGACY_PCM))
|
||||
(fdai->passthr_mode == LEGACY_PCM))
|
||||
msm_pcm_routing_deinit_pp(bedai->port_id,
|
||||
topology);
|
||||
}
|
||||
@@ -22414,10 +22407,6 @@ static int msm_pcm_routing_close(struct snd_pcm_substream *substream)
|
||||
bedai->active = 0;
|
||||
bedai->sample_rate = 0;
|
||||
bedai->channel = 0;
|
||||
for (i = 0; i < MSM_FRONTEND_DAI_MAX; i++) {
|
||||
if (bedai->passthr_mode[i] != LISTEN)
|
||||
bedai->passthr_mode[i] = LEGACY_PCM;
|
||||
}
|
||||
mutex_unlock(&routing_lock);
|
||||
|
||||
return 0;
|
||||
@@ -22463,24 +22452,24 @@ static int msm_pcm_routing_prepare(struct snd_pcm_substream *substream)
|
||||
route_check_fe_id_adm_support(i)))
|
||||
continue;
|
||||
|
||||
session_type = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ?
|
||||
SESSION_TYPE_RX : SESSION_TYPE_TX;
|
||||
fdai = &fe_dai_map[i][session_type];
|
||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
if (bedai->passthr_mode[i] != LEGACY_PCM)
|
||||
if (fdai->passthr_mode != LEGACY_PCM)
|
||||
path_type = ADM_PATH_COMPRESSED_RX;
|
||||
else
|
||||
path_type = ADM_PATH_PLAYBACK;
|
||||
session_type = SESSION_TYPE_RX;
|
||||
} else {
|
||||
if ((bedai->passthr_mode[i] != LEGACY_PCM) &&
|
||||
(bedai->passthr_mode[i] != LISTEN))
|
||||
if ((fdai->passthr_mode != LEGACY_PCM) &&
|
||||
(fdai->passthr_mode != LISTEN))
|
||||
path_type = ADM_PATH_COMPRESSED_TX;
|
||||
else
|
||||
path_type = ADM_PATH_LIVE_REC;
|
||||
session_type = SESSION_TYPE_TX;
|
||||
}
|
||||
|
||||
is_lsm = (i >= MSM_FRONTEND_DAI_LSM1) &&
|
||||
(i <= MSM_FRONTEND_DAI_LSM8);
|
||||
fdai = &fe_dai_map[i][session_type];
|
||||
if (fdai->strm_id != INVALID_SESSION) {
|
||||
int app_type, app_type_idx, copp_idx, acdb_dev_id;
|
||||
|
||||
@@ -22533,12 +22522,9 @@ static int msm_pcm_routing_prepare(struct snd_pcm_substream *substream)
|
||||
topology = msm_routing_get_adm_topology(i, session_type,
|
||||
be_id);
|
||||
|
||||
if ((bedai->passthr_mode[i] ==
|
||||
COMPRESSED_PASSTHROUGH_DSD)
|
||||
|| (bedai->passthr_mode[i] ==
|
||||
COMPRESSED_PASSTHROUGH_GEN)
|
||||
|| (bedai->passthr_mode[i] ==
|
||||
COMPRESSED_PASSTHROUGH_IEC61937))
|
||||
if ((fdai->passthr_mode == COMPRESSED_PASSTHROUGH_DSD)
|
||||
|| (fdai->passthr_mode == COMPRESSED_PASSTHROUGH_GEN)
|
||||
|| (fdai->passthr_mode == COMPRESSED_PASSTHROUGH_IEC61937))
|
||||
topology = COMPRESSED_PASSTHROUGH_NONE_TOPOLOGY;
|
||||
|
||||
copp_idx = adm_open(bedai->port_id, path_type,
|
||||
@@ -22564,10 +22550,9 @@ static int msm_pcm_routing_prepare(struct snd_pcm_substream *substream)
|
||||
bedai->sample_rate);
|
||||
|
||||
msm_pcm_routing_build_matrix(i, session_type, path_type,
|
||||
fdai->perf_mode,
|
||||
bedai->passthr_mode[i]);
|
||||
fdai->perf_mode, fdai->passthr_mode);
|
||||
if ((fdai->perf_mode == LEGACY_PCM_MODE) &&
|
||||
(bedai->passthr_mode[i] == LEGACY_PCM))
|
||||
(fdai->passthr_mode == LEGACY_PCM))
|
||||
msm_pcm_routing_cfg_pp(bedai->port_id, copp_idx,
|
||||
topology, channels);
|
||||
}
|
||||
@@ -22638,7 +22623,7 @@ static int msm_routing_send_device_pp_params(int port_id, int copp_idx,
|
||||
int index, topo_id, be_idx;
|
||||
unsigned long pp_config = 0;
|
||||
bool mute_on;
|
||||
int latency;
|
||||
int latency, session_type;
|
||||
bool compr_passthr_mode = true;
|
||||
|
||||
pr_debug("%s: port_id %d, copp_idx %d\n", __func__, port_id, copp_idx);
|
||||
@@ -22676,8 +22661,12 @@ static int msm_routing_send_device_pp_params(int port_id, int copp_idx,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if ((msm_bedais[be_idx].passthr_mode[fe_id] == LEGACY_PCM) ||
|
||||
(msm_bedais[be_idx].passthr_mode[fe_id] == LISTEN))
|
||||
session_type =
|
||||
(afe_get_port_type(port_id) == MSM_AFE_PORT_TYPE_RX) ?
|
||||
SESSION_TYPE_RX : SESSION_TYPE_TX;
|
||||
|
||||
if ((fe_dai_map[fe_id][session_type].passthr_mode == LEGACY_PCM) ||
|
||||
(fe_dai_map[fe_id][session_type].passthr_mode == LISTEN))
|
||||
compr_passthr_mode = false;
|
||||
|
||||
pp_config = msm_bedais_pp_params[index].pp_params_config;
|
||||
@@ -22764,7 +22753,7 @@ static int msm_routing_put_device_pp_params_mixer(struct snd_kcontrol *kcontrol,
|
||||
int port_id = 0;
|
||||
int index, be_idx, i, topo_id, idx;
|
||||
bool mute;
|
||||
int latency;
|
||||
int latency, session_type;
|
||||
bool compr_passthr_mode = true;
|
||||
|
||||
pr_debug("%s: pp_id: 0x%x\n", __func__, pp_id);
|
||||
@@ -22790,10 +22779,14 @@ static int msm_routing_put_device_pp_params_mixer(struct snd_kcontrol *kcontrol,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
session_type =
|
||||
(afe_get_port_type(port_id) == MSM_AFE_PORT_TYPE_RX) ?
|
||||
SESSION_TYPE_RX : SESSION_TYPE_TX;
|
||||
|
||||
for_each_set_bit(i, &msm_bedais[be_idx].fe_sessions[0],
|
||||
MSM_FRONTEND_DAI_MM_SIZE) {
|
||||
if ((msm_bedais[be_idx].passthr_mode[i] == LEGACY_PCM) ||
|
||||
(msm_bedais[be_idx].passthr_mode[i] == LISTEN))
|
||||
if ((fe_dai_map[i][session_type].passthr_mode == LEGACY_PCM) ||
|
||||
(fe_dai_map[i][session_type].passthr_mode == LISTEN))
|
||||
compr_passthr_mode = false;
|
||||
|
||||
for (idx = 0; idx < MAX_COPPS_PER_PORT; idx++) {
|
||||
@@ -22808,7 +22801,7 @@ static int msm_routing_put_device_pp_params_mixer(struct snd_kcontrol *kcontrol,
|
||||
continue;
|
||||
pr_debug("%s: port: 0x%x, copp %ld, be active: %d, passt: %d\n",
|
||||
__func__, port_id, copp, msm_bedais[be_idx].active,
|
||||
msm_bedais[be_idx].passthr_mode[i]);
|
||||
fe_dai_map[i][session_type].passthr_mode);
|
||||
switch (pp_id) {
|
||||
case ADM_PP_PARAM_MUTE_ID:
|
||||
pr_debug("%s: ADM_PP_PARAM_MUTE\n", __func__);
|
||||
|
||||
@@ -523,7 +523,6 @@ struct msm_pcm_routing_bdai_data {
|
||||
unsigned int channel;
|
||||
unsigned int format;
|
||||
unsigned int adm_override_ch;
|
||||
u32 passthr_mode[MSM_FRONTEND_DAI_MAX];
|
||||
char *name;
|
||||
};
|
||||
|
||||
@@ -532,6 +531,7 @@ struct msm_pcm_routing_fdai_data {
|
||||
int strm_id; /* ASM stream ID */
|
||||
int perf_mode;
|
||||
struct msm_pcm_routing_evt event_info;
|
||||
u32 passthr_mode;
|
||||
};
|
||||
|
||||
#define MAX_APP_TYPES 16
|
||||
|
||||
Reference in New Issue
Block a user