soc: swr-mstr: Fix headset detection during sva clk switch

Headset insertion/removal is not detected sometime due to
fifo read failure due to swr underflow. This is because if
headset sva is enabled, during clk switch swr force stop
happens and if mbhc has already taken pm vote for 3sec
further mbhc reads/writes will fail. If swr is in clk switch
mode then call swrm runtime_resume during reads/writes
to resolve issue.

Change-Id: I0d65869bd1c645bbf7ded9c0265f8d7de0dc624b
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
This commit is contained in:
Vatsal Bucha
2020-06-08 10:41:56 +05:30
committed by Gerrit - the friendly Code Review server
parent 700bd78ede
commit f0c7f88868
2 changed files with 25 additions and 8 deletions

View File

@@ -179,6 +179,7 @@ struct swr_mstr_ctrl {
bool dev_up;
bool ipc_wakeup_triggered;
bool aud_core_err;
bool req_clk_switch;
struct pm_qos_request pm_qos_req;
enum swrm_pm_state pm_state;
wait_queue_head_t pm_wq;