aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-06-10 14:39:28 +0200
committersaid m bagheri <ebgheri@steludxu2848.(none)>2011-06-29 10:30:31 +0200
commit4b2ad154547f1c011dfec9351cf7d93c3c1e6536 (patch)
treeb2aa4f886456d210a371dd3da7313054d4b97e8d
parentaa185309939364372bfd446019eb58cab72dc2bb (diff)
downloadlinux-2.6.38-lt-ux500-4b2ad154547f1c011dfec9351cf7d93c3c1e6536.tar.gz
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,
};
/**