summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorFrank Luo <luofrank@google.com>2018-11-20 15:33:34 +0800
committerGeorg Veichtlbauer <georg@vware.at>2023-07-16 13:06:51 +0200
commit997b726bc092e29a9c6bf5f8925c98defc69a6cd (patch)
tree5374dfb307068413ea1a9113d1938acaf9ee22e8 /drivers
parentb933e4d37bc023d27c7394626669bae0a201da52 (diff)
kernel: power: Workaround for sensor ipc message causing high power consume
Sync from Qcom's document KBA-180725024109 To avoid the non-wakeup type sensor data break the AP sleep flow, notify sensor subsystem in the first place of pm_suspend . Bug: 118418963 Test: measure power consumption after running test case Change-Id: I2848230d495e30ac462aef148b3f885103d9c24e Signed-off-by: Frank Luo <luofrank@google.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/soc/qcom/smp2p_sleepstate.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/soc/qcom/smp2p_sleepstate.c b/drivers/soc/qcom/smp2p_sleepstate.c
index 2ef25e48ce50..1f0809b61220 100644
--- a/drivers/soc/qcom/smp2p_sleepstate.c
+++ b/drivers/soc/qcom/smp2p_sleepstate.c
@@ -20,7 +20,8 @@
#define SET_DELAY (2 * HZ)
#define PROC_AWAKE_ID 12 /* 12th bit */
-static int slst_gpio_base_id;
+int slst_gpio_base_id;
+
/**
* sleepstate_pm_notifier() - PM notifier callback function.
@@ -36,13 +37,11 @@ static int sleepstate_pm_notifier(struct notifier_block *nb,
{
switch (event) {
case PM_SUSPEND_PREPARE:
- gpio_set_value(slst_gpio_base_id + PROC_AWAKE_ID, 0);
msleep(25); /* To be tuned based on SMP2P latencies */
msm_ipc_router_set_ws_allowed(true);
break;
case PM_POST_SUSPEND:
- gpio_set_value(slst_gpio_base_id + PROC_AWAKE_ID, 1);
msleep(25); /* To be tuned based on SMP2P latencies */
msm_ipc_router_set_ws_allowed(false);
break;