17f56f6d56
This commit introduces the flexible interface. This interface allows the core code to operate in PF mode (direct hardware access) or bifurcated mode (hardware configured via kernel driver). This driver currently only supports PF mode but bifurcated mode will be added in a future DPDK patch-set. Note that the flexible interface is not used for data path operations, and thus there are no performance concerns related to the use of function pointers. Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com> Reviewed-by: Gage Eads <gage.eads@intel.com>
30 lines
935 B
C
30 lines
935 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2016-2020 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _DLB2_IFACE_H_
|
|
#define _DLB2_IFACE_H_
|
|
|
|
/* DLB2 PMD Internal interface function pointers.
|
|
* If VDEV (bifurcated PMD), these will resolve to functions that issue ioctls
|
|
* serviced by DLB kernel module.
|
|
* If PCI (PF PMD), these will be implemented locally in user mode.
|
|
*/
|
|
|
|
extern void (*dlb2_iface_low_level_io_init)(void);
|
|
|
|
extern int (*dlb2_iface_open)(struct dlb2_hw_dev *handle, const char *name);
|
|
|
|
extern int (*dlb2_iface_get_device_version)(struct dlb2_hw_dev *handle,
|
|
uint8_t *revision);
|
|
|
|
extern void (*dlb2_iface_hardware_init)(struct dlb2_hw_dev *handle);
|
|
|
|
extern int (*dlb2_iface_get_cq_poll_mode)(struct dlb2_hw_dev *handle,
|
|
enum dlb2_cq_poll_modes *mode);
|
|
|
|
extern int (*dlb2_iface_get_num_resources)(struct dlb2_hw_dev *handle,
|
|
struct dlb2_get_num_resources_args *rsrcs);
|
|
|
|
#endif /* _DLB2_IFACE_H_ */
|