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

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

ASoC: wcd937x: Fix headset record pop during SSR



Pop is heard with special headset with silence record
during SSR. Resolve pop by allowing sufficient time for
wcd937x_reset post SSR and again initialize registers
post SSR.

Change-Id: I80e70a98a72b247dca878673a30651647b676659
Signed-off-by: default avatarVatsal Bucha <vbucha@codeaurora.org>
parent d155d7f5
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -1596,14 +1596,13 @@ static int wcd937x_event_notify(struct notifier_block *block,
		break;
		break;
	case BOLERO_WCD_EVT_SSR_UP:
	case BOLERO_WCD_EVT_SSR_UP:
		wcd937x_reset(wcd937x->dev);
		wcd937x_reset(wcd937x->dev);
		/* allow reset to take effect */
		usleep_range(10000, 10010);
		wcd937x_get_logical_addr(wcd937x->tx_swr_dev);
		wcd937x_get_logical_addr(wcd937x->tx_swr_dev);
		wcd937x_get_logical_addr(wcd937x->rx_swr_dev);
		wcd937x_get_logical_addr(wcd937x->rx_swr_dev);
		wcd937x_init_reg(component);
		regcache_mark_dirty(wcd937x->regmap);
		regcache_mark_dirty(wcd937x->regmap);
		regcache_sync(wcd937x->regmap);
		regcache_sync(wcd937x->regmap);
		/* Enable surge protection */
		snd_soc_component_update_bits(component,
				WCD937X_HPH_SURGE_HPHLR_SURGE_EN,
				0xFF, 0xD9);
		/* Initialize MBHC module */
		/* Initialize MBHC module */
		mbhc = &wcd937x->mbhc->wcd_mbhc;
		mbhc = &wcd937x->mbhc->wcd_mbhc;
		ret = wcd937x_mbhc_post_ssr_init(wcd937x->mbhc, component);
		ret = wcd937x_mbhc_post_ssr_init(wcd937x->mbhc, component);