| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_common.c | 22 static bool otx2_is_pfc_enabled(struct otx2_nic *pfvf) in otx2_is_pfc_enabled() argument 24 return IS_ENABLED(CONFIG_DCB) && !!pfvf->pfc_en; in otx2_is_pfc_enabled() 28 struct otx2_nic *pfvf, int qidx) in otx2_nix_rq_op_stats() argument 33 ptr = otx2_get_regaddr(pfvf, NIX_LF_RQ_OP_OCTS); in otx2_nix_rq_op_stats() 36 ptr = otx2_get_regaddr(pfvf, NIX_LF_RQ_OP_PKTS); in otx2_nix_rq_op_stats() 41 struct otx2_nic *pfvf, int qidx) in otx2_nix_sq_op_stats() argument 46 ptr = otx2_get_regaddr(pfvf, NIX_LF_SQ_OP_OCTS); in otx2_nix_sq_op_stats() 49 ptr = otx2_get_regaddr(pfvf, NIX_LF_SQ_OP_PKTS); in otx2_nix_sq_op_stats() 53 void otx2_update_lmac_stats(struct otx2_nic *pfvf) in otx2_update_lmac_stats() argument 57 if (!netif_running(pfvf->netdev)) in otx2_update_lmac_stats() [all …]
|
| H A D | qos_sq.c | 19 static void otx2_qos_aura_pool_free(struct otx2_nic *pfvf, int pool_id) in otx2_qos_aura_pool_free() argument 23 if (!pfvf->qset.pool) in otx2_qos_aura_pool_free() 26 pool = &pfvf->qset.pool[pool_id]; in otx2_qos_aura_pool_free() 27 qmem_free(pfvf->dev, pool->stack); in otx2_qos_aura_pool_free() 28 qmem_free(pfvf->dev, pool->fc_addr); in otx2_qos_aura_pool_free() 33 static int otx2_qos_sq_aura_pool_init(struct otx2_nic *pfvf, int qidx) in otx2_qos_sq_aura_pool_init() argument 35 struct otx2_qset *qset = &pfvf->qset; in otx2_qos_sq_aura_pool_init() 37 struct otx2_hw *hw = &pfvf->hw; in otx2_qos_sq_aura_pool_init() 56 pool_id = otx2_get_pool_idx(pfvf, AURA_NIX_SQ, qidx); in otx2_qos_sq_aura_pool_init() 57 pool = &pfvf->qset.pool[pool_id]; in otx2_qos_sq_aura_pool_init() [all …]
|
| H A D | qos.c | 26 static void otx2_qos_update_tx_netdev_queues(struct otx2_nic *pfvf) in otx2_qos_update_tx_netdev_queues() argument 28 struct otx2_hw *hw = &pfvf->hw; in otx2_qos_update_tx_netdev_queues() 31 qos_txqs = bitmap_weight(pfvf->qos.qos_sq_bmap, in otx2_qos_update_tx_netdev_queues() 36 err = netif_set_real_num_tx_queues(pfvf->netdev, tx_queues); in otx2_qos_update_tx_netdev_queues() 38 netdev_err(pfvf->netdev, in otx2_qos_update_tx_netdev_queues() 71 static int otx2_qos_quantum_to_dwrr_weight(struct otx2_nic *pfvf, u32 quantum) in otx2_qos_quantum_to_dwrr_weight() argument 75 weight = quantum / pfvf->hw.dwrr_mtu; in otx2_qos_quantum_to_dwrr_weight() 76 if (quantum % pfvf->hw.dwrr_mtu) in otx2_qos_quantum_to_dwrr_weight() 82 static void otx2_config_sched_shaping(struct otx2_nic *pfvf, in otx2_config_sched_shaping() argument 100 mtu_to_dwrr_weight(pfvf, pfvf->tx_max_pktlen); in otx2_config_sched_shaping() [all …]
|
| H A D | otx2_ethtool.c | 75 static struct cgx_fw_data *otx2_get_fwdata(struct otx2_nic *pfvf); 80 struct otx2_nic *pfvf = netdev_priv(netdev); in otx2_get_drvinfo() local 83 strscpy(info->bus_info, pci_name(pfvf->pdev), sizeof(info->bus_info)); in otx2_get_drvinfo() 86 static void otx2_get_qset_strings(struct otx2_nic *pfvf, u8 **data, int qset) in otx2_get_qset_strings() argument 88 int start_qidx = qset * pfvf->hw.rx_queues; in otx2_get_qset_strings() 91 for (qidx = 0; qidx < pfvf->hw.rx_queues; qidx++) in otx2_get_qset_strings() 96 for (qidx = 0; qidx < otx2_get_total_tx_queues(pfvf); qidx++) in otx2_get_qset_strings() 98 if (qidx >= pfvf->hw.non_qos_queues) in otx2_get_qset_strings() 101 pfvf->hw.non_qos_queues, in otx2_get_qset_strings() 111 struct otx2_nic *pfvf = netdev_priv(netdev); in otx2_get_strings() local [all …]
|
| H A D | otx2_txrx.c | 40 static bool otx2_xdp_rcv_pkt_handler(struct otx2_nic *pfvf, 57 static int otx2_nix_cq_op_status(struct otx2_nic *pfvf, in otx2_nix_cq_op_status() argument 63 status = otx2_atomic64_fetch_add(incr, pfvf->cq_op_addr); in otx2_nix_cq_op_status() 67 dev_err(pfvf->dev, "CQ stopped due to error"); in otx2_nix_cq_op_status() 105 static void otx2_xdp_snd_pkt_handler(struct otx2_nic *pfvf, in otx2_xdp_snd_pkt_handler() argument 120 otx2_dma_unmap_page(pfvf, sg->dma_addr[0], sg->size[0], DMA_TO_DEVICE); in otx2_xdp_snd_pkt_handler() 125 static void otx2_snd_pkt_handler(struct otx2_nic *pfvf, in otx2_snd_pkt_handler() argument 138 if (unlikely(snd_comp->status) && netif_msg_tx_err(pfvf)) in otx2_snd_pkt_handler() 140 pfvf->netdev->name, cq->cint_idx, in otx2_snd_pkt_handler() 151 timestamp = pfvf->ptp->convert_tx_ptp_tstmp(timestamp); in otx2_snd_pkt_handler() [all …]
|
| H A D | otx2_xsk.c | 17 int otx2_xsk_pool_alloc_buf(struct otx2_nic *pfvf, struct otx2_pool *pool, in otx2_xsk_pool_alloc_buf() argument 36 static int otx2_xsk_ctx_disable(struct otx2_nic *pfvf, u16 qidx, int aura_id) in otx2_xsk_ctx_disable() argument 43 if (test_bit(CN10K_LMTST, &pfvf->hw.cap_flag)) { in otx2_xsk_ctx_disable() 44 cn10k_rq_aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox); in otx2_xsk_ctx_disable() 53 rq_aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox); in otx2_xsk_ctx_disable() 63 aura_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox); in otx2_xsk_ctx_disable() 73 pool_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox); in otx2_xsk_ctx_disable() 84 return otx2_sync_mbox_msg(&pfvf->mbox); in otx2_xsk_ctx_disable() 87 otx2_mbox_reset(&pfvf->mbox.mbox, 0); in otx2_xsk_ctx_disable() 91 static void otx2_clean_up_rq(struct otx2_nic *pfvf, int qidx) in otx2_clean_up_rq() argument [all …]
|
| H A D | cn10k.h | 13 static inline int mtu_to_dwrr_weight(struct otx2_nic *pfvf, int mtu) in mtu_to_dwrr_weight() argument 20 weight = mtu / pfvf->hw.dwrr_mtu; in mtu_to_dwrr_weight() 21 if (mtu % pfvf->hw.dwrr_mtu) in mtu_to_dwrr_weight() 30 int cn10k_lmtst_init(struct otx2_nic *pfvf); 31 int cn10k_free_all_ipolicers(struct otx2_nic *pfvf); 32 int cn10k_alloc_matchall_ipolicer(struct otx2_nic *pfvf); 33 int cn10k_free_matchall_ipolicer(struct otx2_nic *pfvf); 34 int cn10k_set_matchall_ipolicer_rate(struct otx2_nic *pfvf, 36 int cn10k_map_unmap_rq_policer(struct otx2_nic *pfvf, int rq_idx, 38 int cn10k_alloc_leaf_profile(struct otx2_nic *pfvf, u16 *leaf); [all …]
|
| H A D | otx2_ptp.c | 51 struct otx2_nic *pfvf = ptp->nic; in otx2_ptp_hw_adjtime() local 58 mutex_lock(&pfvf->mbox.lock); in otx2_ptp_hw_adjtime() 61 mutex_unlock(&pfvf->mbox.lock); in otx2_ptp_hw_adjtime() 67 mutex_unlock(&pfvf->mbox.lock); in otx2_ptp_hw_adjtime() 117 struct otx2_nic *pfvf = ptp->nic; in otx2_ptp_hw_settime() local 127 mutex_lock(&pfvf->mbox.lock); in otx2_ptp_hw_settime() 130 mutex_unlock(&pfvf->mbox.lock); in otx2_ptp_hw_settime() 137 mutex_unlock(&pfvf->mbox.lock); in otx2_ptp_hw_settime() 234 struct otx2_nic *pfvf = ptp->nic; in otx2_ptp_tc_adjtime() local 236 mutex_lock(&pfvf->mbox.lock); in otx2_ptp_tc_adjtime() [all …]
|
| H A D | otx2_ptp.h | 26 int otx2_ptp_init(struct otx2_nic *pfvf); 27 void otx2_ptp_destroy(struct otx2_nic *pfvf); 29 int otx2_ptp_clock_index(struct otx2_nic *pfvf); 30 int otx2_ptp_tstamp2time(struct otx2_nic *pfvf, u64 tstamp, u64 *tsns);
|
| H A D | otx2_pf.c | 53 static int otx2_config_hw_tx_tstamp(struct otx2_nic *pfvf, bool enable); 54 static int otx2_config_hw_rx_tstamp(struct otx2_nic *pfvf, bool enable); 462 pf = vf_mbox->pfvf; in otx2_pfvf_mbox_handler() 499 struct otx2_nic *pf = vf_mbox->pfvf; in otx2_pfvf_mbox_up_handler() 652 mbox->pfvf = pf; in otx2_pfvf_mbox_init() 861 pf = af_mbox->pfvf; in otx2_pfaf_mbox_handler() 1010 struct otx2_nic *pf = af_mbox->pfvf; in otx2_pfaf_mbox_up_handler() 1205 mbox->pfvf = pf; in otx2_pfaf_mbox_init() 1276 int otx2_reset_mac_stats(struct otx2_nic *pfvf) in otx2_reset_mac_stats() argument 1281 mutex_lock(&pfvf->mbox.lock); in otx2_reset_mac_stats() [all …]
|
| H A D | qos.h | 26 int otx2_qos_get_qid(struct otx2_nic *pfvf); 27 void otx2_qos_free_qid(struct otx2_nic *pfvf, int qidx); 28 int otx2_qos_enable_sq(struct otx2_nic *pfvf, int qidx); 29 void otx2_qos_disable_sq(struct otx2_nic *pfvf, int qidx);
|
| H A D | otx2_xsk.h | 17 int otx2_xsk_pool_alloc_buf(struct otx2_nic *pfvf, struct otx2_pool *pool, 20 void otx2_zc_napi_handler(struct otx2_nic *pfvf, struct xsk_buff_pool *pool, 22 void otx2_attach_xsk_buff(struct otx2_nic *pfvf, struct otx2_snd_queue *sq, int qidx);
|
| H A D | cn10k_ipsec.h | 229 bool otx2_sqe_add_sg_ipsec(struct otx2_nic *pfvf, struct otx2_snd_queue *sq, 251 otx2_sqe_add_sg_ipsec(struct otx2_nic *pfvf, struct otx2_snd_queue *sq, in otx2_sqe_add_sg_ipsec() argument
|
| /linux/drivers/net/ethernet/marvell/octeontx2/af/ |
| H A D | rvu_switch.c | 13 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_switch_enable_lbk_link() local 16 nix_hw = get_nix_hw(rvu->hw, pfvf->nix_blkaddr); in rvu_switch_enable_lbk_link() 18 rvu_nix_tx_tl2_cfg(rvu, pfvf->nix_blkaddr, pcifunc, in rvu_switch_enable_lbk_link() 27 struct rvu_pfvf *pfvf; in rvu_switch_install_rx_rule() local 29 pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_switch_install_rx_rule() 34 if (!test_bit(NIXLF_INITIALIZED, &pfvf->flags)) in rvu_switch_install_rx_rule() 37 ether_addr_copy(req.packet.dmac, pfvf->mac_addr); in rvu_switch_install_rx_rule() 42 req.channel = pfvf->rx_chan_base; in rvu_switch_install_rx_rule() 44 req.intf = pfvf->nix_rx_intf; in rvu_switch_install_rx_rule() 55 struct rvu_pfvf *pfvf; in rvu_switch_install_tx_rule() local [all …]
|
| H A D | rvu_sdp.c | 56 struct rvu_pfvf *pfvf; in rvu_sdp_init() local 61 pfvf = &rvu->pf[sdp_pf_num[0]]; in rvu_sdp_init() 62 pfvf->sdp_info = &rvu->fwdata->channel_data.info; in rvu_sdp_init() 72 pfvf = &rvu->pf[sdp_pf_num[i]]; in rvu_sdp_init() 74 pfvf->sdp_info = devm_kzalloc(rvu->dev, in rvu_sdp_init() 77 if (!pfvf->sdp_info) { in rvu_sdp_init() 97 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, req->hdr.pcifunc); in rvu_mbox_handler_set_sdp_chan_info() local 99 memcpy(pfvf->sdp_info, &req->info, sizeof(struct sdp_node_info)); in rvu_mbox_handler_set_sdp_chan_info()
|
| H A D | rvu_nix.c | 110 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in is_nixlf_attached() local 114 if (!pfvf->nixlf || blkaddr < 0) in is_nixlf_attached() 135 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in nix_get_nixlf() local 140 if (!pfvf->nixlf || blkaddr < 0) in nix_get_nixlf() 156 struct rvu_pfvf *pfvf; in nix_get_struct_ptrs() local 158 pfvf = rvu_get_pfvf(rvu, pcifunc); in nix_get_struct_ptrs() 160 if (!pfvf->nixlf || *blkaddr < 0) in nix_get_struct_ptrs() 334 struct rvu_pfvf *parent_pf, *pfvf = rvu_get_pfvf(rvu, pcifunc); in nix_interface_init() local 350 pfvf->cgx_lmac = rvu->pf2cgxlmac_map[pf]; in nix_interface_init() 351 rvu_get_cgx_lmac_id(pfvf->cgx_lmac, &cgx_id, &lmac_id); in nix_interface_init() [all …]
|
| H A D | rvu_cn10k.c | 115 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_update_lmtaddr() local 134 if (!pfvf->lmt_base_addr) in rvu_update_lmtaddr() 135 pfvf->lmt_base_addr = val; in rvu_update_lmtaddr() 152 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, req->hdr.pcifunc); in rvu_mbox_handler_lmtst_tbl_setup() local 223 if (!pfvf->lmt_map_ent_w1) in rvu_mbox_handler_lmtst_tbl_setup() 224 pfvf->lmt_map_ent_w1 = val; in rvu_mbox_handler_lmtst_tbl_setup() 256 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_reset_lmt_map_tbl() local 263 if (pfvf->lmt_base_addr || pfvf->lmt_map_ent_w1) { in rvu_reset_lmt_map_tbl() 269 if (pfvf->lmt_base_addr) { in rvu_reset_lmt_map_tbl() 271 &pfvf->lmt_base_addr, in rvu_reset_lmt_map_tbl() [all …]
|
| H A D | rvu_rep.c | 38 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, event->pcifunc); in rvu_rep_up_notify() local 45 ether_addr_copy(pfvf->mac_addr, event->evt_data.mac); in rvu_rep_up_notify() 239 struct rvu_pfvf *pfvf; in rvu_rep_install_rx_rule() local 242 pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_rep_install_rx_rule() 270 req.intf = pfvf->nix_rx_intf; in rvu_rep_install_rx_rule() 280 struct rvu_pfvf *pfvf; in rvu_rep_install_tx_rule() local 285 pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_rep_install_tx_rule() 294 lbkid = pfvf->nix_blkaddr == BLKADDR_NIX0 ? 0 : 1; in rvu_rep_install_tx_rule() 305 req.intf = pfvf->nix_tx_intf; in rvu_rep_install_tx_rule() 415 struct rvu_pfvf *pfvf; in rvu_rep_pf_init() local [all …]
|
| H A D | rvu_npc.c | 67 void rvu_npc_set_pkind(struct rvu *rvu, int pkind, struct rvu_pfvf *pfvf) in rvu_npc_set_pkind() argument 132 struct rvu_pfvf *pfvf; in npc_get_ucast_mcam_index() local 134 pfvf = rvu_get_pfvf(rvu, pcifunc); in npc_get_ucast_mcam_index() 140 if (pfvf->nix_blkaddr == blkaddr) in npc_get_ucast_mcam_index() 481 struct rvu_pfvf *pfvf; in npc_fixup_vf_rule() local 493 pfvf = rvu_get_pfvf(rvu, target_func); in npc_fixup_vf_rule() 498 test_bit(NIXLF_INITIALIZED, &pfvf->flags))) in npc_fixup_vf_rule() 707 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_npc_install_ucast_entry() local 725 if (!npc_is_feature_supported(rvu, BIT_ULL(NPC_DMAC), pfvf->nix_rx_intf)) in rvu_npc_install_ucast_entry() 754 req.intf = pfvf->nix_rx_intf; in rvu_npc_install_ucast_entry() [all …]
|
| H A D | rvu_npc_fs.c | 1323 static int npc_update_rx_entry(struct rvu *rvu, struct rvu_pfvf *pfvf, in npc_update_rx_entry() argument 1351 if (pfvf->def_ucast_rule) { in npc_update_rx_entry() 1352 action = pfvf->def_ucast_rule->rx_action; in npc_update_rx_entry() 1384 static int npc_update_tx_entry(struct rvu *rvu, struct rvu_pfvf *pfvf, in npc_update_tx_entry() argument 1429 int nixlf, struct rvu_pfvf *pfvf, in npc_install_flow() argument 1434 struct rvu_npc_mcam_rule *def_ucast_rule = pfvf->def_ucast_rule; in npc_install_flow() 1463 err = npc_update_rx_entry(rvu, pfvf, &mdata, req, target, in npc_install_flow() 1468 err = npc_update_tx_entry(rvu, pfvf, &mdata, req, target); in npc_install_flow() 1599 rule->intf = pfvf->nix_tx_intf; in npc_install_flow() 1601 rule->intf = pfvf->nix_rx_intf; in npc_install_flow() [all …]
|
| H A D | rvu_cgx.c | 111 struct rvu_pfvf *pfvf = &rvu->pf[pf]; in rvu_map_cgx_nix_block() local 116 pfvf->nix_blkaddr = BLKADDR_NIX0; in rvu_map_cgx_nix_block() 118 pfvf->nix_blkaddr = BLKADDR_NIX1; in rvu_map_cgx_nix_block() 685 struct rvu_pfvf *pfvf; in rvu_mbox_handler_cgx_mac_addr_set() local 696 pfvf = &rvu->pf[pf]; in rvu_mbox_handler_cgx_mac_addr_set() 697 ether_addr_copy(pfvf->mac_addr, req->mac_addr); in rvu_mbox_handler_cgx_mac_addr_set() 775 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_addr_get() local 780 ether_addr_copy(rsp->mac_addr, pfvf->mac_addr); in rvu_mbox_handler_cgx_mac_addr_get() 825 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_cgx_ptp_rx_cfg() local 852 pfvf->hw_rx_tstamp_en = enable; in rvu_cgx_ptp_rx_cfg() [all …]
|
| H A D | mcs_rvu_if.c | 94 struct mcs_pfvf *pfvf; in mcs_add_intr_wq_entry() local 98 pfvf = &mcs->vf[rvu_get_hwvf(rvu, pcifunc)]; in mcs_add_intr_wq_entry() 100 pfvf = &mcs->pf[rvu_get_pf(rvu->pdev, pcifunc)]; in mcs_add_intr_wq_entry() 102 event->intr_mask &= pfvf->intr_mask; in mcs_add_intr_wq_entry() 105 if (!(pfvf->intr_mask && event->intr_mask)) in mcs_add_intr_wq_entry() 184 struct mcs_pfvf *pfvf; in rvu_mbox_handler_mcs_intr_cfg() local 194 pfvf = &mcs->vf[rvu_get_hwvf(rvu, pcifunc)]; in rvu_mbox_handler_mcs_intr_cfg() 196 pfvf = &mcs->pf[rvu_get_pf(rvu->pdev, pcifunc)]; in rvu_mbox_handler_mcs_intr_cfg() 199 pfvf->intr_mask = req->intr_mask; in rvu_mbox_handler_mcs_intr_cfg()
|
| /linux/drivers/net/ethernet/chelsio/cxgb4/ |
| H A D | smt.c | 209 static struct smt_entry *t4_smt_alloc_switching(struct adapter *adap, u16 pfvf, in t4_smt_alloc_switching() argument 222 e->pfvf = pfvf; in t4_smt_alloc_switching()
|
| H A D | smt.h | 60 u16 pfvf; member
|
| /linux/drivers/net/ethernet/marvell/octeontx2/af/cn20k/ |
| H A D | npc.c | 1347 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, req->hdr.pcifunc); in rvu_mbox_handler_npc_cn20k_mcam_write_entry() local 1370 nix_intf = pfvf->nix_tx_intf; in rvu_mbox_handler_npc_cn20k_mcam_write_entry() 1372 nix_intf = pfvf->nix_rx_intf; in rvu_mbox_handler_npc_cn20k_mcam_write_entry() 1418 struct rvu_pfvf *pfvf = rvu_get_pfvf(rvu, req->hdr.pcifunc); in rvu_mbox_handler_npc_cn20k_mcam_alloc_and_write_entry() local 1457 nix_intf = pfvf->nix_tx_intf; in rvu_mbox_handler_npc_cn20k_mcam_alloc_and_write_entry() 1459 nix_intf = pfvf->nix_rx_intf; in rvu_mbox_handler_npc_cn20k_mcam_alloc_and_write_entry() 1498 struct rvu_pfvf *pfvf; in rvu_mbox_handler_npc_cn20k_read_base_steer_rule() local 1507 pfvf = rvu_get_pfvf(rvu, pcifunc); in rvu_mbox_handler_npc_cn20k_read_base_steer_rule() 1508 rsp->entry.kw[0] = pfvf->rx_chan_base; in rvu_mbox_handler_npc_cn20k_read_base_steer_rule() 4301 struct rvu_pfvf *pfvf; in npc_cn20k_dft_rules_alloc() local [all …]
|