xref: /dpdk/drivers/common/idpf/base/idpf_prototype.h (revision a97fb92cd8735d6347ecbe095ee3ff2ac5817dd2)
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