brintos

brintos / linux-shallow public Read only

0
0
Text · 3.5 KiB · d354130 Raw
133 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/*3 * Copyright 2023 NXP.4 */5 6#undef TRACE_SYSTEM7#define TRACE_SYSTEM fsl_edma8 9#if !defined(__LINUX_FSL_EDMA_TRACE) || defined(TRACE_HEADER_MULTI_READ)10#define __LINUX_FSL_EDMA_TRACE11 12#include <linux/types.h>13#include <linux/tracepoint.h>14 15DECLARE_EVENT_CLASS(edma_log_io,16	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),17	TP_ARGS(edma, addr, value),18	TP_STRUCT__entry(19		__field(struct fsl_edma_engine *, edma)20		__field(void __iomem *, addr)21		__field(u32, value)22	),23	TP_fast_assign(24		__entry->edma = edma;25		__entry->addr = addr;26		__entry->value = value;27	),28	TP_printk("offset %08x: value %08x",29		(u32)(__entry->addr - __entry->edma->membase), __entry->value)30);31 32DEFINE_EVENT(edma_log_io, edma_readl,33	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),34	TP_ARGS(edma, addr, value)35);36 37DEFINE_EVENT(edma_log_io, edma_writel,38	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr,  u32 value),39	TP_ARGS(edma, addr, value)40);41 42DEFINE_EVENT(edma_log_io, edma_readw,43	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),44	TP_ARGS(edma, addr, value)45);46 47DEFINE_EVENT(edma_log_io, edma_writew,48	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr,  u32 value),49	TP_ARGS(edma, addr, value)50);51 52DEFINE_EVENT(edma_log_io, edma_readb,53	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),54	TP_ARGS(edma, addr, value)55);56 57DEFINE_EVENT(edma_log_io, edma_writeb,58	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr,  u32 value),59	TP_ARGS(edma, addr, value)60);61 62DECLARE_EVENT_CLASS(edma_log_tcd,63	TP_PROTO(struct fsl_edma_chan *chan, void *tcd),64	TP_ARGS(chan, tcd),65	TP_STRUCT__entry(66		__field(u64, saddr)67		__field(u16, soff)68		__field(u16, attr)69		__field(u32, nbytes)70		__field(u64, slast)71		__field(u64, daddr)72		__field(u16, doff)73		__field(u16, citer)74		__field(u64, dlast_sga)75		__field(u16, csr)76		__field(u16, biter)77 78	),79	TP_fast_assign(80		__entry->saddr = fsl_edma_get_tcd_to_cpu(chan, tcd, saddr),81		__entry->soff = fsl_edma_get_tcd_to_cpu(chan, tcd, soff),82		__entry->attr = fsl_edma_get_tcd_to_cpu(chan, tcd, attr),83		__entry->nbytes = fsl_edma_get_tcd_to_cpu(chan, tcd, nbytes),84		__entry->slast = fsl_edma_get_tcd_to_cpu(chan, tcd, slast),85		__entry->daddr = fsl_edma_get_tcd_to_cpu(chan, tcd, daddr),86		__entry->doff = fsl_edma_get_tcd_to_cpu(chan, tcd, doff),87		__entry->citer = fsl_edma_get_tcd_to_cpu(chan, tcd, citer),88		__entry->dlast_sga = fsl_edma_get_tcd_to_cpu(chan, tcd, dlast_sga),89		__entry->csr = fsl_edma_get_tcd_to_cpu(chan, tcd, csr),90		__entry->biter = fsl_edma_get_tcd_to_cpu(chan, tcd, biter);91	),92	TP_printk("\n==== TCD =====\n"93		  "  saddr:  0x%016llx\n"94		  "  soff:               0x%04x\n"95		  "  attr:               0x%04x\n"96		  "  nbytes:         0x%08x\n"97		  "  slast:  0x%016llx\n"98		  "  daddr:  0x%016llx\n"99		  "  doff:               0x%04x\n"100		  "  citer:              0x%04x\n"101		  "  dlast:  0x%016llx\n"102		  "  csr:                0x%04x\n"103		  "  biter:              0x%04x\n",104		__entry->saddr,105		__entry->soff,106		__entry->attr,107		__entry->nbytes,108		__entry->slast,109		__entry->daddr,110		__entry->doff,111		__entry->citer,112		__entry->dlast_sga,113		__entry->csr,114		__entry->biter)115);116 117DEFINE_EVENT(edma_log_tcd, edma_fill_tcd,118	TP_PROTO(struct fsl_edma_chan *chan, void *tcd),119	TP_ARGS(chan, tcd)120);121 122#endif123 124/* this part must be outside header guard */125 126#undef TRACE_INCLUDE_PATH127#define TRACE_INCLUDE_PATH .128 129#undef TRACE_INCLUDE_FILE130#define TRACE_INCLUDE_FILE fsl-edma-trace131 132#include <trace/define_trace.h>133