1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 2021 Intel Corporation. All rights rsvd. */
4 #ifndef __CRYPTO_DEV_IAA_CRYPTO_STATS_H__
5 #define __CRYPTO_DEV_IAA_CRYPTO_STATS_H__
7 #if defined(CONFIG_CRYPTO_DEV_IAA_CRYPTO_STATS)
8 int iaa_crypto_debugfs_init(void);
9 void iaa_crypto_debugfs_cleanup(void);
11 void update_total_comp_calls(void);
12 void update_total_comp_bytes_out(int n);
13 void update_total_decomp_calls(void);
14 void update_total_sw_decomp_calls(void);
15 void update_total_decomp_bytes_in(int n);
16 void update_max_comp_delay_ns(u64 start_time_ns);
17 void update_max_decomp_delay_ns(u64 start_time_ns);
18 void update_completion_einval_errs(void);
19 void update_completion_timeout_errs(void);
20 void update_completion_comp_buf_overflow_errs(void);
22 void update_wq_comp_calls(struct idxd_wq *idxd_wq);
23 void update_wq_comp_bytes(struct idxd_wq *idxd_wq, int n);
24 void update_wq_decomp_calls(struct idxd_wq *idxd_wq);
25 void update_wq_decomp_bytes(struct idxd_wq *idxd_wq, int n);
27 static inline u64 iaa_get_ts(void) { return ktime_get_ns(); }
30 static inline int iaa_crypto_debugfs_init(void) { return 0; }
31 static inline void iaa_crypto_debugfs_cleanup(void) {}
33 static inline void update_total_comp_calls(void) {}
34 static inline void update_total_comp_bytes_out(int n) {}
35 static inline void update_total_decomp_calls(void) {}
36 static inline void update_total_sw_decomp_calls(void) {}
37 static inline void update_total_decomp_bytes_in(int n) {}
38 static inline void update_max_comp_delay_ns(u64 start_time_ns) {}
39 static inline void update_max_decomp_delay_ns(u64 start_time_ns) {}
40 static inline void update_completion_einval_errs(void) {}
41 static inline void update_completion_timeout_errs(void) {}
42 static inline void update_completion_comp_buf_overflow_errs(void) {}
44 static inline void update_wq_comp_calls(struct idxd_wq *idxd_wq) {}
45 static inline void update_wq_comp_bytes(struct idxd_wq *idxd_wq, int n) {}
46 static inline void update_wq_decomp_calls(struct idxd_wq *idxd_wq) {}
47 static inline void update_wq_decomp_bytes(struct idxd_wq *idxd_wq, int n) {}
49 static inline u64 iaa_get_ts(void) { return 0; }
51 #endif // CONFIG_CRYPTO_DEV_IAA_CRYPTO_STATS