common/sfc_efx/base: add multi-host function mport selector
[dpdk.git] / drivers / common / sfc_efx / sfc_efx.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  *
3  * Copyright(c) 2019-2021 Xilinx, Inc.
4  * Copyright(c) 2019 Solarflare Communications Inc.
5  *
6  * This software was jointly developed between OKTET Labs (under contract
7  * for Solarflare) and Solarflare Communications, Inc.
8  */
9
10 #ifndef _SFC_EFX_H_
11 #define _SFC_EFX_H_
12
13 #include <rte_bus_pci.h>
14
15 #include "efx.h"
16 #include "efsys.h"
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 enum sfc_efx_dev_class {
23         SFC_EFX_DEV_CLASS_INVALID = 0,
24         SFC_EFX_DEV_CLASS_NET,
25         SFC_EFX_DEV_CLASS_VDPA,
26
27         SFC_EFX_DEV_NCLASS
28 };
29
30 __rte_internal
31 enum sfc_efx_dev_class sfc_efx_dev_class_get(struct rte_devargs *devargs);
32
33 __rte_internal
34 int sfc_efx_family(struct rte_pci_device *pci_dev,
35                    efx_bar_region_t *mem_ebrp,
36                    efx_family_t *family);
37
38 #ifdef __cplusplus
39 }
40 #endif
41
42 #endif /* _SFC_EFX_H_ */