blob: 2aeccd5e622803e1a2ac2c4787d1aba54fe08615 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/
#if !defined(_TRACE_MEMLAT_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_MEMLAT_TRACE_H
#undef TRACE_SYSTEM
#define TRACE_SYSTEM power
#include <linux/tracepoint.h>
#include <linux/trace_events.h>
TRACE_EVENT(memlat_dev_meas,
TP_PROTO(const char *name, unsigned int dev_id, unsigned long inst,
unsigned long mem, unsigned long freq, unsigned int stall,
unsigned int wb, unsigned int ratio),
TP_ARGS(name, dev_id, inst, mem, freq, stall, wb, ratio),
TP_STRUCT__entry(
__string(name, name)
__field(unsigned int, dev_id)
__field(unsigned long, inst)
__field(unsigned long, mem)
__field(unsigned long, freq)
__field(unsigned int, stall)
__field(unsigned int, wb)
__field(unsigned int, ratio)
),
TP_fast_assign(
__assign_str(name, name);
__entry->dev_id = dev_id;
__entry->inst = inst;
__entry->mem = mem;
__entry->freq = freq;
__entry->stall = stall;
__entry->wb = wb;
__entry->ratio = ratio;
),
TP_printk("dev: %s, id=%u, inst=%lu, mem=%lu, freq=%lu, stall=%u, wb=%u, ratio=%u",
__get_str(name),
__entry->dev_id,
__entry->inst,
__entry->mem,
__entry->freq,
__entry->stall,
__entry->wb,
__entry->ratio)
);
TRACE_EVENT(memlat_dev_update,
TP_PROTO(const char *name, unsigned int dev_id, unsigned long inst,
unsigned long mem, unsigned long freq, unsigned long vote),
TP_ARGS(name, dev_id, inst, mem, freq, vote),
TP_STRUCT__entry(
__string(name, name)
__field(unsigned int, dev_id)
__field(unsigned long, inst)
__field(unsigned long, mem)
__field(unsigned long, freq)
__field(unsigned long, vote)
),
TP_fast_assign(
__assign_str(name, name);
__entry->dev_id = dev_id;
__entry->inst = inst;
__entry->mem = mem;
__entry->freq = freq;
__entry->vote = vote;
),
TP_printk("dev: %s, id=%u, inst=%lu, mem=%lu, freq=%lu, vote=%lu",
__get_str(name),
__entry->dev_id,
__entry->inst,
__entry->mem,
__entry->freq,
__entry->vote)
);
#endif /* _TRACE_MEMLAT_TRACE_H */
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#define TRACE_INCLUDE_FILE governor_memlat_trace
#include <trace/define_trace.h>