brintos

brintos / linux-shallow public Read only

0
0
Text · 1.8 KiB · 89df388 Raw
78 lines · c
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 6410#define ADF_CFG_MAX_KEY_LEN_IN_BYTES ADF_CFG_MAX_STR_LEN11#define ADF_CFG_MAX_VAL_LEN_IN_BYTES ADF_CFG_MAX_STR_LEN12#define ADF_CFG_MAX_SECTION_LEN_IN_BYTES ADF_CFG_MAX_STR_LEN13#define ADF_CFG_BASE_DEC 1014#define ADF_CFG_BASE_HEX 1615#define ADF_CFG_ALL_DEVICES 0xFE16#define ADF_CFG_NO_DEVICE 0xFF17#define ADF_CFG_AFFINITY_WHATEVER 0xFF18#define MAX_DEVICE_NAME_SIZE 3219#define ADF_MAX_DEVICES (32 * 32)20#define ADF_DEVS_ARRAY_SIZE BITS_TO_LONGS(ADF_MAX_DEVICES)21 22#define ADF_CFG_SERV_RING_PAIR_0_SHIFT 023#define ADF_CFG_SERV_RING_PAIR_1_SHIFT 324#define ADF_CFG_SERV_RING_PAIR_2_SHIFT 625#define ADF_CFG_SERV_RING_PAIR_3_SHIFT 926enum adf_cfg_service_type {27	UNUSED = 0,28	CRYPTO,29	COMP,30	SYM,31	ASYM,32	USED33};34 35enum adf_cfg_val_type {36	ADF_DEC,37	ADF_HEX,38	ADF_STR39};40 41enum adf_device_type {42	DEV_UNKNOWN = 0,43	DEV_DH895XCC,44	DEV_DH895XCCVF,45	DEV_C62X,46	DEV_C62XVF,47	DEV_C3XXX,48	DEV_C3XXXVF,49	DEV_4XXX,50	DEV_420XX,51};52 53struct adf_dev_status_info {54	enum adf_device_type type;55	__u32 accel_id;56	__u32 instance_id;57	__u8 num_ae;58	__u8 num_accel;59	__u8 num_logical_accel;60	__u8 banks_per_accel;61	__u8 state;62	__u8 bus;63	__u8 dev;64	__u8 fun;65	char name[MAX_DEVICE_NAME_SIZE];66};67 68#define ADF_CTL_IOC_MAGIC 'a'69#define IOCTL_CONFIG_SYS_RESOURCE_PARAMETERS _IOW(ADF_CTL_IOC_MAGIC, 0, \70		struct adf_user_cfg_ctl_data)71#define IOCTL_STOP_ACCEL_DEV _IOW(ADF_CTL_IOC_MAGIC, 1, \72		struct adf_user_cfg_ctl_data)73#define IOCTL_START_ACCEL_DEV _IOW(ADF_CTL_IOC_MAGIC, 2, \74		struct adf_user_cfg_ctl_data)75#define IOCTL_STATUS_ACCEL_DEV _IOW(ADF_CTL_IOC_MAGIC, 3, __u32)76#define IOCTL_GET_NUM_DEVICES _IOW(ADF_CTL_IOC_MAGIC, 4, __s32)77#endif78