GNU Linux-libre 5.16.19-gnu
[releases.git] / drivers / crypto / qat / qat_common / adf_cfg_common.h
1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2 /* Copyright(c) 2014 - 2020 Intel Corporation */
3 #ifndef ADF_CFG_COMMON_H_
4 #define ADF_CFG_COMMON_H_
5
6 #include <linux/types.h>
7 #include <linux/ioctl.h>
8
9 #define ADF_CFG_MAX_STR_LEN 64
10 #define ADF_CFG_MAX_KEY_LEN_IN_BYTES ADF_CFG_MAX_STR_LEN
11 #define ADF_CFG_MAX_VAL_LEN_IN_BYTES ADF_CFG_MAX_STR_LEN
12 #define ADF_CFG_MAX_SECTION_LEN_IN_BYTES ADF_CFG_MAX_STR_LEN
13 #define ADF_CFG_BASE_DEC 10
14 #define ADF_CFG_BASE_HEX 16
15 #define ADF_CFG_ALL_DEVICES 0xFE
16 #define ADF_CFG_NO_DEVICE 0xFF
17 #define ADF_CFG_AFFINITY_WHATEVER 0xFF
18 #define MAX_DEVICE_NAME_SIZE 32
19 #define ADF_MAX_DEVICES (32 * 32)
20 #define ADF_DEVS_ARRAY_SIZE BITS_TO_LONGS(ADF_MAX_DEVICES)
21
22 enum adf_cfg_val_type {
23         ADF_DEC,
24         ADF_HEX,
25         ADF_STR
26 };
27
28 enum adf_device_type {
29         DEV_UNKNOWN = 0,
30         DEV_DH895XCC,
31         DEV_DH895XCCVF,
32         DEV_C62X,
33         DEV_C62XVF,
34         DEV_C3XXX,
35         DEV_C3XXXVF,
36         DEV_4XXX,
37 };
38
39 struct adf_dev_status_info {
40         enum adf_device_type type;
41         __u32 accel_id;
42         __u32 instance_id;
43         __u8 num_ae;
44         __u8 num_accel;
45         __u8 num_logical_accel;
46         __u8 banks_per_accel;
47         __u8 state;
48         __u8 bus;
49         __u8 dev;
50         __u8 fun;
51         char name[MAX_DEVICE_NAME_SIZE];
52 };
53
54 #define ADF_CTL_IOC_MAGIC 'a'
55 #define IOCTL_CONFIG_SYS_RESOURCE_PARAMETERS _IOW(ADF_CTL_IOC_MAGIC, 0, \
56                 struct adf_user_cfg_ctl_data)
57 #define IOCTL_STOP_ACCEL_DEV _IOW(ADF_CTL_IOC_MAGIC, 1, \
58                 struct adf_user_cfg_ctl_data)
59 #define IOCTL_START_ACCEL_DEV _IOW(ADF_CTL_IOC_MAGIC, 2, \
60                 struct adf_user_cfg_ctl_data)
61 #define IOCTL_STATUS_ACCEL_DEV _IOW(ADF_CTL_IOC_MAGIC, 3, __u32)
62 #define IOCTL_GET_NUM_DEVICES _IOW(ADF_CTL_IOC_MAGIC, 4, __s32)
63 #endif