summaryrefslogtreecommitdiff
path: root/asoc/codecs/bolero/va-macro.c
diff options
context:
space:
mode:
Diffstat (limited to 'asoc/codecs/bolero/va-macro.c')
-rw-r--r--asoc/codecs/bolero/va-macro.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/asoc/codecs/bolero/va-macro.c b/asoc/codecs/bolero/va-macro.c
index 5ce2ec12..2e369952 100644
--- a/asoc/codecs/bolero/va-macro.c
+++ b/asoc/codecs/bolero/va-macro.c
@@ -388,9 +388,6 @@ static int va_macro_swr_pwr_event_v2(struct snd_soc_dapm_widget *w,
dev_dbg(va_dev, "%s: event = %d, lpi_enable = %d\n",
__func__, event, va_priv->lpi_enable);
- if (!va_priv->lpi_enable)
- return ret;
-
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
if (va_priv->swr_ctrl_data) {
@@ -402,12 +399,8 @@ static int va_macro_swr_pwr_event_v2(struct snd_soc_dapm_widget *w,
dev_dbg(va_dev, "%s: clock switch failed\n",
__func__);
}
- msm_cdc_pinctrl_set_wakeup_capable(
- va_priv->va_swr_gpio_p, false);
break;
case SND_SOC_DAPM_POST_PMD:
- msm_cdc_pinctrl_set_wakeup_capable(
- va_priv->va_swr_gpio_p, true);
if (va_priv->swr_ctrl_data) {
clk_src = CLK_SRC_TX_RCG;
ret = swrm_wcd_notify(
@@ -441,9 +434,6 @@ static int va_macro_swr_pwr_event(struct snd_soc_dapm_widget *w,
dev_dbg(va_dev, "%s: event = %d, lpi_enable = %d\n",
__func__, event, va_priv->lpi_enable);
- if (!va_priv->lpi_enable)
- return ret;
-
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
if (va_priv->lpass_audio_hw_vote) {
@@ -563,9 +553,12 @@ static int va_macro_tx_va_mclk_enable(struct va_macro_priv *va_priv,
(enable ? "enable" : "disable"), va_priv->va_mclk_users);
if (enable) {
- if (va_priv->swr_clk_users == 0)
+ if (va_priv->swr_clk_users == 0) {
msm_cdc_pinctrl_select_active_state(
va_priv->va_swr_gpio_p);
+ msm_cdc_pinctrl_set_wakeup_capable(
+ va_priv->va_swr_gpio_p, false);
+ }
clk_tx_ret = bolero_clk_rsc_request_clock(va_priv->dev,
TX_CORE_CLK,
TX_CORE_CLK,
@@ -658,9 +651,12 @@ static int va_macro_tx_va_mclk_enable(struct va_macro_priv *va_priv,
TX_CORE_CLK,
TX_CORE_CLK,
false);
- if (va_priv->swr_clk_users == 0)
+ if (va_priv->swr_clk_users == 0) {
+ msm_cdc_pinctrl_set_wakeup_capable(
+ va_priv->va_swr_gpio_p, true);
msm_cdc_pinctrl_select_sleep_state(
va_priv->va_swr_gpio_p);
+ }
}
return 0;