nicvf
struct nicvf *nicvf;
struct nicvf *pnicvf;
struct nicvf *snicvf[MAX_SQS_PER_VF];
u64 nicvf;
struct nicvf_ptr nicvf;
int nicvf_send_msg_to_pf(struct nicvf *vf, union nic_mbx *mbx);
void nicvf_config_rss(struct nicvf *nic);
void nicvf_set_rss_key(struct nicvf *nic);
void nicvf_update_stats(struct nicvf *nic);
void nicvf_update_lmac_stats(struct nicvf *nic);
nic->nicvf[vf] = mbx.nicvf.nicvf;
nic_send_snicvf(nic, &mbx.nicvf);
u64 nicvf[MAX_NUM_VFS_SUPPORTED];
mbx.nicvf.msg = NIC_MBOX_MSG_PNICVF_PTR;
mbx.nicvf.nicvf = nic->nicvf[nic->pqs_vf[sqs]];
static void nic_send_snicvf(struct nicpf *nic, struct nicvf_ptr *nicvf)
int sqs_id = nic->vf_sqs[nicvf->vf_id][nicvf->sqs_id];
mbx.nicvf.msg = NIC_MBOX_MSG_SNICVF_PTR;
mbx.nicvf.sqs_id = nicvf->sqs_id;
mbx.nicvf.nicvf = nic->nicvf[sqs_id];
nic_send_msg_to_vf(nic, nicvf->vf_id, &mbx);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
static void nicvf_get_qset_strings(struct nicvf *nic, u8 **data, int qset)
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *snic;
static void nicvf_get_qset_stats(struct nicvf *nic,
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic = netdev_priv(netdev);
static void nicvf_dump_intr_status(struct nicvf *nic)
struct nicvf *nic = (struct nicvf *)nicvf_irq;
void nicvf_queue_reg_write(struct nicvf *nic, u64 offset,
struct nicvf *nic = cq_poll->nicvf;
struct nicvf *nic = (struct nicvf *)nicvf_irq;
struct nicvf *nic = (struct nicvf *)nicvf_irq;
static void nicvf_set_irq_affinity(struct nicvf *nic)
u64 nicvf_queue_reg_read(struct nicvf *nic, u64 offset, u64 qidx)
static int nicvf_register_interrupts(struct nicvf *nic)
static void nicvf_unregister_interrupts(struct nicvf *nic)
static void nicvf_write_to_mbx(struct nicvf *nic, union nic_mbx *mbx)
static int nicvf_register_misc_interrupt(struct nicvf *nic)
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *snic;
int nicvf_send_msg_to_pf(struct nicvf *nic, union nic_mbx *mbx)
snic = (struct nicvf *)nic->snicvf[tmp - 1];
static inline void nicvf_free_cq_poll(struct nicvf *nic)
struct nicvf *nic = netdev_priv(netdev);
static int nicvf_config_hw_rx_tstamp(struct nicvf *nic, bool enable)
static int nicvf_update_hw_max_frs(struct nicvf *nic, int mtu)
struct nicvf *nic = container_of(work_arg,
struct nicvf,
struct nicvf *nic = netdev_priv(netdev);
cq_poll->nicvf = nic;
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
void nicvf_update_lmac_stats(struct nicvf *nic)
void nicvf_update_stats(struct nicvf *nic)
static int nicvf_check_pf_ready(struct nicvf *nic)
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(dev);
struct nicvf *nic;
nic = container_of(work, struct nicvf, reset_task);
static int nicvf_config_loopback(struct nicvf *nic,
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
static void nicvf_set_xdp_queues(struct nicvf *nic, bool bpf_attached)
static void nicvf_send_cfg_done(struct nicvf *nic)
static int nicvf_xdp_setup(struct nicvf *nic, struct bpf_prog *prog)
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
static void nicvf_read_bgx_stats(struct nicvf *nic, struct bgx_stats_msg *bgx)
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic)
static void nicvf_handle_mbx_intr(struct nicvf *nic)
struct nicvf *nic = container_of(vf_work, struct nicvf, rx_mode_work);
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic;
netdev = alloc_etherdev_mqs(sizeof(struct nicvf), qcount, qcount);
struct nicvf *nic;
nic->snicvf[mbx.nicvf.sqs_id] =
(struct nicvf *)mbx.nicvf.nicvf;
nic->pnicvf = (struct nicvf *)mbx.nicvf.nicvf;
static int nicvf_hw_set_mac_addr(struct nicvf *nic, struct net_device *netdev)
static void nicvf_config_cpi(struct nicvf *nic)
static void nicvf_get_rss_size(struct nicvf *nic)
void nicvf_config_rss(struct nicvf *nic)
void nicvf_set_rss_key(struct nicvf *nic)
static int nicvf_rss_init(struct nicvf *nic)
static void nicvf_request_sqs(struct nicvf *nic)
mbx.nicvf.msg = NIC_MBOX_MSG_SNICVF_PTR;
mbx.nicvf.vf_id = nic->vf_id;
mbx.nicvf.sqs_id = sqs;
static void nicvf_send_vf_struct(struct nicvf *nic)
mbx.nicvf.msg = NIC_MBOX_MSG_NICVF_PTR;
mbx.nicvf.sqs_mode = nic->sqs_mode;
mbx.nicvf.nicvf = (u64)nic;
static void nicvf_get_primary_vf_struct(struct nicvf *nic)
mbx.nicvf.msg = NIC_MBOX_MSG_PNICVF_PTR;
static int nicvf_init_resources(struct nicvf *nic)
static inline bool nicvf_xdp_rx(struct nicvf *nic, struct bpf_prog *prog,
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *nic = netdev_priv(netdev);
static inline u8 nicvf_netdev_qidx(struct nicvf *nic, u8 qidx)
static inline void nicvf_set_rxtstamp(struct nicvf *nic, struct sk_buff *skb)
struct nicvf *nic = netdev_priv(netdev);
struct nicvf *snic = nic;
struct nicvf *nic = netdev_priv(netdev);
void nicvf_reg_write(struct nicvf *nic, u64 offset, u64 val)
struct nicvf *nic = netdev_priv(netdev);
u64 nicvf_reg_read(struct nicvf *nic, u64 offset)
struct nicvf *nic = from_tasklet(nic, t, qs_err_task);
static int nicvf_alloc_resources(struct nicvf *nic)
int nicvf_set_qset_resources(struct nicvf *nic)
int nicvf_config_data_transfer(struct nicvf *nic, bool enable)
void nicvf_sq_enable(struct nicvf *nic, struct snd_queue *sq, int qidx)
void nicvf_sq_disable(struct nicvf *nic, int qidx)
struct nicvf *nic = netdev_priv(netdev);
void nicvf_xdp_sq_doorbell(struct nicvf *nic,
int nicvf_xdp_sq_append_pkt(struct nicvf *nic, struct snd_queue *sq,
static int nicvf_sq_subdesc_required(struct nicvf *nic, struct sk_buff *skb)
nicvf_sq_add_hdr_subdesc(struct nicvf *nic, struct snd_queue *sq, int qentry,
static inline void nicvf_sq_doorbell(struct nicvf *nic, struct sk_buff *skb,
static int nicvf_sq_append_tso(struct nicvf *nic, struct snd_queue *sq,
int nicvf_sq_append_skb(struct nicvf *nic, struct snd_queue *sq,
static void nicvf_unmap_rcv_buffer(struct nicvf *nic, u64 dma_addr,
struct sk_buff *nicvf_get_rcv_skb(struct nicvf *nic,
void nicvf_enable_intr(struct nicvf *nic, int int_type, int q_idx)
static inline int nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
void nicvf_disable_intr(struct nicvf *nic, int int_type, int q_idx)
void nicvf_clear_intr(struct nicvf *nic, int int_type, int q_idx)
int nicvf_is_intr_enabled(struct nicvf *nic, int int_type, int q_idx)
void nicvf_update_rq_stats(struct nicvf *nic, int rq_idx)
void nicvf_update_sq_stats(struct nicvf *nic, int sq_idx)
int nicvf_check_cqe_rx_errs(struct nicvf *nic, struct cqe_rx_t *cqe_rx)
int nicvf_check_cqe_tx_errs(struct nicvf *nic, struct cqe_send_t *cqe_tx)
static void nicvf_get_page(struct nicvf *nic)
static struct sk_buff *nicvf_rb_ptr_to_skb(struct nicvf *nic,
static int nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr,
static void nicvf_free_rbdr(struct nicvf *nic, struct rbdr *rbdr)
static int nicvf_poll_reg(struct nicvf *nic, int qidx,
static void nicvf_refill_rbdr(struct nicvf *nic, gfp_t gfp)
struct nicvf *nic = container_of(work, struct nicvf, rbdr_work.work);
struct nicvf *nic = from_tasklet(nic, t, rbdr_task);
static int nicvf_init_cmp_queue(struct nicvf *nic,
static void nicvf_free_cmp_queue(struct nicvf *nic, struct cmp_queue *cq)
static int nicvf_init_snd_queue(struct nicvf *nic,
static int nicvf_alloc_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem,
void nicvf_unmap_sndq_buffers(struct nicvf *nic, struct snd_queue *sq,
static void nicvf_free_snd_queue(struct nicvf *nic, struct snd_queue *sq)
static void nicvf_reclaim_snd_queue(struct nicvf *nic,
static void nicvf_reclaim_rcv_queue(struct nicvf *nic,
static void nicvf_reclaim_cmp_queue(struct nicvf *nic,
static void nicvf_reclaim_rbdr(struct nicvf *nic,
void nicvf_config_vlan_stripping(struct nicvf *nic, netdev_features_t features)
static void nicvf_free_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem)
static void nicvf_reset_rcv_queue_stats(struct nicvf *nic)
static void nicvf_rcv_queue_config(struct nicvf *nic, struct queue_set *qs,
void nicvf_cmp_queue_config(struct nicvf *nic, struct queue_set *qs,
static void nicvf_snd_queue_config(struct nicvf *nic, struct queue_set *qs,
static void nicvf_rbdr_config(struct nicvf *nic, struct queue_set *qs,
static inline struct pgcache *nicvf_alloc_page(struct nicvf *nic,
void nicvf_qset_config(struct nicvf *nic, bool enable)
static void nicvf_free_resources(struct nicvf *nic)
static inline u64 nicvf_iova_to_phys(struct nicvf *nic, dma_addr_t dma_addr)
void nicvf_unmap_sndq_buffers(struct nicvf *nic, struct snd_queue *sq,
void nicvf_config_vlan_stripping(struct nicvf *nic,
int nicvf_set_qset_resources(struct nicvf *nic);
int nicvf_config_data_transfer(struct nicvf *nic, bool enable);
void nicvf_qset_config(struct nicvf *nic, bool enable);
void nicvf_cmp_queue_config(struct nicvf *nic, struct queue_set *qs,
void nicvf_sq_enable(struct nicvf *nic, struct snd_queue *sq, int qidx);
void nicvf_sq_disable(struct nicvf *nic, int qidx);
int nicvf_sq_append_skb(struct nicvf *nic, struct snd_queue *sq,
int nicvf_xdp_sq_append_pkt(struct nicvf *nic, struct snd_queue *sq,
void nicvf_xdp_sq_doorbell(struct nicvf *nic, struct snd_queue *sq, int sq_num);
struct sk_buff *nicvf_get_rcv_skb(struct nicvf *nic,
void nicvf_enable_intr(struct nicvf *nic, int int_type, int q_idx);
void nicvf_disable_intr(struct nicvf *nic, int int_type, int q_idx);
void nicvf_clear_intr(struct nicvf *nic, int int_type, int q_idx);
int nicvf_is_intr_enabled(struct nicvf *nic, int int_type, int q_idx);
void nicvf_reg_write(struct nicvf *nic, u64 offset, u64 val);
u64 nicvf_reg_read(struct nicvf *nic, u64 offset);
void nicvf_queue_reg_write(struct nicvf *nic, u64 offset,
u64 nicvf_queue_reg_read(struct nicvf *nic,
void nicvf_update_rq_stats(struct nicvf *nic, int rq_idx);
void nicvf_update_sq_stats(struct nicvf *nic, int sq_idx);
int nicvf_check_cqe_rx_errs(struct nicvf *nic, struct cqe_rx_t *cqe_rx);
int nicvf_check_cqe_tx_errs(struct nicvf *nic, struct cqe_send_t *cqe_tx);