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 <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 */ 13 struct ufs_hba; 14 struct request; 15 struct ufshcd_lrb; 16 17 DECLARE_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 22 DECLARE_RESTRICTED_HOOK(android_rvh_ufs_complete_init, 23 TP_PROTO(struct ufs_hba *hba), 24 TP_ARGS(hba), 1); 25 26 DECLARE_RESTRICTED_HOOK(android_rvh_ufs_reprogram_all_keys, 27 TP_PROTO(struct ufs_hba *hba, int *err), 28 TP_ARGS(hba, err), 1); 29 30 DECLARE_HOOK(android_vh_ufs_prepare_command, 31 TP_PROTO(struct ufs_hba *hba, struct request *rq, 32 struct ufshcd_lrb *lrbp, int *err), 33 TP_ARGS(hba, rq, lrbp, err)); 34 35 DECLARE_HOOK(android_vh_ufs_update_sysfs, 36 TP_PROTO(struct ufs_hba *hba), 37 TP_ARGS(hba)); 38 39 DECLARE_HOOK(android_vh_ufs_send_command, 40 TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp), 41 TP_ARGS(hba, lrbp)); 42 43 DECLARE_HOOK(android_vh_ufs_compl_command, 44 TP_PROTO(struct ufs_hba *hba, struct ufshcd_lrb *lrbp), 45 TP_ARGS(hba, lrbp)); 46 47 struct uic_command; 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 struct scsi_device; 62 DECLARE_HOOK(android_vh_ufs_update_sdev, 63 TP_PROTO(struct scsi_device *sdev), 64 TP_ARGS(sdev)); 65 66 DECLARE_HOOK(android_vh_ufs_clock_scaling, 67 TP_PROTO(struct ufs_hba *hba, bool *force_out, bool *force_scaling, bool *scale_up), 68 TP_ARGS(hba, force_out, force_scaling, scale_up)); 69 #endif /* _TRACE_HOOK_UFSHCD_H */ 70 /* This part must be outside protection */ 71 #include <trace/define_trace.h> 72