mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
soc: pinctrl-lpi: Suspend sooner if resume fails
If PM runtime resume fails, hardware vote will not happen until it is suspended. So in error scenarios set for a lesser suspend delay so that voting can happen sooner. Change-Id: Ia4175535e45ec291292b8d8656146826ffd05a26 Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
This commit is contained in:
parent
1d750fe50f
commit
5f59d6c904
1 changed files with 9 additions and 2 deletions
|
|
@ -23,6 +23,7 @@
|
|||
#include "pinctrl-utils.h"
|
||||
|
||||
#define LPI_AUTO_SUSPEND_DELAY 100 /* delay in msec */
|
||||
#define LPI_AUTO_SUSPEND_DELAY_ERROR 1 /* delay in msec */
|
||||
|
||||
#define LPI_ADDRESS_SIZE 0x20000
|
||||
#define LPI_SLEW_ADDRESS_SIZE 0x1000
|
||||
|
|
@ -824,13 +825,19 @@ int lpi_pinctrl_runtime_resume(struct device *dev)
|
|||
|
||||
mutex_lock(&state->core_hw_vote_lock);
|
||||
ret = clk_prepare_enable(state->lpass_core_hw_vote);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
pm_runtime_set_autosuspend_delay(dev,
|
||||
LPI_AUTO_SUSPEND_DELAY_ERROR);
|
||||
dev_err(dev, "%s:lpass core hw island enable failed\n",
|
||||
__func__);
|
||||
else
|
||||
goto exit;
|
||||
} else {
|
||||
state->core_hw_vote_status = true;
|
||||
}
|
||||
|
||||
pm_runtime_set_autosuspend_delay(dev, LPI_AUTO_SUSPEND_DELAY);
|
||||
|
||||
exit:
|
||||
mutex_unlock(&state->core_hw_vote_lock);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue