asoc: kona: update sound wire port frame config routing
update sound wire port frame config routing to ensure use correct port config for device with no WCD. Change-Id: I1746323230064f51020850cf8e1dbf2c29977bed Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
This commit is contained in:
39
asoc/kona.c
39
asoc/kona.c
@@ -5444,6 +5444,7 @@ static int msm_int_audrx_init(struct snd_soc_pcm_runtime *rtd)
|
|||||||
struct snd_soc_component *aux_comp;
|
struct snd_soc_component *aux_comp;
|
||||||
struct platform_device *pdev = NULL;
|
struct platform_device *pdev = NULL;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
bool is_wcd937x_used = false;
|
||||||
char *data = NULL;
|
char *data = NULL;
|
||||||
struct msm_asoc_mach_data *pdata =
|
struct msm_asoc_mach_data *pdata =
|
||||||
snd_soc_card_get_drvdata(rtd->card);
|
snd_soc_card_get_drvdata(rtd->card);
|
||||||
@@ -5545,33 +5546,29 @@ static int msm_int_audrx_init(struct snd_soc_pcm_runtime *rtd)
|
|||||||
if (data != NULL) {
|
if (data != NULL) {
|
||||||
if (!strncmp(data, "wcd937x",
|
if (!strncmp(data, "wcd937x",
|
||||||
sizeof("wcd937x"))) {
|
sizeof("wcd937x"))) {
|
||||||
bolero_set_port_map(component,
|
is_wcd937x_used = true;
|
||||||
ARRAY_SIZE(sm_port_map_wcd937x),
|
|
||||||
sm_port_map_wcd937x);
|
|
||||||
break;
|
|
||||||
} else if (!strncmp( data, "wcd938x",
|
|
||||||
sizeof("wcd938x"))) {
|
|
||||||
if (pdata->lito_v2_enabled) {
|
|
||||||
/*
|
|
||||||
* Enable tx data line3 for
|
|
||||||
* saipan version v2 and
|
|
||||||
* write corresponding
|
|
||||||
* lpi register.
|
|
||||||
*/
|
|
||||||
bolero_set_port_map(component,
|
|
||||||
ARRAY_SIZE(sm_port_map_v2),
|
|
||||||
sm_port_map_v2);
|
|
||||||
} else {
|
|
||||||
bolero_set_port_map(component,
|
|
||||||
ARRAY_SIZE(sm_port_map),
|
|
||||||
sm_port_map);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_wcd937x_used) {
|
||||||
|
bolero_set_port_map(component,
|
||||||
|
ARRAY_SIZE(sm_port_map_wcd937x),
|
||||||
|
sm_port_map_wcd937x);
|
||||||
|
} else if (pdata->lito_v2_enabled) {
|
||||||
|
/*
|
||||||
|
* Enable tx data line3 for saipan version v2 and
|
||||||
|
* write corresponding lpi register.
|
||||||
|
*/
|
||||||
|
bolero_set_port_map(component, ARRAY_SIZE(sm_port_map_v2),
|
||||||
|
sm_port_map_v2);
|
||||||
|
} else {
|
||||||
|
bolero_set_port_map(component, ARRAY_SIZE(sm_port_map),
|
||||||
|
sm_port_map);
|
||||||
|
}
|
||||||
|
|
||||||
card = rtd->card->snd_card;
|
card = rtd->card->snd_card;
|
||||||
if (!pdata->codec_root) {
|
if (!pdata->codec_root) {
|
||||||
entry = msm_snd_info_create_subdir(card->module, "codecs",
|
entry = msm_snd_info_create_subdir(card->module, "codecs",
|
||||||
|
Reference in New Issue
Block a user