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>
Tento commit je obsažen v:
Dhananjay Kumar
2018-09-05 20:04:23 +05:30
rodič 53f339b53b
revize 3d8cc2ed33
2 změnil soubory, kde provedl 315 přidání a 322 odebrání

Zobrazit soubor

@@ -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