Lines Matching defs:vsi
123 static void ice_init_tx_tracking(struct ice_vsi *vsi);
897 struct ice_vsi *vsi = &sc->pf_vsi;
910 for (i = 0; i < vsi->num_rx_queues; i++)
911 vsi->rx_queues[i].irqv = NULL;
913 for (i = 0; i < vsi->num_tx_queues; i++)
914 vsi->tx_queues[i].irqv = NULL;
936 struct ice_vsi *vsi = &sc->pf_vsi;
964 ice_vsi_del_txqs_ctx(vsi);
965 ice_vsi_del_rxqs_ctx(vsi);
1029 struct ice_vsi *vsi = &sc->pf_vsi;
1042 if (!(vsi->tx_queues =
1049 for (i = 0, txq = vsi->tx_queues; i < ntxqsets; i++, txq++) {
1062 err = ice_resmgr_assign_contiguous(&sc->tx_qmgr, vsi->tx_qmap, ntxqsets);
1068 vsi->qmap_type = ICE_RESMGR_ALLOC_CONTIGUOUS;
1071 ice_vsi_add_txqs_ctx(vsi);
1073 for (i = 0, txq = vsi->tx_queues; i < ntxqsets; i++, txq++) {
1076 txq->vsi = vsi;
1082 txq->tail = QTX_COMM_DBELL(vsi->tx_qmap[i]);
1089 vsi->num_tx_queues = ntxqsets;
1094 for (i = 0, txq = vsi->tx_queues; i < ntxqsets; i++, txq++) {
1100 free(vsi->tx_queues, M_ICE);
1101 vsi->tx_queues = NULL;
1121 struct ice_vsi *vsi = &sc->pf_vsi;
1134 if (!(vsi->rx_queues =
1141 err = ice_resmgr_assign_contiguous(&sc->rx_qmgr, vsi->rx_qmap, nrxqsets);
1147 vsi->qmap_type = ICE_RESMGR_ALLOC_CONTIGUOUS;
1150 ice_vsi_add_rxqs_ctx(vsi);
1152 for (i = 0, rxq = vsi->rx_queues; i < nrxqsets; i++, rxq++) {
1154 rxq->vsi = vsi;
1160 rxq->tail = QRX_TAIL(vsi->rx_qmap[i]);
1167 vsi->num_rx_queues = nrxqsets;
1172 free(vsi->rx_queues, M_ICE);
1173 vsi->rx_queues = NULL;
1198 struct ice_vsi *vsi = &sc->pf_vsi;
1207 ice_vsi_del_txqs_ctx(vsi);
1208 ice_vsi_del_rxqs_ctx(vsi);
1213 if (vsi->tx_queues != NULL) {
1215 for (i = 0, txq = vsi->tx_queues; i < vsi->num_tx_queues; i++, txq++) {
1221 free(vsi->tx_queues, M_ICE);
1222 vsi->tx_queues = NULL;
1223 vsi->num_tx_queues = 0;
1225 if (vsi->rx_queues != NULL) {
1226 free(vsi->rx_queues, M_ICE);
1227 vsi->rx_queues = NULL;
1228 vsi->num_rx_queues = 0;
1599 struct ice_vsi *vsi = &sc->pf_vsi;
1604 if (vsi->num_rx_queues != vsi->num_tx_queues) {
1607 vsi->num_tx_queues, vsi->num_rx_queues);
1611 if (msix < (vsi->num_rx_queues + 1)) {
1618 sc->num_irq_vectors = vsi->num_rx_queues + 1;
1645 for (i = 0, vector = 1; i < vsi->num_rx_queues; i++, vector++) {
1646 struct ice_rx_queue *rxq = &vsi->rx_queues[i];
1647 struct ice_tx_queue *txq = &vsi->tx_queues[i];
1731 struct ice_vsi *vsi = &sc->pf_vsi;
1744 for (int i = 0; i < vsi->num_rx_queues; i++)
1745 ice_enable_intr(hw, vsi->rx_queues[i].irqv->me);
1789 struct ice_vsi *vsi = &sc->pf_vsi;
1796 ice_enable_intr(hw, vsi->rx_queues[rxqid].irqv->me);
1813 struct ice_vsi *vsi = &sc->pf_vsi;
1820 ice_enable_intr(hw, vsi->tx_queues[txqid].irqv->me);
1956 * @vsi: the VSI to initialize
1962 ice_init_tx_tracking(struct ice_vsi *vsi)
1968 for (i = 0, txq = vsi->tx_queues; i < vsi->num_tx_queues; i++, txq++) {
1995 struct ice_vsi *vsi = &sc->pf_vsi;
1998 vsi->mbuf_sz = mbuf_sz;
2216 ice_update_vsi_hw_stats(sc->mirr_if->vsi);
2266 struct ice_vsi *vsi = &sc->pf_vsi;
2283 ice_vsi_del_txqs_ctx(vsi);
2284 ice_vsi_del_rxqs_ctx(vsi);
2461 ice_resmgr_release_map(&sc->tx_qmgr, sc->mirr_if->vsi->tx_qmap,
2463 ice_resmgr_release_map(&sc->rx_qmgr, sc->mirr_if->vsi->rx_qmap,
2485 struct ice_vsi *vsi = &sc->pf_vsi;
2491 err = ice_resmgr_assign_contiguous(&sc->tx_qmgr, vsi->tx_qmap,
2492 vsi->num_tx_queues);
2500 err = ice_resmgr_assign_contiguous(&sc->rx_qmgr, vsi->rx_qmap,
2501 vsi->num_rx_queues);
2508 vsi->qmap_type = ICE_RESMGR_ALLOC_CONTIGUOUS;
2511 for (i = 0, txq = vsi->tx_queues; i < vsi->num_tx_queues; i++, txq++)
2512 txq->tail = QTX_COMM_DBELL(vsi->tx_qmap[i]);
2515 for (i = 0, rxq = vsi->rx_queues; i < vsi->num_rx_queues; i++, rxq++)
2516 rxq->tail = QRX_TAIL(vsi->rx_qmap[i]);
3514 struct ice_vsi *vsi = mif->vsi;
3553 * vsi:
3558 ice_release_vsi(vsi);
3579 struct ice_vsi *vsi;
3582 /* vsi is for the new mirror vsi, not the PF's main VSI */
3583 vsi = ice_alloc_vsi(sc, ICE_VSI_VMDQ2);
3584 if (!vsi) {
3588 mif->vsi = vsi;
3591 ice_alloc_vsi_qmap(vsi, ICE_DEFAULT_VF_QUEUES, ICE_DEFAULT_VF_QUEUES);
3592 vsi->num_tx_queues = vsi->num_rx_queues = ICE_DEFAULT_VF_QUEUES;
3595 ret = ice_resmgr_assign_scattered(&sc->tx_qmgr, vsi->tx_qmap,
3596 vsi->num_tx_queues);
3603 ret = ice_resmgr_assign_scattered(&sc->rx_qmgr, vsi->rx_qmap,
3604 vsi->num_rx_queues);
3610 vsi->qmap_type = ICE_RESMGR_ALLOC_SCATTERED;
3611 vsi->max_frame_size = ICE_MAX_FRAME_SIZE;
3613 ret = ice_initialize_vsi(vsi);
3621 ret = ice_config_rss(vsi);
3630 vsi->mirror_src_vsi = sc->pf_vsi.idx;
3634 vsi->mirror_src_vsi, vsi->idx);
3636 ice_get_hw_vsi_num(&sc->hw, vsi->mirror_src_vsi),
3637 ice_get_hw_vsi_num(&sc->hw, vsi->idx));
3639 ret = ice_setup_vsi_mirroring(vsi);
3650 ice_release_vsi(vsi);
3651 mif->vsi = NULL;
3739 ice_add_vsi_sysctls(mif->vsi);
3777 struct ice_vsi *vsi = mif->vsi;
3786 for (i = 0; i < vsi->num_rx_queues; i++, rid++) {
3787 struct ice_rx_queue *rxq = &vsi->rx_queues[i];
3788 struct ice_tx_queue *txq = &vsi->tx_queues[i];
3840 struct ice_vsi *vsi = sc->mirr_if->vsi;
3850 err = ice_initialize_vsi(vsi);
3857 err = ice_config_rss(vsi);
3865 vsi->mirror_src_vsi = sc->pf_vsi.idx;
3867 err = ice_setup_vsi_mirroring(vsi);
3880 ice_deinit_vsi(vsi);
3882 ice_resmgr_release_map(&sc->tx_qmgr, vsi->tx_qmap,
3884 ice_resmgr_release_map(&sc->rx_qmgr, vsi->rx_qmap,
3900 struct ice_vsi *vsi = sc->mirr_if->vsi;
3905 err = ice_resmgr_assign_scattered(&sc->tx_qmgr, vsi->tx_qmap, sc->mirr_if->num_irq_vectors);
3912 err = ice_resmgr_assign_scattered(&sc->rx_qmgr, vsi->rx_qmap, sc->mirr_if->num_irq_vectors);
3919 vsi->qmap_type = ICE_RESMGR_ALLOC_SCATTERED;
3922 for (i = 0, txq = vsi->tx_queues; i < vsi->num_tx_queues; i++, txq++)
3923 txq->tail = QTX_COMM_DBELL(vsi->tx_qmap[i]);
3926 for (i = 0, rxq = vsi->rx_queues; i < vsi->num_rx_queues; i++, rxq++)
3927 rxq->tail = QRX_TAIL(vsi->rx_qmap[i]);
3932 ice_resmgr_release_map(&sc->tx_qmgr, vsi->tx_qmap, vsi->num_tx_queues);
3955 struct ice_vsi *vsi;
3962 vsi = mif->vsi;
3964 MPASS(vsi->num_tx_queues == ntxqsets);
3967 if (!(vsi->tx_queues =
3975 for (i = 0, txq = vsi->tx_queues; i < ntxqsets; i++, txq++) {
3989 ice_vsi_add_txqs_ctx(vsi);
3991 for (i = 0, txq = vsi->tx_queues; i < ntxqsets; i++, txq++) {
3994 txq->vsi = vsi;
4000 txq->tail = QTX_COMM_DBELL(vsi->tx_qmap[i]);
4010 for (i = 0, txq = vsi->tx_queues; i < ntxqsets; i++, txq++) {
4016 free(vsi->tx_queues, M_ICE);
4017 vsi->tx_queues = NULL;
4039 struct ice_vsi *vsi;
4046 vsi = mif->vsi;
4048 MPASS(vsi->num_rx_queues == nrxqsets);
4051 if (!(vsi->rx_queues =
4059 ice_vsi_add_rxqs_ctx(vsi);
4061 for (i = 0, rxq = vsi->rx_queues; i < nrxqsets; i++, rxq++) {
4063 rxq->vsi = vsi;
4069 rxq->tail = QRX_TAIL(vsi->rx_qmap[i]);
4093 struct ice_vsi *vsi = mif->vsi;
4098 if (vsi->num_rx_queues != vsi->num_tx_queues) {
4101 vsi->num_tx_queues, vsi->num_rx_queues);
4115 mif->num_irq_vectors = vsi->num_rx_queues;
4178 struct ice_vsi *vsi = mif->vsi;
4186 for (int i = 0; i < vsi->num_rx_queues; i++)
4187 ice_enable_intr(hw, vsi->rx_queues[i].irqv->me);
4204 struct ice_vsi *vsi = mif->vsi;
4211 ice_enable_intr(hw, vsi->rx_queues[rxqid].irqv->me);
4229 struct ice_vsi *vsi = mif->vsi;
4236 ice_enable_intr(hw, vsi->tx_queues[txqid].irqv->me);
4254 struct ice_vsi *vsi = mif->vsi;
4279 vsi->mbuf_sz = iflib_get_rx_mbuf_sz(ctx);
4282 ice_init_tx_tracking(vsi);
4284 err = ice_cfg_vsi_for_tx(vsi);
4292 err = ice_cfg_vsi_for_rx(vsi);
4300 err = ice_control_all_rx_queues(vsi, true);
4308 ice_configure_all_rxq_interrupts(vsi);
4309 ice_configure_rx_itr(vsi);
4315 ice_vsi_disable_tx(vsi);
4333 struct ice_vsi *vsi = mif->vsi;
4354 ice_flush_txq_interrupts(vsi);
4355 ice_flush_rxq_interrupts(vsi);
4358 ice_vsi_disable_tx(vsi);
4359 ice_control_all_rx_queues(vsi, false);
4372 struct ice_vsi *vsi = mif->vsi;
4385 for (i = 0; i < vsi->num_rx_queues; i++)
4393 sc->last_rid -= vsi->num_rx_queues;
4396 for (i = 0; i < vsi->num_rx_queues; i++)
4397 vsi->rx_queues[i].irqv = NULL;
4399 for (i = 0; i < vsi->num_tx_queues; i++)
4400 vsi->tx_queues[i].irqv = NULL;
4418 struct ice_vsi *vsi = mif->vsi;
4425 ice_vsi_del_txqs_ctx(vsi);
4426 ice_vsi_del_rxqs_ctx(vsi);
4431 if (vsi->tx_queues != NULL) {
4433 for (i = 0, txq = vsi->tx_queues; i < vsi->num_tx_queues; i++, txq++) {
4439 free(vsi->tx_queues, M_ICE);
4440 vsi->tx_queues = NULL;
4442 if (vsi->rx_queues != NULL) {
4443 free(vsi->rx_queues, M_ICE);
4444 vsi->rx_queues = NULL;