From 85af5caae6a8d1869a165959a290e73451afc6d3 Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Mon, 11 Mar 2019 14:33:22 +0530 Subject: [PATCH] asoc: sm6150: Fix to apply wsa8810 gain settings In trinket, wsa8810 variant show higher current. As wsa8815 settings applied for wsa8810 variant causing the issue. Update wsa aux codec matching logic in machine driver to apply proper gain settings for wsa8810 variant. CRs-Fixed: 2406074 Change-Id: I5916ae7ea8e91aad4e0be6486502f5fcd8a96ff3 Signed-off-by: Laxminath Kasam --- asoc/sm6150.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/asoc/sm6150.c b/asoc/sm6150.c index 11bb6115d0..6a6597ab87 100644 --- a/asoc/sm6150.c +++ b/asoc/sm6150.c @@ -5150,14 +5150,16 @@ static int msm_int_audrx_init(struct snd_soc_pcm_runtime *rtd) __func__, rtd->card->num_aux_devs); if (rtd->card->num_aux_devs && !list_empty(&rtd->card->aux_comp_list)) { - aux_comp = list_first_entry(&rtd->card->aux_comp_list, - struct snd_soc_component, card_aux_list); - if (!strcmp(aux_comp->name, WSA8810_NAME_1) || - !strcmp(aux_comp->name, WSA8810_NAME_2)) { - wsa_macro_set_spkr_mode(component, - WSA_MACRO_SPKR_MODE_1); - wsa_macro_set_spkr_gain_offset(component, - WSA_MACRO_GAIN_OFFSET_M1P5_DB); + list_for_each_entry(aux_comp, &rtd->card->aux_comp_list, + card_aux_list) { + if (!strcmp(aux_comp->name, WSA8810_NAME_1) || + !strcmp(aux_comp->name, WSA8810_NAME_2)) { + wsa_macro_set_spkr_mode(component, + WSA_MACRO_SPKR_MODE_1); + wsa_macro_set_spkr_gain_offset(component, + WSA_MACRO_GAIN_OFFSET_M1P5_DB); + break; + } } } card = rtd->card->snd_card;