soc: mstr-ctrl: Retain Audio_HM voting until suspend

Restore change to retain audio_hm voting and
ensure AOP hang issue not seen by masking interrupt
wakeup of swr pinctrl pins.

Change-Id: I51bf36d6d6b0999abf10a4bc94cce900d1adf1d5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
This commit is contained in:
Laxminath Kasam
2020-04-28 00:02:32 +05:30
parent 61f235e5bd
commit d02c7efb35
6 changed files with 51 additions and 18 deletions

View File

@@ -115,6 +115,7 @@ struct swr_ctrl_platform_data {
int (*core_vote)(void *handle, bool enable);
int (*reg_irq)(void *handle, irqreturn_t(*irq_handler)(int irq,
void *data), void *swr_handle, int type);
int (*pinctrl_setup)(void *handle, bool enable);
};
struct swr_mstr_ctrl {
@@ -148,6 +149,7 @@ struct swr_mstr_ctrl {
int (*core_vote)(void *handle, bool enable);
int (*reg_irq)(void *handle, irqreturn_t(*irq_handler)(int irq,
void *data), void *swr_handle, int type);
int (*pinctrl_setup)(void *handle, bool enable);
int irq;
int wake_irq;
int version;
@@ -173,8 +175,10 @@ struct swr_mstr_ctrl {
u32 clk_stop_mode0_supp;
struct work_struct wakeup_work;
u32 ipc_wakeup;
u32 dmic_sva;
bool dev_up;
bool ipc_wakeup_triggered;
bool aud_core_err;
struct pm_qos_request pm_qos_req;
enum swrm_pm_state pm_state;
wait_queue_head_t pm_wq;