1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright(c) 2007-2022 Intel Corporation */
3 /* $FreeBSD$ */
4 #ifndef ADF_FW_COUNTERS_H_
5 #define ADF_FW_COUNTERS_H_
6
7 #include <linux/rwsem.h>
8 #include "adf_accel_devices.h"
9
10 #define FW_COUNTERS_MAX_STR_LEN 64
11 #define FW_COUNTERS_MAX_KEY_LEN_IN_BYTES FW_COUNTERS_MAX_STR_LEN
12 #define FW_COUNTERS_MAX_VAL_LEN_IN_BYTES FW_COUNTERS_MAX_STR_LEN
13 #define FW_COUNTERS_MAX_SECTION_LEN_IN_BYTES FW_COUNTERS_MAX_STR_LEN
14 #define ADF_FW_COUNTERS_NO_RESPONSE -1
15
16 struct adf_fw_counters_val {
17 char key[FW_COUNTERS_MAX_KEY_LEN_IN_BYTES];
18 char val[FW_COUNTERS_MAX_VAL_LEN_IN_BYTES];
19 struct list_head list;
20 };
21
22 struct adf_fw_counters_section {
23 char name[FW_COUNTERS_MAX_SECTION_LEN_IN_BYTES];
24 struct list_head list;
25 struct list_head param_head;
26 };
27
28 struct adf_fw_counters_data {
29 struct list_head ae_sec_list;
30 struct sysctl_oid *debug;
31 struct rw_semaphore lock;
32 };
33
34 int adf_fw_counters_add(struct adf_accel_dev *accel_dev);
35 void adf_fw_counters_remove(struct adf_accel_dev *accel_dev);
36 int adf_fw_count_ras_event(struct adf_accel_dev *accel_dev,
37 u32 *ras_event,
38 char *aeidstr);
39
40 #endif /* ADF_FW_COUNTERS_H_ */
Cache object: c2df8ea613065dbadab51feb9450018a
|