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