1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright © 2024 Intel Corporation 4 */ 5 6 #undef TRACE_SYSTEM 7 #define TRACE_SYSTEM xe 8 9 #if !defined(_XE_TRACE_LRC_H_) || defined(TRACE_HEADER_MULTI_READ) 10 #define _XE_TRACE_LRC_H_ 11 12 #include <linux/tracepoint.h> 13 #include <linux/types.h> 14 15 #include "xe_exec_queue_types.h" 16 #include "xe_gt_types.h" 17 #include "xe_lrc.h" 18 #include "xe_lrc_types.h" 19 20 #define __dev_name_lrc(lrc) dev_name(gt_to_xe((lrc)->fence_ctx.gt)->drm.dev) 21 22 TRACE_EVENT(xe_lrc_update_timestamp, 23 TP_PROTO(struct xe_lrc *lrc, uint64_t old), 24 TP_ARGS(lrc, old), 25 TP_STRUCT__entry( 26 __field(struct xe_lrc *, lrc) 27 __field(u64, old) 28 __field(u64, new) 29 __string(name, lrc->fence_ctx.name) 30 __string(device_id, __dev_name_lrc(lrc)) 31 ), 32 33 TP_fast_assign( 34 __entry->lrc = lrc; 35 __entry->old = old; 36 __entry->new = lrc->ctx_timestamp; 37 __assign_str(name); 38 __assign_str(device_id); 39 ), 40 TP_printk("lrc=:%p lrc->name=%s old=%llu new=%llu device_id:%s", 41 __entry->lrc, __get_str(name), 42 __entry->old, __entry->new, 43 __get_str(device_id)) 44 ); 45 46 TRACE_EVENT(xe_lrc_update_queue_timestamp, 47 TP_PROTO(struct xe_lrc *lrc, uint64_t old), 48 TP_ARGS(lrc, old), 49 TP_STRUCT__entry( 50 __field(struct xe_lrc *, lrc) 51 __field(struct xe_lrc *, primary_lrc) 52 __field(u64, old) 53 __field(u64, new) 54 __string(name, lrc->fence_ctx.name) 55 __string(device_id, __dev_name_lrc(lrc)) 56 ), 57 58 TP_fast_assign( 59 __entry->lrc = lrc; 60 __entry->primary_lrc = lrc->multi_queue.primary_lrc; 61 __entry->old = old; 62 __entry->new = lrc->queue_timestamp; 63 __assign_str(name); 64 __assign_str(device_id); 65 ), 66 TP_printk("lrc=%p primary_lrc=%p lrc->name=%s old=%llu new=%llu device_id:%s", 67 __entry->lrc, __entry->primary_lrc, __get_str(name), 68 __entry->old, __entry->new, 69 __get_str(device_id)) 70 ); 71 72 #endif 73 74 /* This part must be outside protection */ 75 #undef TRACE_INCLUDE_PATH 76 #undef TRACE_INCLUDE_FILE 77 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/xe 78 #define TRACE_INCLUDE_FILE xe_trace_lrc 79 #include <trace/define_trace.h> 80