#ifndef _ENIC_H_
#define _ENIC_H_
#include "vnic_enet.h"
#include "vnic_dev.h"
#include "vnic_wq.h"
#include "vnic_rq.h"
#include "vnic_cq.h"
#include "vnic_intr.h"
#include "vnic_stats.h"
#include "vnic_nic.h"
#include "vnic_rss.h"
#include <linux/irq.h>
#define DRV_NAME …
#define DRV_DESCRIPTION …
#define ENIC_BARS_MAX …
#define ENIC_WQ_MAX …
#define ENIC_RQ_MAX …
#define ENIC_CQ_MAX …
#define ENIC_INTR_MAX …
#define ENIC_WQ_NAPI_BUDGET …
#define ENIC_AIC_LARGE_PKT_DIFF …
struct enic_msix_entry { … };
struct enic_intr_mod_range { … };
struct enic_intr_mod_table { … };
#define ENIC_MAX_LINK_SPEEDS …
#define ENIC_LINK_SPEED_10G …
#define ENIC_LINK_SPEED_4G …
#define ENIC_LINK_40G_INDEX …
#define ENIC_LINK_10G_INDEX …
#define ENIC_LINK_4G_INDEX …
#define ENIC_RX_COALESCE_RANGE_END …
#define ENIC_AIC_TS_BREAK …
struct enic_rx_coal { … };
#define ENIC_SRIOV_ENABLED …
#define ENIC_PORT_REQUEST_APPLIED …
#define ENIC_SET_REQUEST …
#define ENIC_SET_NAME …
#define ENIC_SET_INSTANCE …
#define ENIC_SET_HOST …
struct enic_port_profile { … };
struct enic_rfs_fltr_node { … };
struct enic_rfs_flw_tbl { … };
struct vxlan_offload { … };
struct enic { … };
static inline struct net_device *vnic_get_netdev(struct vnic_dev *vdev)
{ … }
#define vdev_err(vdev, fmt, ...) …
#define vdev_warn(vdev, fmt, ...) …
#define vdev_info(vdev, fmt, ...) …
#define vdev_neterr(vdev, fmt, ...) …
#define vdev_netwarn(vdev, fmt, ...) …
#define vdev_netinfo(vdev, fmt, ...) …
static inline struct device *enic_get_dev(struct enic *enic)
{ … }
static inline unsigned int enic_cq_rq(struct enic *enic, unsigned int rq)
{ … }
static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq)
{ … }
static inline unsigned int enic_msix_rq_intr(struct enic *enic,
unsigned int rq)
{ … }
static inline unsigned int enic_msix_wq_intr(struct enic *enic,
unsigned int wq)
{ … }
static inline unsigned int enic_msix_err_intr(struct enic *enic)
{ … }
#define ENIC_LEGACY_IO_INTR …
#define ENIC_LEGACY_ERR_INTR …
#define ENIC_LEGACY_NOTIFY_INTR …
static inline unsigned int enic_msix_notify_intr(struct enic *enic)
{ … }
static inline bool enic_is_err_intr(struct enic *enic, int intr)
{ … }
static inline bool enic_is_notify_intr(struct enic *enic, int intr)
{ … }
static inline int enic_dma_map_check(struct enic *enic, dma_addr_t dma_addr)
{ … }
void enic_reset_addr_lists(struct enic *enic);
int enic_sriov_enabled(struct enic *enic);
int enic_is_valid_vf(struct enic *enic, int vf);
int enic_is_dynamic(struct enic *enic);
void enic_set_ethtool_ops(struct net_device *netdev);
int __enic_set_rsskey(struct enic *enic);
#endif