xref: /linux/drivers/crypto/intel/qat/qat_common/adf_kpt.h (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*fb98254aSJunyuan Wang /* SPDX-License-Identifier: GPL-2.0-only */
2*fb98254aSJunyuan Wang /* Copyright(c) 2026 Intel Corporation */
3*fb98254aSJunyuan Wang #ifndef ADF_KPT_H_
4*fb98254aSJunyuan Wang #define ADF_KPT_H_
5*fb98254aSJunyuan Wang 
6*fb98254aSJunyuan Wang #include <linux/types.h>
7*fb98254aSJunyuan Wang 
8*fb98254aSJunyuan Wang #define GET_KPT_CFG_DATA(accel_dev) (&(accel_dev)->hw_device->kpt_data)
9*fb98254aSJunyuan Wang #define GET_KPT_USER_DATA(accel_dev) (&(accel_dev)->hw_device->kpt_data.user_input)
10*fb98254aSJunyuan Wang 
11*fb98254aSJunyuan Wang struct adf_accel_dev;
12*fb98254aSJunyuan Wang 
13*fb98254aSJunyuan Wang struct adf_kpt_interface_data {
14*fb98254aSJunyuan Wang 	bool enable;
15*fb98254aSJunyuan Wang 	bool swk_shared;
16*fb98254aSJunyuan Wang 	unsigned int swk_cnt_per_fn;
17*fb98254aSJunyuan Wang 	unsigned int swk_cnt_per_pasid;
18*fb98254aSJunyuan Wang 	unsigned int swk_max_ttl;
19*fb98254aSJunyuan Wang };
20*fb98254aSJunyuan Wang 
21*fb98254aSJunyuan Wang struct adf_kpt_hw_data {
22*fb98254aSJunyuan Wang 	unsigned int max_swk_cnt_per_fn_pasid;
23*fb98254aSJunyuan Wang 	unsigned int max_swk_ttl;
24*fb98254aSJunyuan Wang 	struct adf_kpt_interface_data user_input;
25*fb98254aSJunyuan Wang };
26*fb98254aSJunyuan Wang 
27*fb98254aSJunyuan Wang int adf_enable_kpt(struct adf_accel_dev *accel_dev);
28*fb98254aSJunyuan Wang 
29*fb98254aSJunyuan Wang #endif /* ADF_KPT_H_ */
30