cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

clk.h (5145B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
      4 */
      5#undef TRACE_SYSTEM
      6#define TRACE_SYSTEM clk
      7
      8#if !defined(_TRACE_CLK_H) || defined(TRACE_HEADER_MULTI_READ)
      9#define _TRACE_CLK_H
     10
     11#include <linux/tracepoint.h>
     12
     13struct clk_core;
     14
     15DECLARE_EVENT_CLASS(clk,
     16
     17	TP_PROTO(struct clk_core *core),
     18
     19	TP_ARGS(core),
     20
     21	TP_STRUCT__entry(
     22		__string(        name,           core->name       )
     23	),
     24
     25	TP_fast_assign(
     26		__assign_str(name, core->name);
     27	),
     28
     29	TP_printk("%s", __get_str(name))
     30);
     31
     32DEFINE_EVENT(clk, clk_enable,
     33
     34	TP_PROTO(struct clk_core *core),
     35
     36	TP_ARGS(core)
     37);
     38
     39DEFINE_EVENT(clk, clk_enable_complete,
     40
     41	TP_PROTO(struct clk_core *core),
     42
     43	TP_ARGS(core)
     44);
     45
     46DEFINE_EVENT(clk, clk_disable,
     47
     48	TP_PROTO(struct clk_core *core),
     49
     50	TP_ARGS(core)
     51);
     52
     53DEFINE_EVENT(clk, clk_disable_complete,
     54
     55	TP_PROTO(struct clk_core *core),
     56
     57	TP_ARGS(core)
     58);
     59
     60DEFINE_EVENT(clk, clk_prepare,
     61
     62	TP_PROTO(struct clk_core *core),
     63
     64	TP_ARGS(core)
     65);
     66
     67DEFINE_EVENT(clk, clk_prepare_complete,
     68
     69	TP_PROTO(struct clk_core *core),
     70
     71	TP_ARGS(core)
     72);
     73
     74DEFINE_EVENT(clk, clk_unprepare,
     75
     76	TP_PROTO(struct clk_core *core),
     77
     78	TP_ARGS(core)
     79);
     80
     81DEFINE_EVENT(clk, clk_unprepare_complete,
     82
     83	TP_PROTO(struct clk_core *core),
     84
     85	TP_ARGS(core)
     86);
     87
     88DECLARE_EVENT_CLASS(clk_rate,
     89
     90	TP_PROTO(struct clk_core *core, unsigned long rate),
     91
     92	TP_ARGS(core, rate),
     93
     94	TP_STRUCT__entry(
     95		__string(        name,           core->name                )
     96		__field(unsigned long,           rate                      )
     97	),
     98
     99	TP_fast_assign(
    100		__assign_str(name, core->name);
    101		__entry->rate = rate;
    102	),
    103
    104	TP_printk("%s %lu", __get_str(name), (unsigned long)__entry->rate)
    105);
    106
    107DEFINE_EVENT(clk_rate, clk_set_rate,
    108
    109	TP_PROTO(struct clk_core *core, unsigned long rate),
    110
    111	TP_ARGS(core, rate)
    112);
    113
    114DEFINE_EVENT(clk_rate, clk_set_rate_complete,
    115
    116	TP_PROTO(struct clk_core *core, unsigned long rate),
    117
    118	TP_ARGS(core, rate)
    119);
    120
    121DEFINE_EVENT(clk_rate, clk_set_min_rate,
    122
    123	TP_PROTO(struct clk_core *core, unsigned long rate),
    124
    125	TP_ARGS(core, rate)
    126);
    127
    128DEFINE_EVENT(clk_rate, clk_set_max_rate,
    129
    130	TP_PROTO(struct clk_core *core, unsigned long rate),
    131
    132	TP_ARGS(core, rate)
    133);
    134
    135DECLARE_EVENT_CLASS(clk_rate_range,
    136
    137	TP_PROTO(struct clk_core *core, unsigned long min, unsigned long max),
    138
    139	TP_ARGS(core, min, max),
    140
    141	TP_STRUCT__entry(
    142		__string(        name,           core->name                )
    143		__field(unsigned long,           min                       )
    144		__field(unsigned long,           max                       )
    145	),
    146
    147	TP_fast_assign(
    148		__assign_str(name, core->name);
    149		__entry->min = min;
    150		__entry->max = max;
    151	),
    152
    153	TP_printk("%s min %lu max %lu", __get_str(name),
    154		  (unsigned long)__entry->min,
    155		  (unsigned long)__entry->max)
    156);
    157
    158DEFINE_EVENT(clk_rate_range, clk_set_rate_range,
    159
    160	TP_PROTO(struct clk_core *core, unsigned long min, unsigned long max),
    161
    162	TP_ARGS(core, min, max)
    163);
    164
    165DECLARE_EVENT_CLASS(clk_parent,
    166
    167	TP_PROTO(struct clk_core *core, struct clk_core *parent),
    168
    169	TP_ARGS(core, parent),
    170
    171	TP_STRUCT__entry(
    172		__string(        name,           core->name                )
    173		__string(        pname, parent ? parent->name : "none"     )
    174	),
    175
    176	TP_fast_assign(
    177		__assign_str(name, core->name);
    178		__assign_str(pname, parent ? parent->name : "none");
    179	),
    180
    181	TP_printk("%s %s", __get_str(name), __get_str(pname))
    182);
    183
    184DEFINE_EVENT(clk_parent, clk_set_parent,
    185
    186	TP_PROTO(struct clk_core *core, struct clk_core *parent),
    187
    188	TP_ARGS(core, parent)
    189);
    190
    191DEFINE_EVENT(clk_parent, clk_set_parent_complete,
    192
    193	TP_PROTO(struct clk_core *core, struct clk_core *parent),
    194
    195	TP_ARGS(core, parent)
    196);
    197
    198DECLARE_EVENT_CLASS(clk_phase,
    199
    200	TP_PROTO(struct clk_core *core, int phase),
    201
    202	TP_ARGS(core, phase),
    203
    204	TP_STRUCT__entry(
    205		__string(        name,           core->name                )
    206		__field(	  int,           phase                     )
    207	),
    208
    209	TP_fast_assign(
    210		__assign_str(name, core->name);
    211		__entry->phase = phase;
    212	),
    213
    214	TP_printk("%s %d", __get_str(name), (int)__entry->phase)
    215);
    216
    217DEFINE_EVENT(clk_phase, clk_set_phase,
    218
    219	TP_PROTO(struct clk_core *core, int phase),
    220
    221	TP_ARGS(core, phase)
    222);
    223
    224DEFINE_EVENT(clk_phase, clk_set_phase_complete,
    225
    226	TP_PROTO(struct clk_core *core, int phase),
    227
    228	TP_ARGS(core, phase)
    229);
    230
    231DECLARE_EVENT_CLASS(clk_duty_cycle,
    232
    233	TP_PROTO(struct clk_core *core, struct clk_duty *duty),
    234
    235	TP_ARGS(core, duty),
    236
    237	TP_STRUCT__entry(
    238		__string(        name,           core->name              )
    239		__field( unsigned int,           num                     )
    240		__field( unsigned int,           den                     )
    241	),
    242
    243	TP_fast_assign(
    244		__assign_str(name, core->name);
    245		__entry->num = duty->num;
    246		__entry->den = duty->den;
    247	),
    248
    249	TP_printk("%s %u/%u", __get_str(name), (unsigned int)__entry->num,
    250		  (unsigned int)__entry->den)
    251);
    252
    253DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle,
    254
    255	TP_PROTO(struct clk_core *core, struct clk_duty *duty),
    256
    257	TP_ARGS(core, duty)
    258);
    259
    260DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle_complete,
    261
    262	TP_PROTO(struct clk_core *core, struct clk_duty *duty),
    263
    264	TP_ARGS(core, duty)
    265);
    266
    267#endif /* _TRACE_CLK_H */
    268
    269/* This part must be outside protection */
    270#include <trace/define_trace.h>