/* SPDX-License-Identifier: GPL-2.0 */ /* * Tracepoint definitions for s390 ap bus related trace events * * There are two AP bus related tracepoint events defined here: * There is a tracepoint s390_ap_nqap event immediately after a request * has been pushed into the AP firmware queue with the NQAP AP command. * The other tracepoint s390_ap_dqap event fires immediately after a * reply has been pulled out of the AP firmware queue via DQAP AP command. * The idea of these two trace events focuses on performance to measure * the runtime of a crypto request/reply as close as possible at the * firmware level. In combination with the two zcrypt tracepoints (see the * zcrypt.h trace event definition file) this gives measurement data about * the runtime of a request/reply within the zcrpyt and AP bus layer. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM s390 #if !defined(_TRACE_S390_AP_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_S390_AP_H #include DECLARE_EVENT_CLASS(s390_ap_nqapdqap_template, TP_PROTO(u16 card, u16 dom, u32 status, u64 psmid), TP_ARGS(card, dom, status, psmid), TP_STRUCT__entry( __field(u16, card) __field(u16, dom) __field(u32, status) __field(u64, psmid)), TP_fast_assign( __entry->card = card; __entry->dom = dom; __entry->status = status; __entry->psmid = psmid;), TP_printk("card=%u dom=%u status=0x%08x psmid=0x%016lx", (unsigned short)__entry->card, (unsigned short)__entry->dom, (unsigned int)__entry->status, (unsigned long)__entry->psmid) ); /** * trace_s390_ap_nqap - ap msg nqap tracepoint function * @card: Crypto card number addressed. * @dom: Domain within the crypto card addressed. * @status: AP queue status (GR1 on return of nqap). * @psmid: Unique id identifying this request/reply. * * Called immediately after a request has been enqueued into * the AP firmware queue with the NQAP command. */ DEFINE_EVENT(s390_ap_nqapdqap_template, s390_ap_nqap, TP_PROTO(u16 card, u16 dom, u32 status, u64 psmid), TP_ARGS(card, dom, status, psmid) ); /** * trace_s390_ap_dqap - ap msg dqap tracepoint function * @card: Crypto card number addressed. * @dom: Domain within the crypto card addressed. * @status: AP queue status (GR1 on return of dqap). * @psmid: Unique id identifying this request/reply. * * Called immediately after a reply has been dequeued from * the AP firmware queue with the DQAP command. */ DEFINE_EVENT(s390_ap_nqapdqap_template, s390_ap_dqap, TP_PROTO(u16 card, u16 dom, u32 status, u64 psmid), TP_ARGS(card, dom, status, psmid) ); #endif /* _TRACE_S390_AP_H */ /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_PATH asm/trace #define TRACE_INCLUDE_FILE ap #include