kernel-brax3-ubuntu-touch/drivers/scsi/ufs/ufs-mediatek-trace.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

97 lines
2.2 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2020 MediaTek Inc.
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM ufs_mtk
#if !defined(_TRACE_EVENT_UFS_MEDIATEK_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_EVENT_UFS_MEDIATEK_H
#include <linux/tracepoint.h>
TRACE_EVENT(ufs_mtk_event,
TP_PROTO(unsigned int type, unsigned int data),
TP_ARGS(type, data),
TP_STRUCT__entry(
__field(unsigned int, type)
__field(unsigned int, data)
),
TP_fast_assign(
__entry->type = type;
__entry->data = data;
),
TP_printk("ufs: event=%u data=%u",
__entry->type, __entry->data)
);
TRACE_EVENT(ufs_mtk_clk_scale,
TP_PROTO(const char *name, bool scale_up, uint64_t clk_rate),
TP_ARGS(name, scale_up, clk_rate),
TP_STRUCT__entry(
__field(const char*, name)
__field(bool, scale_up)
__field(uint64_t, clk_rate)
),
TP_fast_assign(
__entry->name = name;
__entry->scale_up = scale_up;
__entry->clk_rate = clk_rate;
),
TP_printk("ufs: clk (%s) scaled %s @ %lld",
__entry->name,
__entry->scale_up ? "up" : "down",
__entry->clk_rate)
);
TRACE_EVENT(ufs_mtk_mcq_command,
TP_PROTO(const char *dev_name, enum ufs_trace_str_t str_t,
unsigned int tag, u32 doorbell, int transfer_len, u32 intr,
u64 lba, u8 opcode, u8 group_id),
TP_ARGS(dev_name, str_t, tag, doorbell, transfer_len,
intr, lba, opcode, group_id),
TP_STRUCT__entry(
__string(dev_name, dev_name)
__field(enum ufs_trace_str_t, str_t)
__field(unsigned int, tag)
__field(u32, doorbell)
__field(int, transfer_len)
__field(u32, intr)
__field(u64, lba)
__field(u8, opcode)
__field(u8, group_id)
),
TP_fast_assign(
__assign_str(dev_name, dev_name);
__entry->str_t = str_t;
__entry->tag = tag;
__entry->doorbell = doorbell;
__entry->transfer_len = transfer_len;
__entry->intr = intr;
__entry->lba = lba;
__entry->opcode = opcode;
__entry->group_id = group_id;
),
TP_printk(
"%s: %s: tag: %u, DB: 0x%x, size: %d, IS: %u, LBA: %llu, opcode: 0x%x (%s), group_id: 0x%x",
show_ufs_cmd_trace_str(__entry->str_t), __get_str(dev_name),
__entry->tag, __entry->doorbell, __entry->transfer_len,
__entry->intr, __entry->lba, (u32)__entry->opcode,
str_opcode(__entry->opcode), (u32)__entry->group_id
)
);
#endif
#include <trace/define_trace.h>