summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2012-03-11 00:02:33 -0800
committerSimone Willett <swillett@nvidia.com>2012-04-03 17:39:40 -0700
commit7ddd7f619e68d0c1fc8665e6a9b72db292ac752a (patch)
treed05346f20526c146d6d31223ee92868eff63ac84 /drivers/power
parent29138fed490457ed2f8abb656cae716e570808a3 (diff)
power: bpcm: Re-try setting BPC limit
Check returned value from BPC set limit api, and re-try again on error. Keep CPU throttled while re-trying. Signed-off-by: Alex Frid <afrid@nvidia.com> (cherry picked from commit 8d5e5a36a03587e3e9374ad8cec6958bd3617f0c) Change-Id: I29b24a92b87cbd41d68473d0c9ef4c8d6add992f Reviewed-on: http://git-master/r/93732 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/tegra_bpc_mgmt.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/power/tegra_bpc_mgmt.c b/drivers/power/tegra_bpc_mgmt.c
index 0d9ddeee282e..fba0cfef277a 100644
--- a/drivers/power/tegra_bpc_mgmt.c
+++ b/drivers/power/tegra_bpc_mgmt.c
@@ -27,15 +27,18 @@
static irqreturn_t tegra_bpc_mgmt_bh(int irq, void *data)
{
+ int ret = -1;
int gpio_val = 0;
struct tegra_bpc_mgmt_platform_data *bpc_platform_data;
bpc_platform_data = (struct tegra_bpc_mgmt_platform_data *)data;
- tegra_system_edp_alarm(true);
/**
* Keep on checking whether event has passed or not.
*/
while (!gpio_val) {
+ if (ret)
+ ret = tegra_system_edp_alarm(true);
+
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(msecs_to_jiffies(
bpc_platform_data->bpc_mgmt_timeout));