mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
soc: reduce the auto suspend timeout when swr event finished
the APSS would suspend within ~120ms after audio off, if system suspend swrm_suspend() is called before swrm_runtime_suspend. The clock stop sequence require writing IPC and expect interrupt, which would stop the APSS to be suspended. Reduce the auto suspend time specifically when swr event is done can call the swrm_runtime_suspend Change-Id: Iee0c9143d65e5a8e68a8e20ab73bea9def1920bd Signed-off-by: Junkai Cai <junkai@codeaurora.org> Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
This commit is contained in:
parent
fad96773ea
commit
5b1fd59531
1 changed files with 6 additions and 1 deletions
|
|
@ -1,7 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
|
@ -1738,6 +1738,8 @@ static int swrm_slvdev_datapath_control(struct swr_master *master, bool enable)
|
|||
dev_dbg(&master->dev, "%s: pm_runtime auto suspend triggered\n",
|
||||
__func__);
|
||||
pm_runtime_mark_last_busy(swrm->dev);
|
||||
if (!enable)
|
||||
pm_runtime_set_autosuspend_delay(swrm->dev, 80);
|
||||
pm_runtime_put_autosuspend(swrm->dev);
|
||||
}
|
||||
exit:
|
||||
|
|
@ -3327,6 +3329,9 @@ exit:
|
|||
if (!hw_core_err)
|
||||
swrm_request_hw_vote(swrm, LPASS_HW_CORE, false);
|
||||
mutex_unlock(&swrm->reslock);
|
||||
dev_dbg(dev, "%s: pm_runtime: suspend done state: %d\n",
|
||||
__func__, swrm->state);
|
||||
pm_runtime_set_autosuspend_delay(dev, auto_suspend_timer);
|
||||
return ret;
|
||||
}
|
||||
#endif /* CONFIG_PM */
|
||||
|
|
|
|||
Loading…
Reference in a new issue