1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2001-2023 Intel Corporation 3 */ 4 5 #ifndef _IDPF_PROTOTYPE_H_ 6 #define _IDPF_PROTOTYPE_H_ 7 8 /* Include generic macros and types first */ 9 #include "idpf_osdep.h" 10 #include "idpf_controlq.h" 11 #include "idpf_type.h" 12 #include "idpf_alloc.h" 13 #include "idpf_devids.h" 14 #include "idpf_controlq_api.h" 15 #include "idpf_lan_pf_regs.h" 16 #include "idpf_lan_vf_regs.h" 17 #include "idpf_lan_txrx.h" 18 #include <virtchnl.h> 19 20 #define APF 21 22 int idpf_init_hw(struct idpf_hw *hw, struct idpf_ctlq_size ctlq_size); 23 void idpf_deinit_hw(struct idpf_hw *hw); 24 25 int idpf_clean_arq_element(struct idpf_hw *hw, 26 struct idpf_arq_event_info *e, 27 u16 *events_pending); 28 bool idpf_asq_done(struct idpf_hw *hw); 29 bool idpf_check_asq_alive(struct idpf_hw *hw); 30 31 int idpf_get_rss_lut(struct idpf_hw *hw, u16 seid, bool pf_lut, 32 u8 *lut, u16 lut_size); 33 int idpf_set_rss_lut(struct idpf_hw *hw, u16 seid, bool pf_lut, 34 u8 *lut, u16 lut_size); 35 int idpf_get_rss_key(struct idpf_hw *hw, u16 seid, 36 struct idpf_get_set_rss_key_data *key); 37 int idpf_set_rss_key(struct idpf_hw *hw, u16 seid, 38 struct idpf_get_set_rss_key_data *key); 39 40 int idpf_set_mac_type(struct idpf_hw *hw); 41 42 int idpf_reset(struct idpf_hw *hw); 43 int idpf_send_msg_to_cp(struct idpf_hw *hw, int v_opcode, 44 int v_retval, u8 *msg, u16 msglen); 45 #endif /* _IDPF_PROTOTYPE_H_ */ 46