asoc: codec: Add surge reset routine for wcd939x

Enable wcd939x surge reset routine. Add callback for
the event within mbhc and enable it for wcd939x.

Change-Id: Iabc8c3367ae2eca5982db4526c6860e5eba63b76
Signed-off-by: Eric Rosas <quic_erosas@quicinc.com>
This commit is contained in:
Eric Rosas
2023-05-23 14:35:09 -07:00
کامیت شده توسط Sam Rainey
والد 007970b602
کامیت 4d7a95f88e
3فایلهای تغییر یافته به همراه15 افزوده شده و 2 حذف شده

مشاهده پرونده

@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/module.h>
#include <linux/init.h>
@@ -808,6 +808,14 @@ static void wcd939x_mbhc_bcs_enable(struct wcd_mbhc *mbhc,
wcd939x_disable_bcs_before_slow_insert(mbhc->component, true);
}
static void wcd939x_surge_reset_routine(struct wcd_mbhc *mbhc)
{
struct wcd939x_priv *wcd939x = snd_soc_component_get_drvdata(mbhc->component);
regcache_mark_dirty(wcd939x->regmap);
regcache_sync(wcd939x->regmap);
}
static const struct wcd_mbhc_cb mbhc_cb = {
.request_irq = wcd939x_mbhc_request_irq,
.irq_control = wcd939x_mbhc_irq_control,
@@ -833,6 +841,7 @@ static const struct wcd_mbhc_cb mbhc_cb = {
.mbhc_moisture_polling_ctrl = wcd939x_mbhc_moisture_polling_ctrl,
.mbhc_moisture_detect_en = wcd939x_mbhc_moisture_detect_en,
.bcs_enable = wcd939x_mbhc_bcs_enable,
.surge_reset_routine = wcd939x_surge_reset_routine,
};
static int wcd939x_get_hph_type(struct snd_kcontrol *kcontrol,