blob: aa0a744ead4e4cd2f52ea166b577e068d6156a59 [file] [log] [blame]
/* Copyright (c) 2012, The Linux Foundation. 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
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM msm_low_power
#if !defined(_TRACE_MSM_LOW_POWER_H_) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_MSM_LOW_POWER_H_
#include <linux/tracepoint.h>
DECLARE_EVENT_CLASS(msm_pm_enter,
TP_PROTO(unsigned int cpu, uint32_t latency,
uint32_t sleep_us, uint32_t wake_up),
TP_ARGS(cpu, latency, sleep_us, wake_up),
TP_STRUCT__entry(
__field(unsigned int, cpu)
__field(uint32_t, latency)
__field(uint32_t, sleep_us)
__field(uint32_t, wake_up)
),
TP_fast_assign(
__entry->cpu = cpu;
__entry->latency = latency;
__entry->sleep_us = sleep_us;
__entry->wake_up = wake_up;
),
TP_printk("cpu: %u latency: %uus sleep: %uus wake_up: %u",
__entry->cpu,
__entry->latency,
__entry->sleep_us,
__entry->wake_up)
);
DEFINE_EVENT(msm_pm_enter, msm_pm_enter_pc,
TP_PROTO(unsigned int cpu, uint32_t latency,
uint32_t sleep_us, uint32_t wake_up),
TP_ARGS(cpu, latency, sleep_us, wake_up)
);
DEFINE_EVENT(msm_pm_enter, msm_pm_enter_ret,
TP_PROTO(unsigned int cpu, uint32_t latency,
uint32_t sleep_us, uint32_t wake_up),
TP_ARGS(cpu, latency, sleep_us, wake_up)
);
DEFINE_EVENT(msm_pm_enter, msm_pm_enter_spc,
TP_PROTO(unsigned int cpu, uint32_t latency,
uint32_t sleep_us, uint32_t wake_up),
TP_ARGS(cpu, latency, sleep_us, wake_up)
);
DEFINE_EVENT(msm_pm_enter, msm_pm_enter_wfi,
TP_PROTO(unsigned int cpu, uint32_t latency,
uint32_t sleep_us, uint32_t wake_up),
TP_ARGS(cpu, latency, sleep_us, wake_up)
);
DECLARE_EVENT_CLASS(msm_pm_exit,
TP_PROTO(unsigned int cpu, bool success),
TP_ARGS(cpu, success),
TP_STRUCT__entry(
__field(unsigned int , cpu)
__field(int, success)
),
TP_fast_assign(
__entry->cpu = cpu;
__entry->success = success;
),
TP_printk("cpu:%u success:%d",
__entry->cpu,
__entry->success)
);
DEFINE_EVENT(msm_pm_exit, msm_pm_exit_pc,
TP_PROTO(unsigned int cpu, bool success),
TP_ARGS(cpu, success)
);
DEFINE_EVENT(msm_pm_exit, msm_pm_exit_ret,
TP_PROTO(unsigned int cpu, bool success),
TP_ARGS(cpu, success)
);
DEFINE_EVENT(msm_pm_exit, msm_pm_exit_spc,
TP_PROTO(unsigned int cpu, bool success),
TP_ARGS(cpu, success)
);
DEFINE_EVENT(msm_pm_exit, msm_pm_exit_wfi,
TP_PROTO(unsigned int cpu, bool success),
TP_ARGS(cpu, success)
);
#endif
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#define TRACE_INCLUDE_FILE trace_msm_low_power
#include <trace/define_trace.h>