1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright(c) 2007-2022 Intel Corporation */
3 /* $FreeBSD$ */
4 /******************************************************************************
5 * @file icp_adf_cfg.h
6 *
7 * @defgroup icp_AdfCfg Acceleration Driver Framework Configuration Interface.
8 *
9 * @ingroup icp_Adf
10 *
11 * @description
12 * This is the top level header file for the run-time system configuration
13 * parameters. This interface may be used by components of this API to
14 * access the supported run-time configuration parameters.
15 *
16 *****************************************************************************/
17
18 #ifndef ICP_ADF_CFG_H
19 #define ICP_ADF_CFG_H
20
21 #include "cpa.h"
22 #include "icp_accel_devices.h"
23
24 /******************************************************************************
25 * Section for #define's & typedef's
26 ******************************************************************************/
27 /* Address of the UOF firmware */
28 #define ICP_CFG_UOF_ADDRESS_KEY ("Firmware_UofAddress")
29 /* Size of the UOF firmware */
30 #define ICP_CFG_UOF_SIZE_BYTES_KEY ("Firmware_UofSizeInBytes")
31 /* Address of the MMP firmware */
32 #define ICP_CFG_MMP_ADDRESS_KEY ("Firmware_MmpAddress")
33 /* Size of the MMP firmware */
34 #define ICP_CFG_MMP_SIZE_BYTES_KEY ("Firmware_MMpSizeInBytes")
35 /* MMP firmware version */
36 #define ICP_CFG_MMP_VER_KEY ("Firmware_MmpVer")
37 /* UOF firmware version */
38 #define ICP_CFG_UOF_VER_KEY ("Firmware_UofVer")
39 /* Tools version */
40 #define ICP_CFG_TOOLS_VER_KEY ("Firmware_ToolsVer")
41 /* Hardware rev id */
42 #define ICP_CFG_HW_REV_ID_KEY ("HW_RevId")
43 /* Lowest Compatible Driver Version */
44 #define ICP_CFG_LO_COMPATIBLE_DRV_KEY ("Lowest_Compat_Drv_Ver")
45 /* Pke Service Disabled flag */
46 #define ICP_CFG_PKE_DISABLED ("PkeServiceDisabled")
47 /* SRAM Physical Address Key */
48 #define ADF_SRAM_PHYSICAL_ADDRESS ("Sram_PhysicalAddress")
49 /* SRAM Virtual Address Key */
50 #define ADF_SRAM_VIRTUAL_ADDRESS ("Sram_VirtualAddress")
51 /* SRAM Size In Bytes Key */
52 #define ADF_SRAM_SIZE_IN_BYTES ("Sram_SizeInBytes")
53 /* Device node id, tells to which die the device is
54 * connected to */
55 #define ADF_DEV_NODE_ID "Device_NodeId"
56 /* Device package id, this is accel_dev id */
57 #define ADF_DEV_PKG_ID "Device_PkgId"
58 /* Device bus address, B.D.F (Bus(8bits),Device(5bits),Function(3bits)) */
59 #define ADF_DEV_BUS_ADDRESS ("Device_BusAddress")
60 /* Number of Acceleration Engines */
61 #define ADF_DEV_NUM_AE ("Device_Num_AE")
62 /* Number of Accelerators */
63 #define ADF_DEV_NUM_ACCEL ("Device_Num_Accel")
64 /* Max Number of Acceleration Engines */
65 #define ADF_DEV_MAX_AE ("Device_Max_AE")
66 /* Max Number of Accelerators */
67 #define ADF_DEV_MAX_ACCEL ("Device_Max_Accel")
68 /* QAT/AE Mask*/
69 #define ADF_DEV_MAX_RING_PER_QAT ("Device_Max_Num_Rings_per_Accel")
70 /* Number of Accelerators */
71 #define ADF_DEV_ACCELAE_MASK_FMT ("Device_Accel_AE_Mask_%d")
72 /* VF ring offset */
73 #define ADF_VF_RING_OFFSET_KEY ("VF_RingOffset")
74 /* Mask of Accelerators */
75 #define ADF_DEV_AE_MASK ("Device_AE_Mask")
76 /* Whether or not arbitration is supported */
77 #define ADF_DEV_ARB_SUPPORTED ("ArbitrationSupported")
78 /* Slice Watch Dog Timer for CySym+Comp */
79 #define ADF_DEV_SSM_WDT_BULK "CySymAndDcWatchDogTimer"
80 /* Slice Watch Dog Timer for CyAsym */
81 #define ADF_DEV_SSM_WDT_PKE "CyAsymWatchDogTimer"
82
83 /* String names for the exposed sections of config file. */
84 #define GENERAL_SEC "GENERAL"
85 #define WIRELESS_SEC "WIRELESS_INT_"
86 #define DYN_SEC "DYN"
87 #define DEV_LIMIT_CFG_ACCESS_TMPL "_D_L_ACC"
88 /*#define WIRELESS_ENABLED "WirelessEnabled"*/
89
90 /*
91 * icp_adf_cfgGetParamValue
92 *
93 * Description:
94 * This function is used to determine the value for a given parameter name.
95 *
96 * Returns:
97 * CPA_STATUS_SUCCESS on success
98 * CPA_STATUS_FAIL on failure
99 */
100 CpaStatus icp_adf_cfgGetParamValue(icp_accel_dev_t *accel_dev,
101 const char *section,
102 const char *param_name,
103 char *param_value);
104 /*
105 * icp_adf_cfgGetRingNumber
106 *
107 * Description:
108 * Function returns ring number configured for the service.
109 * NOTE: this function will only be used by QATAL in kernelspace.
110 * Returns:
111 * CPA_STATUS_SUCCESS on success
112 * CPA_STATUS_FAIL on failure
113 */
114 CpaStatus icp_adf_cfgGetRingNumber(icp_accel_dev_t *accel_dev,
115 const char *section_name,
116 const Cpa32U accel_num,
117 const Cpa32U bank_num,
118 const char *pServiceName,
119 Cpa32U *pRingNum);
120
121 /*
122 * icp_adf_get_busAddress
123 * Gets the B.D.F. of the physical device
124 */
125 Cpa16U icp_adf_get_busAddress(Cpa16U packageId);
126
127 #endif /* ICP_ADF_CFG_H */
Cache object: a06a0ad9999510ad1691ead6da98ac3d
|