Revert "soc: mstr-ctrl: Retain Audio_HM voting until suspend"
This reverts commits ea6cbeeb1ad818c8c7907252409edb306c81d0ae
and b06236e6377a48282b59410e0440b8be6d83095f.
Change-Id: I0b8b44bc5cca6bef6bc18c228f08a9c585c79c1c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c
index 2e7779a..998cddc 100644
--- a/soc/swr-mstr-ctrl.c
+++ b/soc/swr-mstr-ctrl.c
@@ -2573,8 +2573,6 @@
ret = -EINVAL;
goto err_pdata_fail;
}
- swrm->pinctrl_setup = pdata->pinctrl_setup;
-
if (of_property_read_u32(pdev->dev.of_node,
"qcom,swr-clock-stop-mode0",
&swrm->clk_stop_mode0_supp)) {
@@ -2907,6 +2905,7 @@
int ret = 0;
bool swrm_clk_req_err = false;
bool hw_core_err = false;
+ bool aud_core_err = false;
struct swr_master *mstr = &swrm->master;
struct swr_device *swr_dev;
@@ -2924,7 +2923,7 @@
if (swrm_request_hw_vote(swrm, LPASS_AUDIO_CORE, true)) {
dev_err(dev, "%s:lpass audio hw enable failed\n",
__func__);
- swrm->aud_core_err = true;
+ aud_core_err = true;
}
if ((swrm->state == SWR_MSTR_DOWN) ||
@@ -2943,9 +2942,6 @@
irq_get_irq_data(swrm->wake_irq)))
disable_irq_nosync(swrm->wake_irq);
mutex_unlock(&swrm->irq_lock);
- if (swrm->dmic_sva && swrm->pinctrl_setup)
- swrm->pinctrl_setup(swrm->handle,
- false);
}
if (swrm->ipc_wakeup)
msm_aud_evt_blocking_notifier_call_chain(
@@ -3013,7 +3009,7 @@
swrm->state = SWR_MSTR_UP;
}
exit:
- if (ret && !swrm->aud_core_err)
+ if (!aud_core_err)
swrm_request_hw_vote(swrm, LPASS_AUDIO_CORE, false);
if (!hw_core_err)
swrm_request_hw_vote(swrm, LPASS_HW_CORE, false);
@@ -3038,6 +3034,7 @@
struct swr_mstr_ctrl *swrm = platform_get_drvdata(pdev);
int ret = 0;
bool hw_core_err = false;
+ bool aud_core_err = false;
struct swr_master *mstr = &swrm->master;
struct swr_device *swr_dev;
int current_state = 0;
@@ -3056,6 +3053,11 @@
__func__);
hw_core_err = true;
}
+ if (swrm_request_hw_vote(swrm, LPASS_AUDIO_CORE, true)) {
+ dev_err(dev, "%s:lpass audio hw enable failed\n",
+ __func__);
+ aud_core_err = true;
+ }
if ((current_state == SWR_MSTR_UP) ||
(current_state == SWR_MSTR_SSR)) {
@@ -3140,8 +3142,6 @@
if (swrm->clk_stop_mode0_supp) {
if (swrm->wake_irq > 0) {
- if (swrm->dmic_sva && swrm->pinctrl_setup)
- swrm->pinctrl_setup(swrm->handle, true);
enable_irq(swrm->wake_irq);
} else if (swrm->ipc_wakeup) {
msm_aud_evt_blocking_notifier_call_chain(
@@ -3155,11 +3155,10 @@
if (current_state != SWR_MSTR_SSR)
swrm->state = SWR_MSTR_DOWN;
exit:
- if (!swrm->aud_core_err)
+ if (!aud_core_err)
swrm_request_hw_vote(swrm, LPASS_AUDIO_CORE, false);
if (!hw_core_err)
swrm_request_hw_vote(swrm, LPASS_HW_CORE, false);
- swrm->aud_core_err = false;
mutex_unlock(&swrm->reslock);
trace_printk("%s: pm_runtime: suspend done state: %d\n",
__func__, swrm->state);
@@ -3490,12 +3489,10 @@
case SWR_REGISTER_WAKEUP:
msm_aud_evt_blocking_notifier_call_chain(
SWR_WAKE_IRQ_REGISTER, (void *)swrm);
- swrm->dmic_sva = *(u32 *)data;
break;
case SWR_DEREGISTER_WAKEUP:
msm_aud_evt_blocking_notifier_call_chain(
SWR_WAKE_IRQ_DEREGISTER, (void *)swrm);
- swrm->dmic_sva = 0;
break;
case SWR_SET_PORT_MAP:
if (!data) {