Merge "ASoC: mbhc-adc: Prevent lineout from being reported two times"

This commit is contained in:
qctecmdr 2021-10-21 07:36:07 -07:00 • committed by Gerrit - the friendly Code Review server
commit 997c13ca29

View file

@ -453,7 +453,8 @@ static bool wcd_mbhc_adc_check_for_spl_headset(struct wcd_mbhc *mbhc,
adc_hph_threshold = wcd_mbhc_adc_get_hph_thres(mbhc);
if (output_mv > adc_threshold || output_mv < adc_hph_threshold) {
spl_hs = false;
if (mbhc->force_linein == true)
spl_hs = false;
} else {
spl_hs = true;
if (spl_hs_cnt)
@ -515,9 +516,12 @@ static bool wcd_is_special_headset(struct wcd_mbhc *mbhc)
msleep(50);
output_mv = wcd_measure_adc_once(mbhc, MUX_CTL_IN2P);
if (output_mv <= adc_threshold) {
pr_debug("%s: Special headset detected in %d msecs\n",
__func__, delay);
is_spl_hs = true;
if (mbhc->force_linein != true) {
pr_debug(
"%s: Special headset detected in %d msecs\n",
__func__, delay);
is_spl_hs = true;
}
}
if (delay == SPECIAL_HS_DETECT_TIME_MS) {
@ -831,7 +835,7 @@ correct_plug_type:
}
}
if (output_mv > hs_threshold) {
if (output_mv > hs_threshold || mbhc->force_linein == true) {
pr_debug("%s: cable is extension cable\n", __func__);
plug_type = MBHC_PLUG_TYPE_HIGH_HPH;
wrk_complete = true;