1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* Copyright(c) 2023 Intel Corporation */ 3 #ifndef ADF_ADMIN 4 #define ADF_ADMIN 5 6 #include "icp_qat_fw_init_admin.h" 7 8 struct adf_accel_dev; 9 10 int adf_init_admin_comms(struct adf_accel_dev *accel_dev); 11 void adf_exit_admin_comms(struct adf_accel_dev *accel_dev); 12 int adf_send_admin_init(struct adf_accel_dev *accel_dev); 13 int adf_get_ae_fw_counters(struct adf_accel_dev *accel_dev, u16 ae, u64 *reqs, u64 *resps); 14 int adf_init_admin_pm(struct adf_accel_dev *accel_dev, u32 idle_delay); 15 int adf_send_admin_tim_sync(struct adf_accel_dev *accel_dev, u32 cnt); 16 int adf_send_admin_hb_timer(struct adf_accel_dev *accel_dev, uint32_t ticks); 17 int adf_send_admin_rl_init(struct adf_accel_dev *accel_dev, 18 struct icp_qat_fw_init_admin_slice_cnt *slices); 19 int adf_send_admin_rl_add_update(struct adf_accel_dev *accel_dev, 20 struct icp_qat_fw_init_admin_req *req); 21 int adf_send_admin_rl_delete(struct adf_accel_dev *accel_dev, u16 node_id, 22 u8 node_type); 23 int adf_get_fw_timestamp(struct adf_accel_dev *accel_dev, u64 *timestamp); 24 int adf_get_pm_info(struct adf_accel_dev *accel_dev, dma_addr_t p_state_addr, size_t buff_size); 25 int adf_get_cnv_stats(struct adf_accel_dev *accel_dev, u16 ae, u16 *err_cnt, u16 *latest_err); 26 int adf_send_admin_tl_start(struct adf_accel_dev *accel_dev, 27 dma_addr_t tl_dma_addr, size_t layout_sz, u8 *rp_indexes, 28 struct icp_qat_fw_init_admin_slice_cnt *slice_count); 29 int adf_send_admin_tl_stop(struct adf_accel_dev *accel_dev); 30 31 #endif 32