xref: /dpdk/drivers/net/sfc/sfc_sriov.h (revision 98d26ef7b839e43b0cdbdee216c7caca6b76f8f8)
1dd45b880SAndrew Rybchenko /* SPDX-License-Identifier: BSD-3-Clause
2dd45b880SAndrew Rybchenko  *
3*98d26ef7SAndrew Rybchenko  * Copyright(c) 2019-2021 Xilinx, Inc.
4dd45b880SAndrew Rybchenko  * Copyright(c) 2019 Solarflare Communications Inc.
5dd45b880SAndrew Rybchenko  *
6dd45b880SAndrew Rybchenko  * This software was jointly developed between OKTET Labs (under contract
7dd45b880SAndrew Rybchenko  * for Solarflare) and Solarflare Communications, Inc.
8dd45b880SAndrew Rybchenko  */
9dd45b880SAndrew Rybchenko 
10dd45b880SAndrew Rybchenko #ifndef _SFC_SRIOV_H
11dd45b880SAndrew Rybchenko #define _SFC_SRIOV_H
12dd45b880SAndrew Rybchenko 
13dd45b880SAndrew Rybchenko #include "efx.h"
14dd45b880SAndrew Rybchenko 
15dd45b880SAndrew Rybchenko #ifdef __cplusplus
16dd45b880SAndrew Rybchenko extern "C" {
17dd45b880SAndrew Rybchenko #endif
18dd45b880SAndrew Rybchenko 
19dd45b880SAndrew Rybchenko struct sfc_sriov {
20dd45b880SAndrew Rybchenko 	/** Number of enabled virtual functions */
21dd45b880SAndrew Rybchenko 	unsigned int			num_vfs;
22dd45b880SAndrew Rybchenko 	/** PF and VFs vPorts configuration */
23dd45b880SAndrew Rybchenko 	efx_vport_config_t		*vport_config;
24dd45b880SAndrew Rybchenko 	/** vSwitch handle */
25dd45b880SAndrew Rybchenko 	efx_vswitch_t			*vswitch;
26dd45b880SAndrew Rybchenko };
27dd45b880SAndrew Rybchenko 
28dd45b880SAndrew Rybchenko struct sfc_adapter;
29dd45b880SAndrew Rybchenko 
30dd45b880SAndrew Rybchenko int sfc_sriov_attach(struct sfc_adapter *sa);
31dd45b880SAndrew Rybchenko void sfc_sriov_detach(struct sfc_adapter *sa);
32dd45b880SAndrew Rybchenko 
33dd45b880SAndrew Rybchenko int sfc_sriov_vswitch_create(struct sfc_adapter *sa);
34dd45b880SAndrew Rybchenko void sfc_sriov_vswitch_destroy(struct sfc_adapter *sa);
35dd45b880SAndrew Rybchenko 
36dd45b880SAndrew Rybchenko #ifdef __cplusplus
37dd45b880SAndrew Rybchenko }
38dd45b880SAndrew Rybchenko #endif
39dd45b880SAndrew Rybchenko #endif /* _SFC_SRIOV_H */
40