aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-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,
};
/**