blob: e2b7552714570b9a2be887b8e385fd21f9e3f862 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM ufshcd
4#define TRACE_INCLUDE_PATH trace/hooks
5#if !defined(_TRACE_HOOK_UFSHCD_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_HOOK_UFSHCD_H
7#include <linux/tracepoint.h>
8#include <trace/hooks/vendor_hooks.h>
9/*
10 * Following tracepoints are not exported in tracefs and provide a
11 * mechanism for vendor modules to hook and extend functionality
12 */
13struct ufs_hba;
14struct request;
15struct ufshcd_lrb;
16
17DECLARE_HOOK(android_vh_ufs_fill_prdt,
18 TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp,
19 unsigned int segments, int *err),
20 TP_ARGS(hba, lrbp, segments, err));
21
22DECLARE_HOOK(android_vh_ufs_prepare_command,
23 TP_PROTO(struct ufs_hba *hba, struct request *rq,
24 struct ufshcd_lrb *lrbp, int *err),
25 TP_ARGS(hba, rq, lrbp, err));
26
27DECLARE_HOOK(android_vh_ufs_update_sysfs,
28 TP_PROTO(struct ufs_hba *hba),
29 TP_ARGS(hba));
30
31DECLARE_HOOK(android_vh_ufs_send_command,
32 TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp),
33 TP_ARGS(hba, lrbp));
34
35DECLARE_HOOK(android_vh_ufs_compl_command,
36 TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp),
37 TP_ARGS(hba, lrbp));
38
39struct uic_command;
40DECLARE_HOOK(android_vh_ufs_send_uic_command,
41 TP_PROTO(struct ufs_hba *hba, struct uic_command *ucmd,
42 const char *str),
43 TP_ARGS(hba, ucmd, str));
44
45DECLARE_HOOK(android_vh_ufs_send_tm_command,
46 TP_PROTO(struct ufs_hba *hba, int tag, const char *str),
47 TP_ARGS(hba, tag, str));
48
49DECLARE_HOOK(android_vh_ufs_check_int_errors,
50 TP_PROTO(struct ufs_hba *hba, bool queue_eh_work),
51 TP_ARGS(hba, queue_eh_work));
52
53#endif /* _TRACE_HOOK_UFSHCD_H */
54/* This part must be outside protection */
55#include <trace/define_trace.h>