xref: /dpdk/drivers/net/intel/cpfl/cpfl_representor.h (revision c1d145834f287aa8cf53de914618a7312f2c360e)
1*c1d14583SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
2*c1d14583SBruce Richardson  * Copyright(c) 2023 Intel Corporation
3*c1d14583SBruce Richardson  */
4*c1d14583SBruce Richardson 
5*c1d14583SBruce Richardson #ifndef _CPFL_REPRESENTOR_H_
6*c1d14583SBruce Richardson #define _CPFL_REPRESENTOR_H_
7*c1d14583SBruce Richardson 
8*c1d14583SBruce Richardson #include <ethdev_pci.h>
9*c1d14583SBruce Richardson #include <rte_ethdev.h>
10*c1d14583SBruce Richardson 
11*c1d14583SBruce Richardson struct cpfl_repr_id {
12*c1d14583SBruce Richardson 	uint8_t host_id;
13*c1d14583SBruce Richardson 	uint8_t pf_id;
14*c1d14583SBruce Richardson 	uint8_t type;
15*c1d14583SBruce Richardson 	uint8_t vf_id;
16*c1d14583SBruce Richardson };
17*c1d14583SBruce Richardson 
18*c1d14583SBruce Richardson struct cpfl_repr_param {
19*c1d14583SBruce Richardson 	struct cpfl_adapter_ext *adapter;
20*c1d14583SBruce Richardson 	struct cpfl_repr_id repr_id;
21*c1d14583SBruce Richardson 	struct cpfl_vport_info *vport_info;
22*c1d14583SBruce Richardson };
23*c1d14583SBruce Richardson 
24*c1d14583SBruce Richardson extern struct cpfl_devargs *devargs;
25*c1d14583SBruce Richardson 
26*c1d14583SBruce Richardson int cpfl_repr_devargs_process(struct cpfl_adapter_ext *adapter, struct cpfl_devargs *devargs);
27*c1d14583SBruce Richardson int cpfl_repr_create(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext *adapter);
28*c1d14583SBruce Richardson #endif
29