Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c165a140 authored by Jean Pihet's avatar Jean Pihet Committed by Paul Walmsley
Browse files

ARM: OMAP2+: powerdomain: fix powerdomain trace integration



Fix the trace in the case a power domain did not hit the desired
state, as reported by Paul Walmsley.

Reported-by: default avatarPaul Walmsley <paul@pwsan.com>
Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
[paul@pwsan.com: split this fix off from the patch
 "ARM: OMAP2+: PM debug: trace the functional power domains states"]
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
parent 32d174ed
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ static void _update_logic_membank_counters(struct powerdomain *pwrdm)
static int _pwrdm_state_switch(struct powerdomain *pwrdm, int flag)
{

	int prev, state, trace_state = 0;
	int prev, next, state, trace_state = 0;

	if (pwrdm == NULL)
		return -EINVAL;
@@ -164,9 +164,10 @@ static int _pwrdm_state_switch(struct powerdomain *pwrdm, int flag)
		 * If the power domain did not hit the desired state,
		 * generate a trace event with both the desired and hit states
		 */
		if (state != prev) {
		next = pwrdm_read_next_pwrst(pwrdm);
		if (next != prev) {
			trace_state = (PWRDM_TRACE_STATES_FLAG |
				       ((state & OMAP_POWERSTATE_MASK) << 8) |
				       ((next & OMAP_POWERSTATE_MASK) << 8) |
				       ((prev & OMAP_POWERSTATE_MASK) << 0));
			trace_power_domain_target(pwrdm->name, trace_state,
						  smp_processor_id());