msm: acpuclock: Support tracing of CPU frequency changes

Utilize the cpu_frequency traces to profile CPU frequency switching.

Change-Id: I5f7b5ea9ab0bd70deb3d64c9361c4b56ab63466d
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
(cherry picked from commit 7c57b5dfc88a77a7d0c1d7820cf0baa3c37210fc)
(cherry picked from commit e759493b08da1c1d39e68849b6092b3dac3928aa)
This commit is contained in:
Matt Wagantall
2012-07-30 19:19:52 -07:00
committed by Stephen Boyd
parent 4e0af26309
commit d4e63f6db5

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
/* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -13,6 +13,7 @@
#include <linux/cpu.h>
#include <linux/smp.h>
#include "acpuclock.h"
#include <trace/events/power.h>
static struct acpuclk_data *acpuclk_data;
@@ -26,10 +27,19 @@ unsigned long acpuclk_get_rate(int cpu)
int acpuclk_set_rate(int cpu, unsigned long rate, enum setrate_reason reason)
{
int ret;
if (!acpuclk_data->set_rate)
return 0;
return acpuclk_data->set_rate(cpu, rate, reason);
trace_cpu_frequency_switch_start(acpuclk_get_rate(cpu), rate, cpu);
ret = acpuclk_data->set_rate(cpu, rate, reason);
if (!ret) {
trace_cpu_frequency_switch_end(cpu);
trace_cpu_frequency(rate, cpu);
}
return ret;
}
uint32_t acpuclk_get_switch_time(void)