root/include/trace/events/fsi_master_aspeed.h
/* SPDX-License-Identifier: GPL-2.0-or-later */

#undef TRACE_SYSTEM
#define TRACE_SYSTEM fsi_master_aspeed

#if !defined(_TRACE_FSI_MASTER_ASPEED_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_FSI_MASTER_ASPEED_H

#include <linux/tracepoint.h>

TRACE_EVENT(fsi_master_aspeed_opb_read,
        TP_PROTO(uint32_t addr, size_t size, uint32_t result, uint32_t status, uint32_t irq_status),
        TP_ARGS(addr, size, result, status, irq_status),
        TP_STRUCT__entry(
                __field(uint32_t,  addr)
                __field(size_t,    size)
                __field(uint32_t,  result)
                __field(uint32_t,  status)
                __field(uint32_t,  irq_status)
                ),
        TP_fast_assign(
                __entry->addr = addr;
                __entry->size = size;
                __entry->result = result;
                __entry->status = status;
                __entry->irq_status = irq_status;
                ),
        TP_printk("addr %08x size %zu: result %08x sts: %08x irq_sts: %08x",
                __entry->addr, __entry->size, __entry->result,
                __entry->status, __entry->irq_status
           )
);

TRACE_EVENT(fsi_master_aspeed_opb_write,
        TP_PROTO(uint32_t addr, uint32_t val, size_t size, uint32_t status, uint32_t irq_status),
        TP_ARGS(addr, val, size, status, irq_status),
        TP_STRUCT__entry(
                __field(uint32_t,    addr)
                __field(uint32_t,    val)
                __field(size_t,    size)
                __field(uint32_t,  status)
                __field(uint32_t,  irq_status)
                ),
        TP_fast_assign(
                __entry->addr = addr;
                __entry->val = val;
                __entry->size = size;
                __entry->status = status;
                __entry->irq_status = irq_status;
                ),
        TP_printk("addr %08x val %08x size %zu status: %08x irq_sts: %08x",
                __entry->addr, __entry->val, __entry->size,
                __entry->status, __entry->irq_status
                )
        );

TRACE_EVENT(fsi_master_aspeed_opb_error,
        TP_PROTO(uint32_t mresp0, uint32_t mstap0, uint32_t mesrb0),
        TP_ARGS(mresp0, mstap0, mesrb0),
        TP_STRUCT__entry(
                __field(uint32_t,  mresp0)
                __field(uint32_t,  mstap0)
                __field(uint32_t,  mesrb0)
                ),
        TP_fast_assign(
                __entry->mresp0 = mresp0;
                __entry->mstap0 = mstap0;
                __entry->mesrb0 = mesrb0;
                ),
        TP_printk("mresp0 %08x mstap0 %08x mesrb0 %08x",
                __entry->mresp0, __entry->mstap0, __entry->mesrb0
                )
        );

TRACE_EVENT(fsi_master_aspeed_cfam_reset,
        TP_PROTO(bool start),
        TP_ARGS(start),
        TP_STRUCT__entry(
                __field(bool,   start)
        ),
        TP_fast_assign(
                __entry->start = start;
        ),
        TP_printk("%s", __entry->start ? "start" : "end")
);

#endif

#include <trace/define_trace.h>