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

Commit 85f1bb4a authored by Len Brown's avatar Len Brown
Browse files

Merge branch 'acpi-idle' into release

parents b42f5b0f bceefad5
Loading
Loading
Loading
Loading
+6 −11
Original line number Original line Diff line number Diff line
@@ -80,7 +80,7 @@ module_param(nocst, uint, 0000);
static unsigned int latency_factor __read_mostly = 2;
static unsigned int latency_factor __read_mostly = 2;
module_param(latency_factor, uint, 0644);
module_param(latency_factor, uint, 0644);


static s64 us_to_pm_timer_ticks(s64 t)
static u64 us_to_pm_timer_ticks(s64 t)
{
{
	return div64_u64(t * PM_TIMER_FREQUENCY, 1000000);
	return div64_u64(t * PM_TIMER_FREQUENCY, 1000000);
}
}
@@ -731,10 +731,10 @@ static int acpi_processor_power_seq_show(struct seq_file *seq, void *offset)


		seq_puts(seq, "demotion[--] ");
		seq_puts(seq, "demotion[--] ");


		seq_printf(seq, "latency[%03d] usage[%08d] duration[%020llu]\n",
		seq_printf(seq, "latency[%03d] usage[%08d] duration[%020Lu]\n",
			   pr->power.states[i].latency,
			   pr->power.states[i].latency,
			   pr->power.states[i].usage,
			   pr->power.states[i].usage,
			   (unsigned long long)pr->power.states[i].time);
			   us_to_pm_timer_ticks(pr->power.states[i].time));
	}
	}


      end:
      end:
@@ -861,7 +861,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
	ktime_t  kt1, kt2;
	ktime_t  kt1, kt2;
	s64 idle_time_ns;
	s64 idle_time_ns;
	s64 idle_time;
	s64 idle_time;
	s64 sleep_ticks = 0;


	pr = __get_cpu_var(processors);
	pr = __get_cpu_var(processors);


@@ -906,8 +905,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
	idle_time = idle_time_ns;
	idle_time = idle_time_ns;
	do_div(idle_time, NSEC_PER_USEC);
	do_div(idle_time, NSEC_PER_USEC);


	sleep_ticks = us_to_pm_timer_ticks(idle_time);

	/* Tell the scheduler how much we idled: */
	/* Tell the scheduler how much we idled: */
	sched_clock_idle_wakeup_event(idle_time_ns);
	sched_clock_idle_wakeup_event(idle_time_ns);


@@ -918,7 +915,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
	cx->usage++;
	cx->usage++;


	lapic_timer_state_broadcast(pr, cx, 0);
	lapic_timer_state_broadcast(pr, cx, 0);
	cx->time += sleep_ticks;
	cx->time += idle_time;
	return idle_time;
	return idle_time;
}
}


@@ -940,7 +937,6 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
	ktime_t  kt1, kt2;
	ktime_t  kt1, kt2;
	s64 idle_time_ns;
	s64 idle_time_ns;
	s64 idle_time;
	s64 idle_time;
	s64 sleep_ticks = 0;




	pr = __get_cpu_var(processors);
	pr = __get_cpu_var(processors);
@@ -1022,11 +1018,10 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
		spin_unlock(&c3_lock);
		spin_unlock(&c3_lock);
	}
	}
	kt2 = ktime_get_real();
	kt2 = ktime_get_real();
	idle_time_ns = ktime_to_us(ktime_sub(kt2, kt1));
	idle_time_ns = ktime_to_ns(ktime_sub(kt2, kt1));
	idle_time = idle_time_ns;
	idle_time = idle_time_ns;
	do_div(idle_time, NSEC_PER_USEC);
	do_div(idle_time, NSEC_PER_USEC);


	sleep_ticks = us_to_pm_timer_ticks(idle_time);
	/* Tell the scheduler how much we idled: */
	/* Tell the scheduler how much we idled: */
	sched_clock_idle_wakeup_event(idle_time_ns);
	sched_clock_idle_wakeup_event(idle_time_ns);


@@ -1037,7 +1032,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
	cx->usage++;
	cx->usage++;


	lapic_timer_state_broadcast(pr, cx, 0);
	lapic_timer_state_broadcast(pr, cx, 0);
	cx->time += sleep_ticks;
	cx->time += idle_time;
	return idle_time;
	return idle_time;
}
}