• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* 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 <trace/hooks/vendor_hooks.h>
8 /*
9  * Following tracepoints are not exported in tracefs and provide a
10  * mechanism for vendor modules to hook and extend functionality
11  */
12 struct ufs_hba;
13 struct ufshcd_lrb;
14 struct uic_command;
15 struct request;
16 struct scsi_device;
17 
18 DECLARE_HOOK(android_vh_ufs_fill_prdt,
19 	TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp,
20 		 unsigned int segments, int *err),
21 	TP_ARGS(hba, lrbp, segments, err));
22 
23 DECLARE_RESTRICTED_HOOK(android_rvh_ufs_complete_init,
24 			TP_PROTO(struct ufs_hba *hba),
25 			TP_ARGS(hba), 1);
26 
27 DECLARE_RESTRICTED_HOOK(android_rvh_ufs_reprogram_all_keys,
28 			TP_PROTO(struct ufs_hba *hba, int *err),
29 			TP_ARGS(hba, err), 1);
30 
31 DECLARE_HOOK(android_vh_ufs_prepare_command,
32 	TP_PROTO(struct ufs_hba *hba, struct request *rq,
33 		 struct ufshcd_lrb *lrbp, int *err),
34 	TP_ARGS(hba, rq, lrbp, err));
35 
36 DECLARE_HOOK(android_vh_ufs_update_sysfs,
37 	TP_PROTO(struct ufs_hba *hba),
38 	TP_ARGS(hba));
39 
40 DECLARE_HOOK(android_vh_ufs_send_command,
41 	TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp),
42 	TP_ARGS(hba, lrbp));
43 
44 DECLARE_HOOK(android_vh_ufs_compl_command,
45 	TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp),
46 	TP_ARGS(hba, lrbp));
47 
48 DECLARE_HOOK(android_vh_ufs_send_uic_command,
49 	TP_PROTO(struct ufs_hba *hba, struct uic_command *ucmd,
50 		 const char *str),
51 	TP_ARGS(hba, ucmd, str));
52 
53 DECLARE_HOOK(android_vh_ufs_send_tm_command,
54 	TP_PROTO(struct ufs_hba *hba, int tag, const char *str),
55 	TP_ARGS(hba, tag, str));
56 
57 DECLARE_HOOK(android_vh_ufs_check_int_errors,
58 	TP_PROTO(struct ufs_hba *hba, bool queue_eh_work),
59 	TP_ARGS(hba, queue_eh_work));
60 
61 DECLARE_HOOK(android_vh_ufs_update_sdev,
62 	TP_PROTO(struct scsi_device *sdev),
63 	TP_ARGS(sdev));
64 
65 DECLARE_HOOK(android_vh_ufs_clock_scaling,
66 	TP_PROTO(struct ufs_hba *hba, bool *force_out, bool *force_scaling, bool *scale_up),
67 	TP_ARGS(hba, force_out, force_scaling, scale_up));
68 #endif /* _TRACE_HOOK_UFSHCD_H */
69 /* This part must be outside protection */
70 #include <trace/define_trace.h>
71