ASoC: wcd937x: Fix audio distortion issue during headset record

Audio is distorted during first 3 secs on headset record
while doing device switch from dmic to headset mic.
Disable BCS before slow insertion detection and enable it
afterwards to resolve the issue.

Change-Id: Icb18a0b5decb0c0bd9959bce7cced70a27566d41
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
This commit is contained in:
Vatsal Bucha
2019-10-23 12:32:29 +05:30
committed by Gerrit - the friendly Code Review server
parent 2e421b5771
commit a9675d1a5d
3 changed files with 29 additions and 0 deletions

View File

@@ -133,6 +133,7 @@ enum {
WCD_BOLERO_EVT_RX_MUTE = 1, /* for RX mute/unmute */
WCD_BOLERO_EVT_IMPED_TRUE, /* for imped true */
WCD_BOLERO_EVT_IMPED_FALSE, /* for imped false */
WCD_BOLERO_EVT_BCS_CLK_OFF,
};
enum {
@@ -164,6 +165,9 @@ enum {
WCD937X_NUM_IRQS,
};
extern void wcd937x_disable_bcs_before_slow_insert(
struct snd_soc_component *component,
bool bcs_disable);
extern struct wcd937x_mbhc *wcd937x_soc_get_mbhc(
struct snd_soc_component *component);
extern int wcd937x_mbhc_micb_adjust_voltage(struct snd_soc_component *component,