Lines Matching full:pf
44 bool is_mac_feature_supported(struct rvu *rvu, int pf, int feature) in is_mac_feature_supported() argument
49 if (!is_pf_cgxmapped(rvu, pf)) in is_mac_feature_supported()
52 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in is_mac_feature_supported()
71 /* Assumes only one pf mapped to a cgx lmac port */ in cgxlmac_to_pf()
107 /* Based on P2X connectivity find mapped NIX block for a PF */
108 static void rvu_map_cgx_nix_block(struct rvu *rvu, int pf, in rvu_map_cgx_nix_block() argument
111 struct rvu_pfvf *pfvf = &rvu->pf[pf]; in rvu_map_cgx_nix_block()
125 int pf = PF_CGXMAP_BASE; in rvu_map_cgx_lmac_pf() local
138 * An additional entry is required since PF id starts from 1 and in rvu_map_cgx_lmac_pf()
167 rvu->pf2cgxlmac_map[pf] = cgxlmac_id_to_bmap(cgx, lmac); in rvu_map_cgx_lmac_pf()
168 rvu->cgxlmac2pf_map[CGX_OFFSET(cgx) + lmac] = 1 << pf; in rvu_map_cgx_lmac_pf()
170 pkind->pfchan_map[free_pkind] = ((pf) & 0x3F) << 16; in rvu_map_cgx_lmac_pf()
171 rvu_map_cgx_nix_block(rvu, pf, cgx, lmac); in rvu_map_cgx_lmac_pf()
173 rvu_get_pf_numvfs(rvu, pf, &numvfs, &hwvfs); in rvu_map_cgx_lmac_pf()
175 pf++; in rvu_map_cgx_lmac_pf()
242 dev_err(rvu->dev, "CGX port%d:%d not mapped with PF\n", in cgx_notify_pfs()
262 /* Send mbox message to PF */ in cgx_notify_pfs()
453 /* Most of the CGX configuration is restricted to the mapped PF only,
454 * VF's of mapped PF and other PFs are not allowed. This fn() checks
465 void rvu_cgx_enadis_rx_bp(struct rvu *rvu, int pf, bool enable) in rvu_cgx_enadis_rx_bp() argument
471 if (!is_pf_cgxmapped(rvu, pf)) in rvu_cgx_enadis_rx_bp()
474 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_enadis_rx_bp()
487 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_config_rxtx() local
495 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_config_rxtx()
504 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_tx_enable() local
512 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_tx_enable()
529 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_disable_dmac_entries() local
544 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_disable_dmac_entries()
580 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_lmac_get_stats() local
590 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_idx, &lmac); in rvu_lmac_get_stats()
636 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_stats_rst() local
645 parent_pf = &rvu->pf[pf]; in rvu_mbox_handler_cgx_stats_rst()
647 * check if it used by only PF interface. in rvu_mbox_handler_cgx_stats_rst()
655 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_idx, &lmac); in rvu_mbox_handler_cgx_stats_rst()
666 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_fec_stats() local
673 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_idx, &lmac); in rvu_mbox_handler_cgx_fec_stats()
684 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_addr_set() local
688 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_mac_addr_set()
694 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_mac_addr_set()
696 pfvf = &rvu->pf[pf]; in rvu_mbox_handler_cgx_mac_addr_set()
707 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_addr_add() local
717 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_mac_addr_add()
731 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_addr_del() local
740 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_mac_addr_del()
749 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_max_entries_get() local
766 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_mac_max_entries_get()
788 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_mbox_handler_cgx_promisc_enable() local
798 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_promisc_enable()
807 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_promisc_disable() local
817 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_promisc_disable()
826 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_ptp_rx_cfg() local
831 if (!is_mac_feature_supported(rvu, pf, RVU_LMAC_FEAT_PTP)) in rvu_cgx_ptp_rx_cfg()
834 /* This msg is expected only from PF/VFs that are mapped to CGX/RPM LMACs, in rvu_cgx_ptp_rx_cfg()
835 * if received from other PF/VF simply ACK, nothing to do. in rvu_cgx_ptp_rx_cfg()
837 if (!is_pf_cgxmapped(rvu, pf)) in rvu_cgx_ptp_rx_cfg()
840 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_ptp_rx_cfg()
846 * parsed by this PF will have their data shifted by 8 bytes in rvu_cgx_ptp_rx_cfg()
849 if (npc_config_ts_kpuaction(rvu, pf, pcifunc, enable)) in rvu_cgx_ptp_rx_cfg()
876 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_config_linkevents() local
882 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_config_linkevents()
885 set_bit(pf, &rvu->pf_notify_bmap); in rvu_cgx_config_linkevents()
886 /* Send the current link status to PF */ in rvu_cgx_config_linkevents()
889 clear_bit(pf, &rvu->pf_notify_bmap); in rvu_cgx_config_linkevents()
913 int pf, err; in rvu_mbox_handler_cgx_get_linkinfo() local
915 pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_get_linkinfo()
917 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_get_linkinfo()
920 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_get_linkinfo()
931 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_features_get() local
935 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_features_get()
938 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_idx, &lmac); in rvu_mbox_handler_cgx_features_get()
973 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_config_intlbk() local
980 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_config_intlbk()
1003 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_cfg_pause_frm() local
1009 if (!is_mac_feature_supported(rvu, pf, RVU_LMAC_FEAT_FC)) in rvu_cgx_cfg_pause_frm()
1012 /* This msg is expected only from PF/VFs that are mapped to CGX LMACs, in rvu_cgx_cfg_pause_frm()
1013 * if received from other PF/VF simply ACK, nothing to do. in rvu_cgx_cfg_pause_frm()
1015 if (!is_pf_cgxmapped(rvu, pf)) in rvu_cgx_cfg_pause_frm()
1018 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_cfg_pause_frm()
1044 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_cfg_pause_frm() local
1050 /* This msg is expected only from PF/VFs that are mapped to CGX LMACs, in rvu_mbox_handler_cgx_cfg_pause_frm()
1051 * if received from other PF/VF simply ACK, nothing to do. in rvu_mbox_handler_cgx_cfg_pause_frm()
1053 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_cfg_pause_frm()
1056 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_cfg_pause_frm()
1071 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_get_phy_fec_stats() local
1074 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_get_phy_fec_stats()
1077 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_get_phy_fec_stats()
1081 /* Finds cumulative status of NIX rx/tx counters from LF of a PF and those
1090 int pf, lf; in rvu_cgx_nix_cuml_stats() local
1097 pf = cgxlmac_to_pf(rvu, cgx_get_cgxid(cgxd), lmac_id); in rvu_cgx_nix_cuml_stats()
1098 if (pf < 0) in rvu_cgx_nix_cuml_stats()
1099 return pf; in rvu_cgx_nix_cuml_stats()
1101 /* Assumes LF of a PF and all of its VF belongs to the same in rvu_cgx_nix_cuml_stats()
1104 pcifunc = rvu_make_pcifunc(rvu->pdev, pf, 0); in rvu_cgx_nix_cuml_stats()
1111 /* Check if a lf is attached to this PF or one of its VFs */ in rvu_cgx_nix_cuml_stats()
1134 parent_pf = &rvu->pf[rvu_get_pf(rvu->pdev, pcifunc)]; in rvu_cgx_start_stop_io()
1177 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_set_fec_param() local
1180 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_set_fec_param()
1185 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_set_fec_param()
1193 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_get_aux_link_info() local
1199 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_get_aux_link_info()
1202 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_get_aux_link_info()
1220 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_set_link_mode() local
1228 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_idx, &lmac); in rvu_mbox_handler_cgx_set_link_mode()
1243 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_addr_reset() local
1249 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_mac_addr_reset()
1261 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_mac_addr_update() local
1270 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_mac_addr_update()
1277 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_cgx_prio_flow_ctrl_cfg() local
1283 /* This msg is expected only from PF/VFs that are mapped to CGX LMACs, in rvu_cgx_prio_flow_ctrl_cfg()
1284 * if received from other PF/VF simply ACK, nothing to do. in rvu_cgx_prio_flow_ctrl_cfg()
1286 if (!is_pf_cgxmapped(rvu, pf)) in rvu_cgx_prio_flow_ctrl_cfg()
1289 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_cgx_prio_flow_ctrl_cfg()
1315 int pf = rvu_get_pf(rvu->pdev, req->hdr.pcifunc); in rvu_mbox_handler_cgx_prio_flow_ctrl_cfg() local
1321 /* This msg is expected only from PF/VFs that are mapped to CGX LMACs, in rvu_mbox_handler_cgx_prio_flow_ctrl_cfg()
1322 * if received from other PF/VF simply ACK, nothing to do. in rvu_mbox_handler_cgx_prio_flow_ctrl_cfg()
1324 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mbox_handler_cgx_prio_flow_ctrl_cfg()
1327 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); in rvu_mbox_handler_cgx_prio_flow_ctrl_cfg()
1340 int pf = rvu_get_pf(rvu->pdev, pcifunc); in rvu_mac_reset() local
1345 if (!is_pf_cgxmapped(rvu, pf)) in rvu_mac_reset()
1348 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx, &lmac); in rvu_mac_reset()