/* SPDX-License-Identifier: GPL-2.0 */ /* Copyright(c) 2021 Intel Corporation. All rights rsvd. */ #ifndef __CRYPTO_DEV_IAA_CRYPTO_STATS_H__ #define __CRYPTO_DEV_IAA_CRYPTO_STATS_H__ #if defined(CONFIG_CRYPTO_DEV_IAA_CRYPTO_STATS) int iaa_crypto_debugfs_init(void); void iaa_crypto_debugfs_cleanup(void); void update_total_comp_calls(void); void update_total_comp_bytes_out(int n); void update_total_decomp_calls(void); void update_total_sw_decomp_calls(void); void update_total_decomp_bytes_in(int n); void update_max_comp_delay_ns(u64 start_time_ns); void update_max_decomp_delay_ns(u64 start_time_ns); void update_completion_einval_errs(void); void update_completion_timeout_errs(void); void update_completion_comp_buf_overflow_errs(void); void update_wq_comp_calls(struct idxd_wq *idxd_wq); void update_wq_comp_bytes(struct idxd_wq *idxd_wq, int n); void update_wq_decomp_calls(struct idxd_wq *idxd_wq); void update_wq_decomp_bytes(struct idxd_wq *idxd_wq, int n); static inline u64 iaa_get_ts(void) { return ktime_get_ns(); } #else static inline int iaa_crypto_debugfs_init(void) { return 0; } static inline void iaa_crypto_debugfs_cleanup(void) {} static inline void update_total_comp_calls(void) {} static inline void update_total_comp_bytes_out(int n) {} static inline void update_total_decomp_calls(void) {} static inline void update_total_sw_decomp_calls(void) {} static inline void update_total_decomp_bytes_in(int n) {} static inline void update_max_comp_delay_ns(u64 start_time_ns) {} static inline void update_max_decomp_delay_ns(u64 start_time_ns) {} static inline void update_completion_einval_errs(void) {} static inline void update_completion_timeout_errs(void) {} static inline void update_completion_comp_buf_overflow_errs(void) {} static inline void update_wq_comp_calls(struct idxd_wq *idxd_wq) {} static inline void update_wq_comp_bytes(struct idxd_wq *idxd_wq, int n) {} static inline void update_wq_decomp_calls(struct idxd_wq *idxd_wq) {} static inline void update_wq_decomp_bytes(struct idxd_wq *idxd_wq, int n) {} static inline u64 iaa_get_ts(void) { return 0; } #endif // CONFIG_CRYPTO_DEV_IAA_CRYPTO_STATS #endif