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