aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-06-10 14:39:28 +0200
committerPhilippe Langlais <philippe.langlais@linaro.org>2011-07-22 15:51:57 +0200
commit8b87bf4b23549dccfa68f4202ced7066d0c5cd4e (patch)
treea6b855ebc18089976e75ffd3ab35d11a01d9e4fc
parent8484f5546a0e80abfaeff69df4d8f9f2c3dff491 (diff)
ARM: ux500: cpuidle_dbg: Add SGA as know blocker
Add SGA as known ApSleep/ApDeepSleep blocker in verbose debug ST-Ericsson Linux next: ER338824 ST-Ericsson ID: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ifb1f3814ade15578d177d276fc1d31ee0b9e64b1 Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24908
-rw-r--r--arch/arm/mach-ux500/pm/cpuidle_dbg.c8
-rw-r--r--arch/arm/mach-ux500/pm/pm.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/pm/cpuidle_dbg.c b/arch/arm/mach-ux500/pm/cpuidle_dbg.c
index 05e733eaa3d..36c0050a6d7 100644
--- a/arch/arm/mach-ux500/pm/cpuidle_dbg.c
+++ b/arch/arm/mach-ux500/pm/cpuidle_dbg.c
@@ -49,6 +49,7 @@ struct state_history_state {
u32 state_ok;
u32 state_error;
u32 state_int;
+ u32 sga;
u32 latency_count[NUM_LATENCY];
ktime_t latency_sum[NUM_LATENCY];
@@ -260,6 +261,9 @@ void ux500_ci_dbg_exit_latency(int ctarget, ktime_t now, ktime_t exit,
case ARM2PRCMUPENDINGIT_ER:
sh->states[ctarget].state_int++;
break;
+ case HWACFCT_IN_SGA:
+ sh->states[ctarget].sga++;
+ break;
default:
pr_info("cpuidle: unknown prcmu exit code: 0x%x state: %d\n",
prcmu_status, cstates[ctarget].state);
@@ -435,6 +439,7 @@ static void state_history_reset(void)
sh->states[i].state_ok = 0;
sh->states[i].state_error = 0;
sh->states[i].state_int = 0;
+ sh->states[i].sga = 0;
sh->states[i].time = ktime_set(0, 0);
@@ -598,9 +603,10 @@ static void stats_disp_one(struct seq_file *s, struct state_history *sh,
return;
if (i > CI_WFI && verbose)
- seq_printf(s, " (%u int:%u err:%u)",
+ seq_printf(s, " (%u int:%u sga: %u err:%u)",
sh->states[i].state_ok,
sh->states[i].state_int,
+ sh->states[i].sga,
sh->states[i].state_error);
seq_printf(s, " in %d ms %d%%",
diff --git a/arch/arm/mach-ux500/pm/pm.h b/arch/arm/mach-ux500/pm/pm.h
index 97689a80937..5448047b61e 100644
--- a/arch/arm/mach-ux500/pm/pm.h
+++ b/arch/arm/mach-ux500/pm/pm.h
@@ -17,6 +17,7 @@ enum prcmu_idle_stat {
IDLE_OK = 0xf0,
DEEPIDLE_OK = 0xe3,
ARM2PRCMUPENDINGIT_ER = 0x91,
+ HWACFCT_IN_SGA = 0x93,
};
/**