18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#undef TRACE_SYSTEM 38c2ecf20Sopenharmony_ci#define TRACE_SYSTEM power 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#if !defined(_TRACE_POWER_CPU_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ) 68c2ecf20Sopenharmony_ci#define _TRACE_POWER_CPU_MIGRATE_H 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <linux/tracepoint.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#define __cpu_migrate_proto \ 118c2ecf20Sopenharmony_ci TP_PROTO(u64 timestamp, \ 128c2ecf20Sopenharmony_ci u32 cpu_hwid) 138c2ecf20Sopenharmony_ci#define __cpu_migrate_args \ 148c2ecf20Sopenharmony_ci TP_ARGS(timestamp, \ 158c2ecf20Sopenharmony_ci cpu_hwid) 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciDECLARE_EVENT_CLASS(cpu_migrate, 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci __cpu_migrate_proto, 208c2ecf20Sopenharmony_ci __cpu_migrate_args, 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci TP_STRUCT__entry( 238c2ecf20Sopenharmony_ci __field(u64, timestamp ) 248c2ecf20Sopenharmony_ci __field(u32, cpu_hwid ) 258c2ecf20Sopenharmony_ci ), 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci TP_fast_assign( 288c2ecf20Sopenharmony_ci __entry->timestamp = timestamp; 298c2ecf20Sopenharmony_ci __entry->cpu_hwid = cpu_hwid; 308c2ecf20Sopenharmony_ci ), 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci TP_printk("timestamp=%llu cpu_hwid=0x%08lX", 338c2ecf20Sopenharmony_ci (unsigned long long)__entry->timestamp, 348c2ecf20Sopenharmony_ci (unsigned long)__entry->cpu_hwid 358c2ecf20Sopenharmony_ci ) 368c2ecf20Sopenharmony_ci); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci#define __define_cpu_migrate_event(name) \ 398c2ecf20Sopenharmony_ci DEFINE_EVENT(cpu_migrate, cpu_migrate_##name, \ 408c2ecf20Sopenharmony_ci __cpu_migrate_proto, \ 418c2ecf20Sopenharmony_ci __cpu_migrate_args \ 428c2ecf20Sopenharmony_ci ) 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci__define_cpu_migrate_event(begin); 458c2ecf20Sopenharmony_ci__define_cpu_migrate_event(finish); 468c2ecf20Sopenharmony_ci__define_cpu_migrate_event(current); 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#undef __define_cpu_migrate 498c2ecf20Sopenharmony_ci#undef __cpu_migrate_proto 508c2ecf20Sopenharmony_ci#undef __cpu_migrate_args 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci/* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */ 538c2ecf20Sopenharmony_ci#ifndef _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING 548c2ecf20Sopenharmony_ci#define _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci/* 578c2ecf20Sopenharmony_ci * Set from_phys_cpu and to_phys_cpu to CPU_MIGRATE_ALL_CPUS to indicate 588c2ecf20Sopenharmony_ci * a whole-cluster migration: 598c2ecf20Sopenharmony_ci */ 608c2ecf20Sopenharmony_ci#define CPU_MIGRATE_ALL_CPUS 0x80000000U 618c2ecf20Sopenharmony_ci#endif 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci#endif /* _TRACE_POWER_CPU_MIGRATE_H */ 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci/* This part must be outside protection */ 668c2ecf20Sopenharmony_ci#undef TRACE_INCLUDE_FILE 678c2ecf20Sopenharmony_ci#define TRACE_INCLUDE_FILE power_cpu_migrate 688c2ecf20Sopenharmony_ci#include <trace/define_trace.h> 69