Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b663b23 authored by Vatsal Bucha's avatar Vatsal Bucha Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: wcd-mbhc: Fix headset insert not detected after moisture config



Headset insertion is not detected after moisture is configured and then
removed. This is because during moisture_detect GND_DET_EN is configured
irrespective of whether it is enabled or not. Add a check before enabling
gnd_det_en. Also as moisture_en is disabled and duty cycle is enabled
change check during removal to disable threshold and polling.

Change-Id: Iee9d79b38b228e78d1509d59e92d37f1328f079e
Signed-off-by: default avatarVatsal Bucha <vbucha@codeaurora.org>
parent f277ee31
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -883,6 +883,7 @@ static bool wcd_mbhc_moisture_detect(struct wcd_mbhc *mbhc, bool detection_type)
					detection_type);
		ret = true;
		WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_L_DET_EN, 1);
		if (mbhc->mbhc_cfg->gnd_det_en)
			WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_GND_DET_EN, 1);
	} else {
		mbhc->mbhc_cb->mbhc_moisture_polling_ctrl(mbhc, false);
@@ -1023,7 +1024,7 @@ static void wcd_mbhc_swch_irq_handler(struct wcd_mbhc *mbhc)
					mbhc->component, false);
		}

		if (mbhc->mbhc_cfg->moisture_en &&
		if (mbhc->mbhc_cfg->moisture_en ||
		    mbhc->mbhc_cfg->moisture_duty_cycle_en) {
			if (mbhc->mbhc_cb->mbhc_moisture_polling_ctrl)
				mbhc->mbhc_cb->mbhc_moisture_polling_ctrl(mbhc,