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

Commit 03e4fd6e authored by Santosh Shilimkar's avatar Santosh Shilimkar Committed by Kevin Hilman
Browse files

ARM: OMAP4: cpuidle: Fix the C-state reporting to cpuidle governor.



OMAP4 cpuidle driver is reporting the state requested by governor
rather than the actually attempted one.

This is obviously misleading sysfs and powertop cpuidle statistics.
Fix it so that stats are reported correctly.

Reported-by: default avatarKevin Hilman <khilman@ti.com>
Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
[khilman@ti.com: minor changelog edits]
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 6369fd41
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -65,7 +65,6 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
	struct timespec ts_preidle, ts_postidle, ts_idle;
	u32 cpu1_state;
	int idle_time;
	int new_state_idx;
	int cpu_id = smp_processor_id();

	/* Used to keep track of the total time in idle */
@@ -84,8 +83,8 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
	 */
	cpu1_state = pwrdm_read_pwrst(cpu1_pd);
	if (cpu1_state != PWRDM_POWER_OFF) {
		new_state_idx = drv->safe_state_index;
		cx = cpuidle_get_statedata(&dev->states_usage[new_state_idx]);
		index = drv->safe_state_index;
		cx = cpuidle_get_statedata(&dev->states_usage[index]);
	}

	if (index > 0)