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