summaryrefslogtreecommitdiff
path: root/asoc
diff options
context:
space:
mode:
authorLaxminath Kasam <lkasam@codeaurora.org>2020-11-02 10:56:07 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2020-11-05 00:44:22 -0800
commit36bf29967ea5c9fdc2b6f24464cd281f62b01325 (patch)
tree75b46531dc3afc21597591a0cfa19fc2eafb917d /asoc
parent73a7b9379c46461f7e65310a4bdff09380b4da6a (diff)
downloadmsm-extra-36bf29967ea5c9fdc2b6f24464cd281f62b01325.tar.gz
asoc: bolero: control wakeup of swr_tx during clock setup
Move the enable and disable of wakeup capability of swr_tx gpios to clock setup to disable or enable it in all required usecases. Change-Id: I9fb76926d8520c382e7f19777190357c50f98994 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Diffstat (limited to 'asoc')
-rw-r--r--asoc/codecs/bolero/tx-macro.c8
-rw-r--r--asoc/codecs/bolero/va-macro.c14
2 files changed, 12 insertions, 10 deletions
diff --git a/asoc/codecs/bolero/tx-macro.c b/asoc/codecs/bolero/tx-macro.c
index 158f3500..7e982fac 100644
--- a/asoc/codecs/bolero/tx-macro.c
+++ b/asoc/codecs/bolero/tx-macro.c
@@ -2445,11 +2445,7 @@ static int tx_macro_register_event_listener(struct snd_soc_component *component,
ret = swrm_wcd_notify(
tx_priv->swr_ctrl_data[0].tx_swr_pdev,
SWR_REGISTER_WAKEUP, NULL);
- msm_cdc_pinctrl_set_wakeup_capable(
- tx_priv->tx_swr_gpio_p, false);
} else {
- msm_cdc_pinctrl_set_wakeup_capable(
- tx_priv->tx_swr_gpio_p, true);
ret = swrm_wcd_notify(
tx_priv->swr_ctrl_data[0].tx_swr_pdev,
SWR_DEREGISTER_WAKEUP, NULL);
@@ -2484,6 +2480,8 @@ static int tx_macro_tx_va_mclk_enable(struct tx_macro_priv *tx_priv,
__func__);
goto exit;
}
+ msm_cdc_pinctrl_set_wakeup_capable(
+ tx_priv->tx_swr_gpio_p, false);
}
clk_tx_ret = bolero_clk_rsc_request_clock(tx_priv->dev,
@@ -2612,6 +2610,8 @@ tx_clk:
TX_CORE_CLK,
false);
if (tx_priv->swr_clk_users == 0) {
+ msm_cdc_pinctrl_set_wakeup_capable(
+ tx_priv->tx_swr_gpio_p, true);
ret = msm_cdc_pinctrl_select_sleep_state(
tx_priv->tx_swr_gpio_p);
if (ret < 0) {
diff --git a/asoc/codecs/bolero/va-macro.c b/asoc/codecs/bolero/va-macro.c
index 5ce2ec12..d5966cd2 100644
--- a/asoc/codecs/bolero/va-macro.c
+++ b/asoc/codecs/bolero/va-macro.c
@@ -402,12 +402,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(
@@ -563,9 +559,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 +657,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;