Loading sound/soc/codecs/wcd934x/wcd934x.c +16 −4 Original line number Diff line number Diff line Loading @@ -5116,14 +5116,18 @@ static int tavil_mad_input_put(struct snd_kcontrol *kcontrol, u32 adc, i, mic_bias_found = 0; int ret = 0; char *mad_input; bool is_adc2_input = false; tavil_mad_input = ucontrol->value.integer.value[0]; if (strnstr(tavil_conn_mad_text[tavil_mad_input], "NOTUSED", sizeof("NOTUSED"))) { dev_err(codec->dev, dev_dbg(codec->dev, "%s: Unsupported tavil_mad_input = %s\n", __func__, tavil_conn_mad_text[tavil_mad_input]); /* Make sure the MAD register is updated */ snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x88, 0x00); return -EINVAL; } Loading Loading @@ -5152,14 +5156,16 @@ static int tavil_mad_input_put(struct snd_kcontrol *kcontrol, snprintf(mad_amic_input_widget, 6, "%s%u", "AMIC", adc); mad_input_widget = mad_amic_input_widget; if (adc == 2) is_adc2_input = true; } else { /* DMIC type input widget*/ mad_input_widget = tavil_conn_mad_text[tavil_mad_input]; } dev_dbg(codec->dev, "%s: tavil input widget = %s\n", __func__, mad_input_widget); "%s: tavil input widget = %s, adc_input = %s\n", __func__, mad_input_widget, is_adc2_input ? "true" : "false"); for (i = 0; i < card->num_of_dapm_routes; i++) { if (!strcmp(card->of_dapm_routes[i].sink, mad_input_widget)) { Loading Loading @@ -5204,7 +5210,13 @@ static int tavil_mad_input_put(struct snd_kcontrol *kcontrol, 0x0F, tavil_mad_input); snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x07, mic_bias_found); /* for adc2 input, mad should be in micbias mode with BG enabled */ if (is_adc2_input) snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x88, 0x88); else snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x88, 0x00); return 0; } Loading Loading
sound/soc/codecs/wcd934x/wcd934x.c +16 −4 Original line number Diff line number Diff line Loading @@ -5116,14 +5116,18 @@ static int tavil_mad_input_put(struct snd_kcontrol *kcontrol, u32 adc, i, mic_bias_found = 0; int ret = 0; char *mad_input; bool is_adc2_input = false; tavil_mad_input = ucontrol->value.integer.value[0]; if (strnstr(tavil_conn_mad_text[tavil_mad_input], "NOTUSED", sizeof("NOTUSED"))) { dev_err(codec->dev, dev_dbg(codec->dev, "%s: Unsupported tavil_mad_input = %s\n", __func__, tavil_conn_mad_text[tavil_mad_input]); /* Make sure the MAD register is updated */ snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x88, 0x00); return -EINVAL; } Loading Loading @@ -5152,14 +5156,16 @@ static int tavil_mad_input_put(struct snd_kcontrol *kcontrol, snprintf(mad_amic_input_widget, 6, "%s%u", "AMIC", adc); mad_input_widget = mad_amic_input_widget; if (adc == 2) is_adc2_input = true; } else { /* DMIC type input widget*/ mad_input_widget = tavil_conn_mad_text[tavil_mad_input]; } dev_dbg(codec->dev, "%s: tavil input widget = %s\n", __func__, mad_input_widget); "%s: tavil input widget = %s, adc_input = %s\n", __func__, mad_input_widget, is_adc2_input ? "true" : "false"); for (i = 0; i < card->num_of_dapm_routes; i++) { if (!strcmp(card->of_dapm_routes[i].sink, mad_input_widget)) { Loading Loading @@ -5204,7 +5210,13 @@ static int tavil_mad_input_put(struct snd_kcontrol *kcontrol, 0x0F, tavil_mad_input); snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x07, mic_bias_found); /* for adc2 input, mad should be in micbias mode with BG enabled */ if (is_adc2_input) snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x88, 0x88); else snd_soc_update_bits(codec, WCD934X_ANA_MAD_SETUP, 0x88, 0x00); return 0; } Loading