vsi 236 drivers/infiniband/hw/i40iw/i40iw.h struct i40iw_sc_vsi vsi; vsi 544 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_receive_ilq(struct i40iw_sc_vsi *vsi, struct i40iw_puda_buf *rbuf); vsi 545 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_free_sqbuf(struct i40iw_sc_vsi *vsi, void *bufp); vsi 75 drivers/infiniband/hw/i40iw/i40iw_cm.c void i40iw_free_sqbuf(struct i40iw_sc_vsi *vsi, void *bufp) vsi 78 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_puda_rsrc *ilq = vsi->ilq; vsi 345 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_free_sqbuf(&iwdev->vsi, (void *)send_entry->sqbuf); vsi 379 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi = &cm_node->iwdev->vsi; vsi 393 drivers/infiniband/hw/i40iw/i40iw_cm.c sqbuf = i40iw_puda_get_bufpool(vsi->ilq); vsi 1060 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi = &cm_node->iwdev->vsi; vsi 1070 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_free_sqbuf(vsi, (void *)sqbuf); vsi 1099 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_puda_send_buf(vsi->ilq, sqbuf); vsi 1216 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi; vsi 1285 drivers/infiniband/hw/i40iw/i40iw_cm.c vsi = &cm_node->iwdev->vsi; vsi 1289 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_puda_send_buf(vsi->ilq, send_entry->sqbuf); vsi 1392 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_vsi *vsi = &cm_node->iwdev->vsi; vsi 1396 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_puda_send_buf(vsi->ilq, sqbuf); vsi 2217 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - I40IW_MTU_TO_MSS_IPV4; vsi 2230 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - I40IW_MTU_TO_MSS_IPV6; vsi 3123 drivers/infiniband/hw/i40iw/i40iw_cm.c void i40iw_receive_ilq(struct i40iw_sc_vsi *vsi, struct i40iw_puda_buf *rbuf) vsi 3131 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_sc_dev *dev = vsi->dev; vsi 342 drivers/infiniband/hw/i40iw/i40iw_ctrl.c void i40iw_change_l2params(struct i40iw_sc_vsi *vsi, struct i40iw_l2params *l2params) vsi 344 drivers/infiniband/hw/i40iw/i40iw_ctrl.c struct i40iw_sc_dev *dev = vsi->dev; vsi 351 drivers/infiniband/hw/i40iw/i40iw_ctrl.c if (vsi->mtu != l2params->mtu) { vsi 352 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->mtu = l2params->mtu; vsi 359 drivers/infiniband/hw/i40iw/i40iw_ctrl.c if (vsi->qos[i].qs_handle != qs_handle) vsi 361 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_lock_irqsave(&vsi->qos[i].lock, flags); vsi 362 drivers/infiniband/hw/i40iw/i40iw_ctrl.c qp = i40iw_get_qp(&vsi->qos[i].qplist, qp); vsi 369 drivers/infiniband/hw/i40iw/i40iw_ctrl.c qp = i40iw_get_qp(&vsi->qos[i].qplist, qp); vsi 371 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_unlock_irqrestore(&vsi->qos[i].lock, flags); vsi 372 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->qos[i].qs_handle = qs_handle; vsi 382 drivers/infiniband/hw/i40iw/i40iw_ctrl.c struct i40iw_sc_vsi *vsi = qp->vsi; vsi 387 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_lock_irqsave(&vsi->qos[qp->user_pri].lock, flags); vsi 389 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_unlock_irqrestore(&vsi->qos[qp->user_pri].lock, flags); vsi 398 drivers/infiniband/hw/i40iw/i40iw_ctrl.c struct i40iw_sc_vsi *vsi = qp->vsi; vsi 403 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_lock_irqsave(&vsi->qos[qp->user_pri].lock, flags); vsi 404 drivers/infiniband/hw/i40iw/i40iw_ctrl.c qp->qs_handle = vsi->qos[qp->user_pri].qs_handle; vsi 405 drivers/infiniband/hw/i40iw/i40iw_ctrl.c list_add(&qp->list, &vsi->qos[qp->user_pri].qplist); vsi 407 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_unlock_irqrestore(&vsi->qos[qp->user_pri].lock, flags); vsi 1263 drivers/infiniband/hw/i40iw/i40iw_ctrl.c struct i40iw_sc_vsi *vsi = info->vsi; vsi 1295 drivers/infiniband/hw/i40iw/i40iw_ctrl.c qw2 = LS_64(vsi->qos[info->user_pri].qs_handle, I40IW_CQPSQ_QHASH_QS_HANDLE); vsi 2365 drivers/infiniband/hw/i40iw/i40iw_ctrl.c qp->vsi = info->vsi; vsi 2426 drivers/infiniband/hw/i40iw/i40iw_ctrl.c qp->qs_handle = qp->vsi->qos[qp->user_pri].qs_handle; vsi 2755 drivers/infiniband/hw/i40iw/i40iw_ctrl.c struct i40iw_sc_vsi *vsi; vsi 2761 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi = qp->vsi; vsi 2802 drivers/infiniband/hw/i40iw/i40iw_ctrl.c LS_64(vsi->exception_lan_queue, I40IWQPC_EXCEPTION_LAN_QUEUE)); vsi 2812 drivers/infiniband/hw/i40iw/i40iw_ctrl.c LS_64(vsi->fcn_id, I40IWQPC_STAT_INDEX)); vsi 2827 drivers/infiniband/hw/i40iw/i40iw_ctrl.c LS_64((((vsi->stats_fcn_id_alloc) && vsi 2828 drivers/infiniband/hw/i40iw/i40iw_ctrl.c (dev->is_pf) && (vsi->fcn_id >= I40IW_FIRST_NON_PF_STAT)) ? 1 : 0), vsi 4642 drivers/infiniband/hw/i40iw/i40iw_ctrl.c void i40iw_sc_vsi_init(struct i40iw_sc_vsi *vsi, struct i40iw_vsi_init_info *info) vsi 4646 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->dev = info->dev; vsi 4647 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->back_vsi = info->back_vsi; vsi 4648 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->mtu = info->params->mtu; vsi 4649 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->exception_lan_queue = info->exception_lan_queue; vsi 4653 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->qos[i].qs_handle = info->params->qs_handle_list[i]; vsi 4654 drivers/infiniband/hw/i40iw/i40iw_ctrl.c i40iw_debug(vsi->dev, I40IW_DEBUG_DCB, "qset[%d]: %d\n", i, vsi 4655 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->qos[i].qs_handle); vsi 4656 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_lock_init(&vsi->qos[i].lock); vsi 4657 drivers/infiniband/hw/i40iw/i40iw_ctrl.c INIT_LIST_HEAD(&vsi->qos[i].qplist); vsi 4969 drivers/infiniband/hw/i40iw/i40iw_ctrl.c enum i40iw_status_code i40iw_vsi_stats_init(struct i40iw_sc_vsi *vsi, struct i40iw_vsi_stats_info *info) vsi 4974 drivers/infiniband/hw/i40iw/i40iw_ctrl.c fcn_id = i40iw_get_fcn_id(vsi->dev); vsi 4979 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->pestat = info->pestat; vsi 4980 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->pestat->hw = vsi->dev->hw; vsi 4981 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->pestat->vsi = vsi; vsi 4984 drivers/infiniband/hw/i40iw/i40iw_ctrl.c i40iw_hw_stats_init(vsi->pestat, fcn_id, true); vsi 4985 drivers/infiniband/hw/i40iw/i40iw_ctrl.c spin_lock_init(&vsi->pestat->lock); vsi 4986 drivers/infiniband/hw/i40iw/i40iw_ctrl.c i40iw_hw_stats_start_timer(vsi); vsi 4988 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->stats_fcn_id_alloc = info->alloc_fcn_id; vsi 4989 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->fcn_id = fcn_id; vsi 4997 drivers/infiniband/hw/i40iw/i40iw_ctrl.c void i40iw_vsi_stats_free(struct i40iw_sc_vsi *vsi) vsi 4999 drivers/infiniband/hw/i40iw/i40iw_ctrl.c u8 fcn_id = vsi->fcn_id; vsi 5001 drivers/infiniband/hw/i40iw/i40iw_ctrl.c if (vsi->stats_fcn_id_alloc && fcn_id < I40IW_MAX_STATS_COUNT) vsi 5002 drivers/infiniband/hw/i40iw/i40iw_ctrl.c vsi->dev->fcn_id_array[fcn_id] = false; vsi 5003 drivers/infiniband/hw/i40iw/i40iw_ctrl.c i40iw_hw_stats_stop_timer(vsi); vsi 596 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_sc_vsi *vsi = &iwdev->vsi; vsi 609 drivers/infiniband/hw/i40iw/i40iw_hw.c info->vsi = &iwdev->vsi; vsi 622 drivers/infiniband/hw/i40iw/i40iw_hw.c info->qp_num = cpu_to_le32(vsi->ilq->qp_id); vsi 946 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_puda_create_rsrc(&iwdev->vsi, &info); vsi 966 drivers/infiniband/hw/i40iw/i40iw_main.c info.qp_id = iwdev->vsi.exception_lan_queue; vsi 971 drivers/infiniband/hw/i40iw/i40iw_main.c info.buf_size = iwdev->vsi.mtu + VLAN_ETH_HLEN; vsi 973 drivers/infiniband/hw/i40iw/i40iw_main.c status = i40iw_puda_create_rsrc(&iwdev->vsi, &info); vsi 987 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_puda_dele_resources(&iwdev->vsi, I40IW_PUDA_RSRC_TYPE_IEQ, false); vsi 1375 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_sc_vsi_init(&iwdev->vsi, &vsi_info); vsi 1387 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_vsi_stats_init(&iwdev->vsi, &stats_info); vsi 1514 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_puda_dele_resources(&iwdev->vsi, I40IW_PUDA_RSRC_TYPE_IEQ, iwdev->reset); vsi 1517 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_puda_dele_resources(&iwdev->vsi, I40IW_PUDA_RSRC_TYPE_ILQ, iwdev->reset); vsi 1530 drivers/infiniband/hw/i40iw/i40iw_main.c if (iwdev->vsi.pestat) { vsi 1531 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_vsi_stats_free(&iwdev->vsi); vsi 1532 drivers/infiniband/hw/i40iw/i40iw_main.c kfree(iwdev->vsi.pestat); vsi 1737 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_change_l2params(&iwdev->vsi, &dwork->l2params); vsi 1778 drivers/infiniband/hw/i40iw/i40iw_main.c l2params->mtu = (params->mtu) ? params->mtu : iwdev->vsi.mtu; vsi 1844 drivers/infiniband/hw/i40iw/i40iw_main.c spin_lock_irqsave(&iwdev->vsi.pestat->lock, flags); vsi 1846 drivers/infiniband/hw/i40iw/i40iw_main.c spin_unlock_irqrestore(&iwdev->vsi.pestat->lock, flags); vsi 212 drivers/infiniband/hw/i40iw/i40iw_osdep.h void i40iw_hw_stats_start_timer(struct i40iw_sc_vsi *vsi); vsi 213 drivers/infiniband/hw/i40iw/i40iw_osdep.h void i40iw_hw_stats_stop_timer(struct i40iw_sc_vsi *vsi); vsi 83 drivers/infiniband/hw/i40iw/i40iw_p.h enum i40iw_status_code i40iw_vsi_stats_init(struct i40iw_sc_vsi *vsi, struct i40iw_vsi_stats_info *info); vsi 84 drivers/infiniband/hw/i40iw/i40iw_p.h void i40iw_vsi_stats_free(struct i40iw_sc_vsi *vsi); vsi 85 drivers/infiniband/hw/i40iw/i40iw_p.h void i40iw_sc_vsi_init(struct i40iw_sc_vsi *vsi, struct i40iw_vsi_init_info *info); vsi 87 drivers/infiniband/hw/i40iw/i40iw_p.h void i40iw_change_l2params(struct i40iw_sc_vsi *vsi, struct i40iw_l2params *l2params); vsi 45 drivers/infiniband/hw/i40iw/i40iw_puda.c static void i40iw_ieq_receive(struct i40iw_sc_vsi *vsi, vsi 47 drivers/infiniband/hw/i40iw/i40iw_puda.c static void i40iw_ieq_tx_compl(struct i40iw_sc_vsi *vsi, void *sqwrid); vsi 294 drivers/infiniband/hw/i40iw/i40iw_puda.c rsrc = (cq_type == I40IW_CQ_TYPE_ILQ) ? cq->vsi->ilq : cq->vsi->ieq; vsi 337 drivers/infiniband/hw/i40iw/i40iw_puda.c rsrc->receive(rsrc->vsi, buf); vsi 347 drivers/infiniband/hw/i40iw/i40iw_puda.c rsrc->xmit_complete(rsrc->vsi, sqwrid); vsi 583 drivers/infiniband/hw/i40iw/i40iw_puda.c qp->vsi = rsrc->vsi; vsi 682 drivers/infiniband/hw/i40iw/i40iw_puda.c cq->vsi = rsrc->vsi; vsi 789 drivers/infiniband/hw/i40iw/i40iw_puda.c void i40iw_puda_dele_resources(struct i40iw_sc_vsi *vsi, vsi 793 drivers/infiniband/hw/i40iw/i40iw_puda.c struct i40iw_sc_dev *dev = vsi->dev; vsi 801 drivers/infiniband/hw/i40iw/i40iw_puda.c rsrc = vsi->ilq; vsi 802 drivers/infiniband/hw/i40iw/i40iw_puda.c vmem = &vsi->ilq_mem; vsi 805 drivers/infiniband/hw/i40iw/i40iw_puda.c rsrc = vsi->ieq; vsi 806 drivers/infiniband/hw/i40iw/i40iw_puda.c vmem = &vsi->ieq_mem; vsi 882 drivers/infiniband/hw/i40iw/i40iw_puda.c enum i40iw_status_code i40iw_puda_create_rsrc(struct i40iw_sc_vsi *vsi, vsi 885 drivers/infiniband/hw/i40iw/i40iw_puda.c struct i40iw_sc_dev *dev = vsi->dev; vsi 898 drivers/infiniband/hw/i40iw/i40iw_puda.c vmem = &vsi->ilq_mem; vsi 901 drivers/infiniband/hw/i40iw/i40iw_puda.c vmem = &vsi->ieq_mem; vsi 914 drivers/infiniband/hw/i40iw/i40iw_puda.c vsi->ilq = (struct i40iw_puda_rsrc *)vmem->va; vsi 915 drivers/infiniband/hw/i40iw/i40iw_puda.c vsi->ilq_count = info->count; vsi 919 drivers/infiniband/hw/i40iw/i40iw_puda.c vmem = &vsi->ieq_mem; vsi 920 drivers/infiniband/hw/i40iw/i40iw_puda.c vsi->ieq_count = info->count; vsi 921 drivers/infiniband/hw/i40iw/i40iw_puda.c vsi->ieq = (struct i40iw_puda_rsrc *)vmem->va; vsi 942 drivers/infiniband/hw/i40iw/i40iw_puda.c rsrc->vsi = vsi; vsi 979 drivers/infiniband/hw/i40iw/i40iw_puda.c i40iw_puda_dele_resources(vsi, info->type, false); vsi 1404 drivers/infiniband/hw/i40iw/i40iw_puda.c pfpdu->max_fpdu_data = (buf->ipv4) ? (ieq->vsi->mtu - I40IW_MTU_TO_MSS_IPV4) : vsi 1405 drivers/infiniband/hw/i40iw/i40iw_puda.c (ieq->vsi->mtu - I40IW_MTU_TO_MSS_IPV6); vsi 1440 drivers/infiniband/hw/i40iw/i40iw_puda.c static void i40iw_ieq_receive(struct i40iw_sc_vsi *vsi, vsi 1443 drivers/infiniband/hw/i40iw/i40iw_puda.c struct i40iw_puda_rsrc *ieq = vsi->ieq; vsi 1447 drivers/infiniband/hw/i40iw/i40iw_puda.c qp = i40iw_ieq_get_qp(vsi->dev, buf); vsi 1468 drivers/infiniband/hw/i40iw/i40iw_puda.c static void i40iw_ieq_tx_compl(struct i40iw_sc_vsi *vsi, void *sqwrid) vsi 1470 drivers/infiniband/hw/i40iw/i40iw_puda.c struct i40iw_puda_rsrc *ieq = vsi->ieq; vsi 119 drivers/infiniband/hw/i40iw/i40iw_puda.h struct i40iw_sc_vsi *vsi; vsi 164 drivers/infiniband/hw/i40iw/i40iw_puda.h enum i40iw_status_code i40iw_puda_create_rsrc(struct i40iw_sc_vsi *vsi, vsi 166 drivers/infiniband/hw/i40iw/i40iw_puda.h void i40iw_puda_dele_resources(struct i40iw_sc_vsi *vsi, vsi 253 drivers/infiniband/hw/i40iw/i40iw_type.h struct i40iw_sc_vsi *vsi; vsi 351 drivers/infiniband/hw/i40iw/i40iw_type.h struct i40iw_sc_vsi *vsi; vsi 375 drivers/infiniband/hw/i40iw/i40iw_type.h struct i40iw_sc_vsi *vsi; vsi 845 drivers/infiniband/hw/i40iw/i40iw_type.h struct i40iw_sc_vsi *vsi; vsi 913 drivers/infiniband/hw/i40iw/i40iw_type.h struct i40iw_sc_vsi *vsi; vsi 1511 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_sc_vsi *sc_vsi = pf_devstat->vsi; vsi 1539 drivers/infiniband/hw/i40iw/i40iw_utils.c void i40iw_hw_stats_start_timer(struct i40iw_sc_vsi *vsi) vsi 1541 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_vsi_pestat *devstat = vsi->pestat; vsi 1552 drivers/infiniband/hw/i40iw/i40iw_utils.c void i40iw_hw_stats_stop_timer(struct i40iw_sc_vsi *vsi) vsi 1554 drivers/infiniband/hw/i40iw/i40iw_utils.c struct i40iw_vsi_pestat *devstat = vsi->pestat; vsi 375 drivers/infiniband/hw/i40iw/i40iw_verbs.c i40iw_ieq_cleanup_qp(iwdev->vsi.ieq, &iwqp->sc_qp); vsi 565 drivers/infiniband/hw/i40iw/i40iw_verbs.c init_info.vsi = &iwdev->vsi; vsi 2583 drivers/infiniband/hw/i40iw/i40iw_verbs.c struct i40iw_vsi_pestat *devstat = iwdev->vsi.pestat; vsi 51 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_buffer *src_buf = &ctx->vpu.vsi->src_buffer; vsi 61 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_buffer *dst_buf = &ctx->vpu.vsi->dst_buffer; vsi 71 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_config *config = &ctx->vpu.vsi->src_config; vsi 92 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_config *config = &ctx->vpu.vsi->src_config; vsi 93 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_buffer *src_buf = &ctx->vpu.vsi->src_buffer; vsi 107 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_config *config = &ctx->vpu.vsi->dst_config; vsi 123 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_config *config = &ctx->vpu.vsi->dst_config; vsi 124 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_buffer *dst_buf = &ctx->vpu.vsi->dst_buffer; vsi 136 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_config_misc *misc = &ctx->vpu.vsi->misc; vsi 145 drivers/media/platform/mtk-mdp/mtk_mdp_regs.c struct mdp_config_misc *misc = &ctx->vpu.vsi->misc; vsi 24 drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c vpu->vsi = (struct mdp_process_vsi *) vsi 25 drivers/media/platform/mtk-mdp/mtk_mdp_vpu.h struct mdp_process_vsi *vsi; vsi 132 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c struct vdec_h264_vsi *vsi; vsi 151 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->pred_buf_dma = inst->pred_buf.dma_addr; vsi 161 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->pred_buf_dma = 0; vsi 184 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->mv_buf_dma[i] = mem->dma_addr; vsi 196 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->mv_buf_dma[i] = 0; vsi 207 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c list = disp_list ? &inst->vsi->list_disp : &inst->vsi->list_free; vsi 229 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c list = &inst->vsi->list_free; vsi 248 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c *pic = inst->vsi->pic; vsi 257 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c cr->left = inst->vsi->crop.left; vsi 258 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c cr->top = inst->vsi->crop.top; vsi 259 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c cr->width = inst->vsi->crop.width; vsi 260 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c cr->height = inst->vsi->crop.height; vsi 268 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c *dpb_sz = inst->vsi->dec.dpb_sz; vsi 294 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi = (struct vdec_h264_vsi *)inst->vpu.vsi; vsi 380 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c memcpy(inst->vsi->hdr_buf, buf + nal_start_idx, buf_sz); vsi 383 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->dec.bs_dma = (uint64_t)bs->dma_addr; vsi 384 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->dec.y_fb_dma = y_fb_dma; vsi 385 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->dec.c_fb_dma = c_fb_dma; vsi 386 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c inst->vsi->dec.vdec_fb_va = vdec_fb_va; vsi 400 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c *res_chg = inst->vsi->dec.resolution_changed; vsi 407 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c if (inst->vsi->dec.realloc_mv_buf) { vsi 473 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c vdec_h264_get_fb(inst, &inst->vsi->list_disp, true, out); vsi 477 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_if.c vdec_h264_get_fb(inst, &inst->vsi->list_free, false, out); vsi 165 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c struct vdec_vp8_vsi *vsi; vsi 185 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c struct vdec_vp8_vsi *vsi = inst->vsi; vsi 189 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c for (i = 0; i < ARRAY_SIZE(vsi->segment_buf); i++) { vsi 190 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c for (j = ARRAY_SIZE(vsi->segment_buf[i]) - 1; j >= 0; j--) { vsi 194 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c val = vsi->segment_buf[i][j]; vsi 206 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c struct vdec_vp8_vsi *vsi = inst->vsi; vsi 210 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c for (i = 0; i < ARRAY_SIZE(vsi->segment_buf); i++) { vsi 211 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c for (j = ARRAY_SIZE(vsi->segment_buf[i]) - 1; j >= 0; j--) { vsi 216 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c vsi->segment_buf[i][j] = val; vsi 254 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c u32 *p = &inst->vsi->dec_table[VP8_DEC_TABLE_OFFSET]; vsi 270 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c u32 *p = &inst->vsi->dec_table[VP8_DEC_TABLE_OFFSET]; vsi 285 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c *pic = inst->vsi->pic; vsi 296 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c uint64_t prev_y_dma = inst->vsi->dec.prev_y_dma; vsi 320 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c if (inst->vsi->dec.show_frame) { vsi 377 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c inst->vsi->dec.working_buf_dma = (uint64_t)mem->dma_addr; vsi 388 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c inst->vsi->dec.working_buf_dma = 0; vsi 413 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c inst->vsi = (struct vdec_vp8_vsi *)inst->vpu.vsi; vsi 436 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c struct vdec_vp8_dec_info *dec = &inst->vsi->dec; vsi 495 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c if (inst->vsi->load_data) vsi 562 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c cr->width = inst->vsi->pic.pic_w; vsi 563 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_if.c cr->height = inst->vsi->pic.pic_h; vsi 197 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi; vsi 205 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 207 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c for (i = 0; i < ARRAY_SIZE(vsi->sf_ref_fb); i++) { vsi 208 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (fb == &vsi->sf_ref_fb[i].fb) vsi 260 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 263 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (ref_idx >= 0 && vsi->frm_bufs[ref_idx].ref_cnt > 0) { vsi 264 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[ref_idx].ref_cnt--; vsi 266 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->frm_bufs[ref_idx].ref_cnt == 0) { vsi 268 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[ref_idx].buf.fb)) { vsi 272 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[ref_idx].buf.fb->base_y.va); vsi 276 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[ref_idx].buf.fb); vsi 281 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[new_idx].ref_cnt++; vsi 287 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 289 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c for (i = 0; i < ARRAY_SIZE(vsi->sf_ref_fb); i++) { vsi 290 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_ref_fb[i].fb.base_y.va) { vsi 292 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c &vsi->sf_ref_fb[i].fb.base_y); vsi 294 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c &vsi->sf_ref_fb[i].fb.base_c); vsi 295 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_ref_fb[i].used = 0; vsi 310 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 313 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c idx < ARRAY_SIZE(vsi->sf_ref_fb); vsi 315 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_ref_fb[idx].fb.base_y.va && vsi 316 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_ref_fb[idx].used == 0) { vsi 322 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c idx < ARRAY_SIZE(vsi->sf_ref_fb); vsi 324 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_ref_fb[idx].fb.base_y.va == NULL) vsi 328 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (idx == ARRAY_SIZE(vsi->sf_ref_fb)) { vsi 333 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mem_basy_y = &vsi->sf_ref_fb[idx].fb.base_y; vsi 334 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mem_basy_y->size = vsi->buf_sz_y_bs + vsi 335 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->buf_len_sz_y; vsi 342 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mem_basy_c = &vsi->sf_ref_fb[idx].fb.base_c; vsi 343 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mem_basy_c->size = vsi->buf_sz_c_bs + vsi 344 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->buf_len_sz_c; vsi 350 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_ref_fb[idx].used = 0; vsi 357 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 374 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if ((vsi->pic_w > max_pic_w) || vsi 375 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c (vsi->pic_h > max_pic_h)) { vsi 377 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->pic_w, vsi->pic_h); vsi 382 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->resolution_changed, vsi 383 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->pic_w, vsi 384 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->pic_h, vsi 385 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->buf_w, vsi 386 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->buf_h); vsi 392 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mem->size = ((vsi->buf_w / 64) * vsi 393 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c (vsi->buf_h / 64) + 2) * 36 * 16; vsi 401 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->mv_buf.va = (unsigned long)mem->va; vsi 402 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->mv_buf.pa = (unsigned long)mem->dma_addr; vsi 403 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->mv_buf.sz = (unsigned int)mem->size; vsi 418 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->seg_id_buf.va = (unsigned long)mem->va; vsi 419 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->seg_id_buf.pa = (unsigned long)mem->dma_addr; vsi 420 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->seg_id_buf.sz = (unsigned int)mem->size; vsi 424 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_next_ref_fb_idx = vp9_get_sf_ref_fb(inst); vsi 455 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 459 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c for (mask = vsi->refresh_frm_flags; mask; mask >>= 1) { vsi 461 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vp9_ref_cnt_fb(inst, &vsi->ref_frm_map[ref_index], vsi 462 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->new_fb_idx); vsi 466 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c frm_to_show = &vsi->frm_bufs[vsi->new_fb_idx].buf; vsi 467 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[vsi->new_fb_idx].ref_cnt--; vsi 497 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->show_frame) vsi 502 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->show_frame) vsi 510 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->frm_bufs[vsi->new_fb_idx].ref_cnt == 0) { vsi 512 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst, vsi->frm_bufs[vsi->new_fb_idx].buf.fb)) { vsi 516 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[vsi->new_fb_idx].buf.fb->base_y.va); vsi 521 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[vsi->new_fb_idx].buf.fb); vsi 528 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_frm_cnt > 0 && vsi->sf_frm_idx != vsi->sf_frm_cnt - 1) vsi 529 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_next_ref_fb_idx = vp9_get_sf_ref_fb(inst); vsi 575 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 578 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (!vsi->show_existing_frame) { vsi 582 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_num); vsi 590 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mtk_vcodec_debug(inst, "Decode Ok @%d (%d/%d)", vsi->frm_num, vsi 591 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->pic_w, vsi->pic_h); vsi 594 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_num); vsi 598 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_num++; vsi 604 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 606 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_frm_cnt <= 0 || vsi->sf_frm_idx == vsi->sf_frm_cnt) vsi 661 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->sf_next_ref_fb_idx = vp9_get_sf_ref_fb(inst); vsi 667 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->mv_buf.va = (unsigned long)inst->mv_buf.va; vsi 668 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->mv_buf.pa = (unsigned long)inst->mv_buf.dma_addr; vsi 669 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->mv_buf.sz = (unsigned long)inst->mv_buf.size; vsi 672 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->seg_id_buf.va = (unsigned long)inst->seg_id_buf.va; vsi 673 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->seg_id_buf.pa = (unsigned long)inst->seg_id_buf.dma_addr; vsi 674 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi->seg_id_buf.sz = (unsigned long)inst->seg_id_buf.size; vsi 697 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c pic->fb_sz[0] = inst->vsi->buf_sz_y_bs + inst->vsi->buf_len_sz_y; vsi 698 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c pic->fb_sz[1] = inst->vsi->buf_sz_c_bs + inst->vsi->buf_len_sz_c; vsi 700 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c pic->pic_w = inst->vsi->pic_w; vsi 701 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c pic->pic_h = inst->vsi->pic_h; vsi 702 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c pic->buf_w = inst->vsi->buf_w; vsi 703 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c pic->buf_h = inst->vsi->buf_h; vsi 741 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi) { vsi 742 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_frm_idx >= VP9_MAX_FRM_BUF_NUM - 1) { vsi 744 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_frm_idx); vsi 747 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->frm_to_show_idx >= VP9_MAX_FRM_BUF_NUM) { vsi 749 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_to_show_idx); vsi 752 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->new_fb_idx >= VP9_MAX_FRM_BUF_NUM) { vsi 754 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->new_fb_idx); vsi 803 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c inst->vsi = (struct vdec_vp9_vsi *)inst->vpu.vsi; vsi 820 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c struct vdec_vp9_vsi *vsi = inst->vsi; vsi 846 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->bs = *bs; vsi 849 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->fb = *fb; vsi 851 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (!vsi->sf_init) { vsi 861 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c sf_bs_dst = vsi->sf_bs_buf + sf_bs_off; vsi 864 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if ((vsi->sf_frm_cnt > 0) && vsi 865 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c (vsi->sf_frm_idx < vsi->sf_frm_cnt)) { vsi 866 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c unsigned int idx = vsi->sf_frm_idx; vsi 870 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_frm_offset[idx]), vsi 871 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->sf_frm_sz[idx]); vsi 881 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c ret = validate_vsi_array_indexes(inst, vsi); vsi 887 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->resolution_changed) { vsi 894 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_frm_cnt > 0) { vsi 895 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c cur_fb = &vsi->sf_ref_fb[vsi->sf_next_ref_fb_idx].fb; vsi 897 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->sf_frm_idx < vsi->sf_frm_cnt) vsi 905 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_bufs[vsi->new_fb_idx].buf.fb = inst->cur_fb; vsi 909 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c mtk_vcodec_debug(inst, "[#pic %d]", vsi->frm_num); vsi 911 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->show_existing_frame) vsi 914 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->new_fb_idx, vsi->frm_to_show_idx); vsi 916 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->show_existing_frame && (vsi->frm_to_show_idx < vsi 920 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->new_fb_idx, vsi->frm_to_show_idx); vsi 922 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vp9_ref_cnt_fb(inst, &vsi->new_fb_idx, vsi 923 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_to_show_idx); vsi 929 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c for (i = 0; i < ARRAY_SIZE(vsi->frm_refs); i++) { vsi 930 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c unsigned int idx = vsi->frm_refs[i].idx; vsi 932 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c vsi->frm_refs[i].buf = &vsi->frm_bufs[idx].buf; vsi 935 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c if (vsi->resolution_changed) { vsi 966 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c cr->width = inst->vsi->pic_w; vsi 967 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c cr->height = inst->vsi->pic_h; vsi 21 drivers/media/platform/mtk-vcodec/vdec_vpu_if.c vpu->vsi = vpu_mapping_dm_addr(vpu->dev, msg->vpu_inst_addr); vsi 27 drivers/media/platform/mtk-vcodec/vdec_vpu_if.h void *vsi; vsi 144 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c struct venc_h264_vsi *vsi; vsi 237 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c struct venc_h264_vpu_buf *wb = inst->vsi->work_bufs; vsi 480 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi = (struct venc_h264_vsi *)inst->vpu_inst.vsi; vsi 598 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.input_fourcc = enc_prm->input_yuv_fmt; vsi 599 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.bitrate = enc_prm->bitrate; vsi 600 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.pic_w = enc_prm->width; vsi 601 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.pic_h = enc_prm->height; vsi 602 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.buf_w = enc_prm->buf_width; vsi 603 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.buf_h = enc_prm->buf_height; vsi 604 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.gop_size = enc_prm->gop_size; vsi 605 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.framerate = enc_prm->frm_rate; vsi 606 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.intra_period = enc_prm->intra_period; vsi 607 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.profile = vsi 609 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.level = vsi 611 drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c inst->vsi->config.wfd = 0; vsi 132 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c struct venc_vp8_vsi *vsi; vsi 161 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c struct venc_vp8_vpu_buf *wb = inst->vsi->work_bufs; vsi 262 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c ac_tag[6] = inst->vsi->config.pic_w; vsi 263 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c ac_tag[7] = inst->vsi->config.pic_w >> 8; vsi 264 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c ac_tag[8] = inst->vsi->config.pic_h; vsi 265 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c ac_tag[9] = inst->vsi->config.pic_h >> 8; vsi 345 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi = (struct venc_vp8_vsi *)inst->vpu_inst.vsi; vsi 405 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.input_fourcc = enc_prm->input_yuv_fmt; vsi 406 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.bitrate = enc_prm->bitrate; vsi 407 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.pic_w = enc_prm->width; vsi 408 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.pic_h = enc_prm->height; vsi 409 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.buf_w = enc_prm->buf_width; vsi 410 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.buf_h = enc_prm->buf_height; vsi 411 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.gop_size = enc_prm->gop_size; vsi 412 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.framerate = enc_prm->frm_rate; vsi 413 drivers/media/platform/mtk-vcodec/venc/venc_vp8_if.c inst->vsi->config.ts_mode = inst->ts_mode; vsi 16 drivers/media/platform/mtk-vcodec/venc_vpu_if.c vpu->vsi = vpu_mapping_dm_addr(vpu->dev, msg->vpu_inst_addr); vsi 36 drivers/media/platform/mtk-vcodec/venc_vpu_if.h void *vsi; vsi 247 drivers/net/ethernet/intel/fm10k/fm10k.h u8 vsi; vsi 520 drivers/net/ethernet/intel/fm10k/fm10k.h u8 vsi, bool set); vsi 85 drivers/net/ethernet/intel/fm10k/fm10k_iov.c err = hw->mac.ops.update_vlan(hw, vid, vf_info->vsi, set); vsi 458 drivers/net/ethernet/intel/fm10k/fm10k_iov.c vf_info->vsi = i + 1; vsi 599 drivers/net/ethernet/intel/fm10k/fm10k_iov.c hw->mac.ops.update_vlan(hw, FM10K_VLAN_ALL, vf_info->vsi, false); vsi 757 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c u32 vid, u8 vsi, bool set) vsi 771 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c request->vlan.vsi = vsi; vsi 832 drivers/net/ethernet/intel/fm10k/fm10k_pci.c item->vlan.vsi, vsi 194 drivers/net/ethernet/intel/fm10k/fm10k_pf.c static s32 fm10k_update_vlan_pf(struct fm10k_hw *hw, u32 vid, u8 vsi, bool set) vsi 199 drivers/net/ethernet/intel/fm10k/fm10k_pf.c if (vsi > FM10K_VLAN_TABLE_VSI_MAX) vsi 223 drivers/net/ethernet/intel/fm10k/fm10k_pf.c for (reg = FM10K_VLAN_TABLE(vsi, vid / 32), bit = vid % 32; vsi 502 drivers/net/ethernet/intel/fm10k/fm10k_pf.c u16 vsi, queue, pc, q_idx; vsi 522 drivers/net/ethernet/intel/fm10k/fm10k_pf.c for (vsi = 0; vsi < vsi_count; vsi++, glort++) { vsi 1030 drivers/net/ethernet/intel/fm10k/fm10k_pf.c fm10k_write_reg(hw, FM10K_VLAN_TABLE(vf_info->vsi, i), 0); vsi 1032 drivers/net/ethernet/intel/fm10k/fm10k_pf.c fm10k_write_reg(hw, FM10K_RETA(vf_info->vsi, i), 0); vsi 1034 drivers/net/ethernet/intel/fm10k/fm10k_pf.c fm10k_write_reg(hw, FM10K_RSSRK(vf_info->vsi, i), 0); vsi 1035 drivers/net/ethernet/intel/fm10k/fm10k_pf.c fm10k_write_reg(hw, FM10K_MRQC(vf_info->vsi), 0); vsi 1243 drivers/net/ethernet/intel/fm10k/fm10k_pf.c err = hw->mac.ops.update_vlan(hw, vid, vf_info->vsi, set); vsi 589 drivers/net/ethernet/intel/fm10k/fm10k_type.h u8 vsi; /* VSI identifier */ vsi 167 drivers/net/ethernet/intel/fm10k/fm10k_vf.c static s32 fm10k_update_vlan_vf(struct fm10k_hw *hw, u32 vid, u8 vsi, bool set) vsi 173 drivers/net/ethernet/intel/fm10k/fm10k_vf.c if (vsi) vsi 593 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_vsi **vsi; vsi 851 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_vsi *vsi; vsi 856 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_vsi *vsi; vsi 934 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_vsi *vsi = np->vsi; vsi 936 drivers/net/ethernet/intel/i40e/i40e.h return vsi->back; vsi 939 drivers/net/ethernet/intel/i40e/i40e.h static inline void i40e_vsi_setup_irqhandler(struct i40e_vsi *vsi, vsi 942 drivers/net/ethernet/intel/i40e/i40e.h vsi->irq_handler = irq_handler; vsi 992 drivers/net/ethernet/intel/i40e/i40e.h int i40e_up(struct i40e_vsi *vsi); vsi 993 drivers/net/ethernet/intel/i40e/i40e.h void i40e_down(struct i40e_vsi *vsi); vsi 998 drivers/net/ethernet/intel/i40e/i40e.h int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size); vsi 999 drivers/net/ethernet/intel/i40e/i40e.h int i40e_get_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size); vsi 1014 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_vsi *vsi = pf->vsi[i]; vsi 1016 drivers/net/ethernet/intel/i40e/i40e.h if (vsi && vsi->type == type) vsi 1017 drivers/net/ethernet/intel/i40e/i40e.h return vsi; vsi 1022 drivers/net/ethernet/intel/i40e/i40e.h void i40e_update_stats(struct i40e_vsi *vsi); vsi 1024 drivers/net/ethernet/intel/i40e/i40e.h void i40e_update_eth_stats(struct i40e_vsi *vsi); vsi 1025 drivers/net/ethernet/intel/i40e/i40e.h struct rtnl_link_stats64 *i40e_get_vsi_stats_struct(struct i40e_vsi *vsi); vsi 1029 drivers/net/ethernet/intel/i40e/i40e.h int i40e_add_del_fdir(struct i40e_vsi *vsi, vsi 1038 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_mac_filter *i40e_add_filter(struct i40e_vsi *vsi, vsi 1040 drivers/net/ethernet/intel/i40e/i40e.h void __i40e_del_filter(struct i40e_vsi *vsi, struct i40e_mac_filter *f); vsi 1041 drivers/net/ethernet/intel/i40e/i40e.h void i40e_del_filter(struct i40e_vsi *vsi, const u8 *macaddr, s16 vlan); vsi 1042 drivers/net/ethernet/intel/i40e/i40e.h int i40e_sync_vsi_filters(struct i40e_vsi *vsi); vsi 1045 drivers/net/ethernet/intel/i40e/i40e.h int i40e_vsi_release(struct i40e_vsi *vsi); vsi 1047 drivers/net/ethernet/intel/i40e/i40e.h void i40e_notify_client_of_vf_msg(struct i40e_vsi *vsi, u32 vf_id, vsi 1053 drivers/net/ethernet/intel/i40e/i40e.h int i40e_vsi_start_rings(struct i40e_vsi *vsi); vsi 1054 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vsi_stop_rings(struct i40e_vsi *vsi); vsi 1055 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vsi_stop_rings_no_wait(struct i40e_vsi *vsi); vsi 1056 drivers/net/ethernet/intel/i40e/i40e.h int i40e_vsi_wait_queues_disabled(struct i40e_vsi *vsi); vsi 1063 drivers/net/ethernet/intel/i40e/i40e.h int i40e_vsi_add_pvid(struct i40e_vsi *vsi, u16 vid); vsi 1064 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vsi_remove_pvid(struct i40e_vsi *vsi); vsi 1065 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vsi_reset_stats(struct i40e_vsi *vsi); vsi 1082 drivers/net/ethernet/intel/i40e/i40e.h void i40e_notify_client_of_l2_param_changes(struct i40e_vsi *vsi); vsi 1083 drivers/net/ethernet/intel/i40e/i40e.h void i40e_notify_client_of_netdev_close(struct i40e_vsi *vsi, bool reset); vsi 1093 drivers/net/ethernet/intel/i40e/i40e.h static inline void i40e_irq_dynamic_enable(struct i40e_vsi *vsi, int vector) vsi 1095 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_pf *pf = vsi->back; vsi 1102 drivers/net/ethernet/intel/i40e/i40e.h wr32(hw, I40E_PFINT_DYN_CTLN(vector + vsi->base_vector - 1), val); vsi 1111 drivers/net/ethernet/intel/i40e/i40e.h int i40e_vsi_open(struct i40e_vsi *vsi); vsi 1112 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vlan_stripping_disable(struct i40e_vsi *vsi); vsi 1113 drivers/net/ethernet/intel/i40e/i40e.h int i40e_add_vlan_all_mac(struct i40e_vsi *vsi, s16 vid); vsi 1114 drivers/net/ethernet/intel/i40e/i40e.h int i40e_vsi_add_vlan(struct i40e_vsi *vsi, u16 vid); vsi 1115 drivers/net/ethernet/intel/i40e/i40e.h void i40e_rm_vlan_all_mac(struct i40e_vsi *vsi, s16 vid); vsi 1116 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, u16 vid); vsi 1117 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_mac_filter *i40e_add_mac_filter(struct i40e_vsi *vsi, vsi 1119 drivers/net/ethernet/intel/i40e/i40e.h int i40e_del_mac_filter(struct i40e_vsi *vsi, const u8 *macaddr); vsi 1120 drivers/net/ethernet/intel/i40e/i40e.h bool i40e_is_vsi_in_vlan(struct i40e_vsi *vsi); vsi 1121 drivers/net/ethernet/intel/i40e/i40e.h struct i40e_mac_filter *i40e_find_mac(struct i40e_vsi *vsi, const u8 *macaddr); vsi 1122 drivers/net/ethernet/intel/i40e/i40e.h void i40e_vlan_stripping_enable(struct i40e_vsi *vsi); vsi 1127 drivers/net/ethernet/intel/i40e/i40e.h void i40e_dcbnl_set_all(struct i40e_vsi *vsi); vsi 1128 drivers/net/ethernet/intel/i40e/i40e.h void i40e_dcbnl_setup(struct i40e_vsi *vsi); vsi 1144 drivers/net/ethernet/intel/i40e/i40e.h int i40e_is_vsi_uplink_mode_veb(struct i40e_vsi *vsi); vsi 1148 drivers/net/ethernet/intel/i40e/i40e.h void i40e_print_link_message(struct i40e_vsi *vsi, bool isup); vsi 1152 drivers/net/ethernet/intel/i40e/i40e.h static inline bool i40e_enabled_xdp_vsi(struct i40e_vsi *vsi) vsi 1154 drivers/net/ethernet/intel/i40e/i40e.h return !!READ_ONCE(vsi->xdp_prog); vsi 1157 drivers/net/ethernet/intel/i40e/i40e.h int i40e_create_queue_channel(struct i40e_vsi *vsi, struct i40e_channel *ch); vsi 1158 drivers/net/ethernet/intel/i40e/i40e.h int i40e_set_bw_limit(struct i40e_vsi *vsi, u16 seid, u64 max_tx_rate); vsi 1159 drivers/net/ethernet/intel/i40e/i40e.h int i40e_add_del_cloud_filter(struct i40e_vsi *vsi, vsi 1162 drivers/net/ethernet/intel/i40e/i40e.h int i40e_add_del_cloud_filter_big_buf(struct i40e_vsi *vsi, vsi 47 drivers/net/ethernet/intel/i40e/i40e_client.c int i40e_client_get_params(struct i40e_vsi *vsi, struct i40e_params *params) vsi 49 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_dcbx_config *dcb_cfg = &vsi->back->hw.local_dcbx_config; vsi 57 drivers/net/ethernet/intel/i40e/i40e_client.c if (!(vsi->tc_config.enabled_tc & BIT(tc))) vsi 60 drivers/net/ethernet/intel/i40e/i40e_client.c qs_handle = le16_to_cpu(vsi->info.qs_handle[tc]); vsi 64 drivers/net/ethernet/intel/i40e/i40e_client.c dev_err(&vsi->back->pdev->dev, "Invalid queue set handle for TC = %d, vsi id = %d\n", vsi 65 drivers/net/ethernet/intel/i40e/i40e_client.c tc, vsi->id); vsi 70 drivers/net/ethernet/intel/i40e/i40e_client.c params->mtu = vsi->netdev->mtu; vsi 84 drivers/net/ethernet/intel/i40e/i40e_client.c i40e_notify_client_of_vf_msg(struct i40e_vsi *vsi, u32 vf_id, u8 *msg, u16 len) vsi 86 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_pf *pf = vsi->back; vsi 110 drivers/net/ethernet/intel/i40e/i40e_client.c void i40e_notify_client_of_l2_param_changes(struct i40e_vsi *vsi) vsi 112 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_pf *pf = vsi->back; vsi 119 drivers/net/ethernet/intel/i40e/i40e_client.c dev_dbg(&vsi->back->pdev->dev, vsi 124 drivers/net/ethernet/intel/i40e/i40e_client.c dev_dbg(&vsi->back->pdev->dev, "Client is not open, abort l2 param change\n"); vsi 128 drivers/net/ethernet/intel/i40e/i40e_client.c i40e_client_get_params(vsi, ¶ms); vsi 169 drivers/net/ethernet/intel/i40e/i40e_client.c void i40e_notify_client_of_netdev_close(struct i40e_vsi *vsi, bool reset) vsi 171 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_pf *pf = vsi->back; vsi 177 drivers/net/ethernet/intel/i40e/i40e_client.c dev_dbg(&vsi->back->pdev->dev, vsi 289 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 299 drivers/net/ethernet/intel/i40e/i40e_client.c cdev->lan_info.netdev = vsi->netdev; vsi 313 drivers/net/ethernet/intel/i40e/i40e_client.c if (i40e_client_get_params(vsi, &cdev->lan_info.params)) { vsi 352 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 371 drivers/net/ethernet/intel/i40e/i40e_client.c if (vsi->netdev_registered && vsi 386 drivers/net/ethernet/intel/i40e/i40e_client.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 684 drivers/net/ethernet/intel/i40e/i40e_client.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 724 drivers/net/ethernet/intel/i40e/i40e_client.c err = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); vsi 145 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c void i40e_dcbnl_set_all(struct i40e_vsi *vsi) vsi 147 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c struct net_device *dev = vsi->netdev; vsi 171 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c if (tc_map & vsi->tc_config.enabled_tc) { vsi 191 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c static int i40e_dcbnl_vsi_del_app(struct i40e_vsi *vsi, vsi 194 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c struct net_device *dev = vsi->netdev; vsi 219 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c if (pf->vsi[v] && pf->vsi[v]->netdev) { vsi 220 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c err = i40e_dcbnl_vsi_del_app(pf->vsi[v], app); vsi 222 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c pf->vsi[v]->seid, err, app->selector, vsi 284 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c void i40e_dcbnl_setup(struct i40e_vsi *vsi) vsi 286 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c struct net_device *dev = vsi->netdev; vsi 296 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c i40e_dcbnl_set_all(vsi); vsi 275 drivers/net/ethernet/intel/i40e/i40e_ddp.c struct i40e_vsi *vsi = np->vsi; vsi 276 drivers/net/ethernet/intel/i40e/i40e_ddp.c struct i40e_pf *pf = vsi->back; vsi 393 drivers/net/ethernet/intel/i40e/i40e_ddp.c struct net_device *netdev = pf->vsi[pf->lan_vsi]->netdev; vsi 419 drivers/net/ethernet/intel/i40e/i40e_ddp.c struct i40e_vsi *vsi = np->vsi; vsi 420 drivers/net/ethernet/intel/i40e/i40e_ddp.c struct i40e_pf *pf = vsi->back; vsi 26 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (pf->vsi[i] && (pf->vsi[i]->seid == seid)) vsi 27 drivers/net/ethernet/intel/i40e/i40e_debugfs.c return pf->vsi[i]; vsi 83 drivers/net/ethernet/intel/i40e/i40e_debugfs.c pf->vsi[pf->lan_vsi]->netdev->name, vsi 113 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_vsi *vsi; vsi 116 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, seid); vsi 117 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 123 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (vsi->netdev) { vsi 124 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct net_device *nd = vsi->netdev; vsi 137 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->flags, vsi->netdev_registered, vsi->current_netdev_flags); vsi 141 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i, vsi->state[i]); vsi 142 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (vsi == pf->vsi[pf->lan_vsi]) vsi 147 drivers/net/ethernet/intel/i40e/i40e_debugfs.c hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { vsi 154 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->active_filters, vsi->promisc_threshold, vsi 155 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (test_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state) ? vsi 157 drivers/net/ethernet/intel/i40e/i40e_debugfs.c nstat = i40e_get_vsi_stats_struct(vsi); vsi 199 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_packets, vsi 200 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_bytes, vsi 201 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_errors, vsi 202 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_dropped); vsi 205 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_packets, vsi 206 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_bytes, vsi 207 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_errors, vsi 208 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_dropped); vsi 211 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.multicast, vsi 212 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.collisions); vsi 215 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_length_errors, vsi 216 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_over_errors, vsi 217 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_crc_errors); vsi 220 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_frame_errors, vsi 221 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_fifo_errors, vsi 222 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_missed_errors); vsi 225 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_aborted_errors, vsi 226 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_carrier_errors, vsi 227 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_fifo_errors); vsi 230 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_heartbeat_errors, vsi 231 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_window_errors); vsi 234 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.rx_compressed, vsi 235 drivers/net/ethernet/intel/i40e/i40e_debugfs.c (unsigned long int)vsi->net_stats_offsets.tx_compressed); vsi 238 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->tx_restart, vsi->tx_busy, vsi 239 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->rx_buf_failed, vsi->rx_page_failed); vsi 241 drivers/net/ethernet/intel/i40e/i40e_debugfs.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 242 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_ring *rx_ring = READ_ONCE(vsi->rx_rings[i]); vsi 284 drivers/net/ethernet/intel/i40e/i40e_debugfs.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 285 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_ring *tx_ring = READ_ONCE(vsi->tx_rings[i]); vsi 325 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->work_limit); vsi 328 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->max_frame, vsi->rx_buf_len, 0); vsi 331 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->num_q_vectors, vsi->base_vector); vsi 334 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->seid, vsi->id, vsi->uplink_seid); vsi 337 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->base_queue, vsi->num_queue_pairs, vsi->num_tx_desc, vsi 338 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->num_rx_desc); vsi 339 drivers/net/ethernet/intel/i40e/i40e_debugfs.c dev_info(&pf->pdev->dev, " type = %i\n", vsi->type); vsi 340 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (vsi->type == I40E_VSI_SRIOV) vsi 341 drivers/net/ethernet/intel/i40e/i40e_debugfs.c dev_info(&pf->pdev->dev, " VF ID = %i\n", vsi->vf_id); vsi 344 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.valid_sections, vsi->info.switch_id); vsi 347 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.sw_reserved[0], vsi->info.sw_reserved[1]); vsi 350 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.sec_flags, vsi->info.sec_reserved); vsi 353 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.pvid, vsi->info.fcoe_pvid, vsi 354 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.port_vlan_flags); vsi 357 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.pvlan_reserved[0], vsi->info.pvlan_reserved[1], vsi 358 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.pvlan_reserved[2]); vsi 361 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.ingress_table, vsi->info.egress_table); vsi 364 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.cas_pv_tag, vsi->info.cas_pv_flags, vsi 365 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.cas_pv_reserved); vsi 368 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[0], vsi->info.queue_mapping[1], vsi 369 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[2], vsi->info.queue_mapping[3], vsi 370 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[4], vsi->info.queue_mapping[5], vsi 371 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[6], vsi->info.queue_mapping[7]); vsi 374 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[8], vsi->info.queue_mapping[9], vsi 375 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[10], vsi->info.queue_mapping[11], vsi 376 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[12], vsi->info.queue_mapping[13], vsi 377 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queue_mapping[14], vsi->info.queue_mapping[15]); vsi 380 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.tc_mapping[0], vsi->info.tc_mapping[1], vsi 381 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.tc_mapping[2], vsi->info.tc_mapping[3], vsi 382 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.tc_mapping[4], vsi->info.tc_mapping[5], vsi 383 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.tc_mapping[6], vsi->info.tc_mapping[7]); vsi 386 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queueing_opt_flags, vsi 387 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queueing_opt_reserved[0], vsi 388 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queueing_opt_reserved[1], vsi 389 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.queueing_opt_reserved[2]); vsi 392 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.up_enable_bits); vsi 395 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.sched_reserved, vsi->info.outer_up_table); vsi 398 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.cmd_reserved[0], vsi->info.cmd_reserved[1], vsi 399 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.cmd_reserved[2], vsi->info.cmd_reserved[3], vsi 400 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.cmd_reserved[4], vsi->info.cmd_reserved[5], vsi 401 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.cmd_reserved[6], vsi->info.cmd_reserved[7]); vsi 404 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.qs_handle[0], vsi->info.qs_handle[1], vsi 405 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.qs_handle[2], vsi->info.qs_handle[3], vsi 406 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.qs_handle[4], vsi->info.qs_handle[5], vsi 407 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.qs_handle[6], vsi->info.qs_handle[7]); vsi 410 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.stat_counter_idx, vsi->info.sched_id); vsi 413 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.resp_reserved[0], vsi->info.resp_reserved[1], vsi 414 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.resp_reserved[2], vsi->info.resp_reserved[3], vsi 415 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.resp_reserved[4], vsi->info.resp_reserved[5], vsi 416 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.resp_reserved[6], vsi->info.resp_reserved[7], vsi 417 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.resp_reserved[8], vsi->info.resp_reserved[9], vsi 418 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->info.resp_reserved[10], vsi->info.resp_reserved[11]); vsi 419 drivers/net/ethernet/intel/i40e/i40e_debugfs.c dev_info(&pf->pdev->dev, " idx = %d\n", vsi->idx); vsi 422 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->tc_config.numtc, vsi->tc_config.enabled_tc); vsi 426 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i, vsi->tc_config.tc_info[i].qoffset, vsi 427 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->tc_config.tc_info[i].qcount, vsi 428 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->tc_config.tc_info[i].netdev_tc); vsi 432 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->bw_limit, vsi->bw_max_quanta); vsi 436 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i, vsi->bw_ets_share_credits[i], vsi 437 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->bw_ets_limit_credits[i], vsi 438 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->bw_ets_max_quanta[i]); vsi 500 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_vsi *vsi; vsi 503 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 504 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 508 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (ring_id >= vsi->num_queue_pairs || ring_id < 0) { vsi 512 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi->tx_rings || !vsi->tx_rings[0]->desc) { vsi 520 drivers/net/ethernet/intel/i40e/i40e_debugfs.c ? vsi->rx_rings[ring_id] : vsi->tx_rings[ring_id], vsi 581 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (pf->vsi[i]) vsi 583 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i, pf->vsi[i]->seid); vsi 658 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_vsi *vsi; vsi 664 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 666 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vf_id, vf->lan_vsi_id, vsi->seid, vf->num_queue_pairs); vsi 706 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_vsi *vsi; vsi 737 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi_seid = pf->vsi[pf->lan_vsi]->seid; vsi 752 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_vsi_setup(pf, I40E_VSI_VMDQ2, vsi_seid, 0); vsi 753 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (vsi) vsi 755 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->seid, vsi->uplink_seid); vsi 767 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 768 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 775 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i40e_vsi_release(vsi); vsi 794 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 795 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 813 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->tc_config.enabled_tc); vsi 857 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 858 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 865 drivers/net/ethernet/intel/i40e/i40e_debugfs.c ret = i40e_vsi_add_pvid(vsi, vid); vsi 885 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 886 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 892 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i40e_vsi_remove_pvid(vsi); vsi 968 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = pf->vsi[pf->lan_vsi]; vsi 970 drivers/net/ethernet/intel/i40e/i40e_debugfs.c le16_to_cpu(vsi->info.switch_id) & vsi 1175 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i40e_vsi_reset_stats(pf->vsi[i]); vsi 1178 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 1179 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 1185 drivers/net/ethernet/intel/i40e/i40e_debugfs.c i40e_vsi_reset_stats(vsi); vsi 1331 drivers/net/ethernet/intel/i40e/i40e_debugfs.c pf->vsi[pf->lan_vsi]->seid, vsi 1349 drivers/net/ethernet/intel/i40e/i40e_debugfs.c pf->vsi[pf->lan_vsi]->seid, vsi 1592 drivers/net/ethernet/intel/i40e/i40e_debugfs.c pf->vsi[pf->lan_vsi]->netdev->name, vsi 1618 drivers/net/ethernet/intel/i40e/i40e_debugfs.c struct i40e_vsi *vsi; vsi 1651 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 1652 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 1655 drivers/net/ethernet/intel/i40e/i40e_debugfs.c } else if (!vsi->netdev) { vsi 1659 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->netdev->netdev_ops->ndo_change_mtu(vsi->netdev, vsi 1673 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 1674 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 1677 drivers/net/ethernet/intel/i40e/i40e_debugfs.c } else if (!vsi->netdev) { vsi 1681 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi->netdev->netdev_ops->ndo_set_rx_mode(vsi->netdev); vsi 1694 drivers/net/ethernet/intel/i40e/i40e_debugfs.c vsi = i40e_dbg_find_vsi(pf, vsi_seid); vsi 1695 drivers/net/ethernet/intel/i40e/i40e_debugfs.c if (!vsi) { vsi 1698 drivers/net/ethernet/intel/i40e/i40e_debugfs.c } else if (!vsi->netdev) { vsi 1702 drivers/net/ethernet/intel/i40e/i40e_debugfs.c for (i = 0; i < vsi->num_q_vectors; i++) vsi 1703 drivers/net/ethernet/intel/i40e/i40e_debugfs.c napi_schedule(&vsi->q_vectors[i]->napi); vsi 1049 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1140 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1141 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 1156 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi != pf->vsi[pf->lan_vsi]) vsi 1339 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_print_link_message(vsi, false); vsi 1376 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1437 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1479 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1523 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1550 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1585 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1586 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 1604 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi != pf->vsi[pf->lan_vsi]) vsi 1639 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_print_link_message(vsi, false); vsi 1678 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1690 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1713 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1744 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_hw *hw = &np->vsi->back->hw; vsi 1745 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1838 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_hw *hw = &np->vsi->back->hw; vsi 1858 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_hw *hw = &np->vsi->back->hw; vsi 1859 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1892 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 1893 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 1911 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 1912 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 1918 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ring->rx_pending = vsi->rx_rings[0]->count; vsi 1919 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ring->tx_pending = vsi->tx_rings[0]->count; vsi 1924 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static bool i40e_active_tx_ring_index(struct i40e_vsi *vsi, u16 index) vsi 1926 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 1927 drivers/net/ethernet/intel/i40e/i40e_ethtool.c return index < vsi->num_queue_pairs || vsi 1928 drivers/net/ethernet/intel/i40e/i40e_ethtool.c (index >= vsi->alloc_queue_pairs && vsi 1929 drivers/net/ethernet/intel/i40e/i40e_ethtool.c index < vsi->alloc_queue_pairs + vsi->num_queue_pairs); vsi 1932 drivers/net/ethernet/intel/i40e/i40e_ethtool.c return index < vsi->num_queue_pairs; vsi 1940 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_hw *hw = &np->vsi->back->hw; vsi 1941 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 1942 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 1966 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if ((new_tx_count == vsi->tx_rings[0]->count) && vsi 1967 drivers/net/ethernet/intel/i40e/i40e_ethtool.c (new_rx_count == vsi->rx_rings[0]->count)) vsi 1974 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (i40e_xsk_any_rx_ring_enabled(vsi)) vsi 1984 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!netif_running(vsi->netdev)) { vsi 1986 drivers/net/ethernet/intel/i40e/i40e_ethtool.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 1987 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->tx_rings[i]->count = new_tx_count; vsi 1988 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->rx_rings[i]->count = new_rx_count; vsi 1989 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (i40e_enabled_xdp_vsi(vsi)) vsi 1990 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->xdp_rings[i]->count = new_tx_count; vsi 1992 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->num_tx_desc = new_tx_count; vsi 1993 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->num_rx_desc = new_rx_count; vsi 2003 drivers/net/ethernet/intel/i40e/i40e_ethtool.c tx_alloc_queue_pairs = vsi->alloc_queue_pairs * vsi 2004 drivers/net/ethernet/intel/i40e/i40e_ethtool.c (i40e_enabled_xdp_vsi(vsi) ? 2 : 1); vsi 2005 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (new_tx_count != vsi->tx_rings[0]->count) { vsi 2008 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->tx_rings[0]->count, new_tx_count); vsi 2017 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!i40e_active_tx_ring_index(vsi, i)) vsi 2020 drivers/net/ethernet/intel/i40e/i40e_ethtool.c tx_rings[i] = *vsi->tx_rings[i]; vsi 2031 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!i40e_active_tx_ring_index(vsi, i)) vsi 2044 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (new_rx_count != vsi->rx_rings[0]->count) { vsi 2047 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->rx_rings[0]->count, new_rx_count); vsi 2048 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rx_rings = kcalloc(vsi->alloc_queue_pairs, vsi 2055 drivers/net/ethernet/intel/i40e/i40e_ethtool.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 2059 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rx_rings[i] = *vsi->rx_rings[i]; vsi 2097 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_down(vsi); vsi 2101 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (i40e_active_tx_ring_index(vsi, i)) { vsi 2102 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_free_tx_resources(vsi->tx_rings[i]); vsi 2103 drivers/net/ethernet/intel/i40e/i40e_ethtool.c *vsi->tx_rings[i] = tx_rings[i]; vsi 2111 drivers/net/ethernet/intel/i40e/i40e_ethtool.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 2112 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_free_rx_resources(vsi->rx_rings[i]); vsi 2114 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rx_rings[i].tail = vsi->rx_rings[i]->tail; vsi 2124 drivers/net/ethernet/intel/i40e/i40e_ethtool.c *vsi->rx_rings[i] = rx_rings[i]; vsi 2130 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->num_tx_desc = new_tx_count; vsi 2131 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->num_rx_desc = new_rx_count; vsi 2132 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_up(vsi); vsi 2138 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (i40e_active_tx_ring_index(vsi, i)) vsi 2139 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_free_tx_resources(vsi->tx_rings[i]); vsi 2168 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2169 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2172 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi == pf->vsi[pf->lan_vsi] && pf->hw.partition_id == 1) vsi 2199 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2200 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2258 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2259 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2265 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_update_stats(vsi); vsi 2267 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_add_ethtool_stats(&data, i40e_get_vsi_stats_struct(vsi), vsi 2270 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_add_ethtool_stats(&data, vsi, i40e_gstrings_misc_stats); vsi 2274 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_add_queue_stats(&data, READ_ONCE(vsi->tx_rings[i])); vsi 2275 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_add_queue_stats(&data, READ_ONCE(vsi->rx_rings[i])); vsi 2279 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi != pf->vsi[pf->lan_vsi] || pf->hw.partition_id != 1) vsi 2328 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2329 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2344 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi != pf->vsi[pf->lan_vsi] || pf->hw.partition_id != 1) vsi 2365 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2366 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2447 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2470 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2481 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2495 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2532 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2604 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2627 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2628 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2638 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi != pf->vsi[pf->lan_vsi]) vsi 2664 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 2735 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2737 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ec->tx_max_coalesced_frames_irq = vsi->work_limit; vsi 2738 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ec->rx_max_coalesced_frames_irq = vsi->work_limit; vsi 2745 drivers/net/ethernet/intel/i40e/i40e_ethtool.c else if (queue >= vsi->num_queue_pairs) vsi 2748 drivers/net/ethernet/intel/i40e/i40e_ethtool.c rx_ring = vsi->rx_rings[queue]; vsi 2749 drivers/net/ethernet/intel/i40e/i40e_ethtool.c tx_ring = vsi->tx_rings[queue]; vsi 2766 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ec->rx_coalesce_usecs_high = vsi->int_rate_limit; vsi 2767 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ec->tx_coalesce_usecs_high = vsi->int_rate_limit; vsi 2809 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static void i40e_set_itr_per_queue(struct i40e_vsi *vsi, vsi 2813 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_ring *rx_ring = vsi->rx_rings[queue]; vsi 2814 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_ring *tx_ring = vsi->tx_rings[queue]; vsi 2815 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2820 drivers/net/ethernet/intel/i40e/i40e_ethtool.c intrl = i40e_intrl_usec_to_reg(vsi->int_rate_limit); vsi 2864 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 2865 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 2869 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->work_limit = ec->tx_max_coalesced_frames_irq; vsi 2872 drivers/net/ethernet/intel/i40e/i40e_ethtool.c cur_rx_itr = vsi->rx_rings[0]->itr_setting; vsi 2873 drivers/net/ethernet/intel/i40e/i40e_ethtool.c cur_tx_itr = vsi->tx_rings[0]->itr_setting; vsi 2874 drivers/net/ethernet/intel/i40e/i40e_ethtool.c } else if (queue < vsi->num_queue_pairs) { vsi 2875 drivers/net/ethernet/intel/i40e/i40e_ethtool.c cur_rx_itr = vsi->rx_rings[queue]->itr_setting; vsi 2876 drivers/net/ethernet/intel/i40e/i40e_ethtool.c cur_tx_itr = vsi->tx_rings[queue]->itr_setting; vsi 2879 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->num_queue_pairs - 1); vsi 2887 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (ec->tx_coalesce_usecs_high != vsi->int_rate_limit) { vsi 2927 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->int_rate_limit = INTRL_REG_TO_USEC(intrl_reg); vsi 2928 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi->int_rate_limit != ec->rx_coalesce_usecs_high) { vsi 2930 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->int_rate_limit); vsi 2937 drivers/net/ethernet/intel/i40e/i40e_ethtool.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 2938 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_set_itr_per_queue(vsi, ec, i); vsi 2940 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_set_itr_per_queue(vsi, ec, queue); vsi 3274 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (rule->dest_vsi != pf->vsi[pf->lan_vsi]->id) { vsi 3275 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi; vsi 3277 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi = i40e_find_vsi_from_id(pf, rule->dest_vsi); vsi 3278 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi && vsi->type == I40E_VSI_SRIOV) { vsi 3282 drivers/net/ethernet/intel/i40e/i40e_ethtool.c u64 ring_vf = vsi->vf_id + 1; vsi 3312 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 3313 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 3318 drivers/net/ethernet/intel/i40e/i40e_ethtool.c cmd->data = vsi->rss_size; vsi 3512 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_update_ethtool_fdir_entry(struct i40e_vsi *vsi, vsi 3518 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 3538 drivers/net/ethernet/intel/i40e/i40e_ethtool.c err = i40e_add_del_fdir(vsi, rule, false); vsi 3639 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_del_fdir_entry(struct i40e_vsi *vsi, vsi 3644 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 3654 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_update_ethtool_fdir_entry(vsi, NULL, fsp->location, cmd); vsi 3966 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static void i40e_print_input_set(struct i40e_vsi *vsi, u64 old, u64 new) vsi 3968 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 3975 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "L3 source address: %s -> %s\n", vsi 3982 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "L3 destination address: %s -> %s\n", vsi 3989 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "L4 source port: %s -> %s\n", vsi 3996 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "L4 destination port: %s -> %s\n", vsi 4003 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "SCTP verification tag: %s -> %s\n", vsi 4014 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "FLEX index %d: %s -> %s\n", vsi 4020 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, " Current input set: %0llx\n", vsi 4022 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "Requested input set: %0llx\n", vsi 4051 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_check_fdir_input_set(struct i40e_vsi *vsi, vsi 4055 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4284 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "Input set change requested for %s flows:\n", vsi 4286 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_print_input_set(vsi, current_mask, new_mask); vsi 4288 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_info(pf, drv, vsi->netdev, "FLEX index %d: Offset -> %d", vsi 4297 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_err(pf, drv, vsi->netdev, "Cannot change Flow Director input sets while MFP is enabled\n"); vsi 4311 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netif_err(pf, drv, vsi->netdev, "Cannot change input set for %s flows until %d preexisting filters are removed\n", vsi 4400 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_disallow_matching_filters(struct i40e_vsi *vsi, vsi 4403 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4439 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_add_fdir_ethtool(struct i40e_vsi *vsi, vsi 4450 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!vsi) vsi 4452 drivers/net/ethernet/intel/i40e/i40e_ethtool.c pf = vsi->back; vsi 4477 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_check_fdir_input_set(vsi, fsp, &userdef); vsi 4496 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (ring >= vsi->num_queue_pairs) vsi 4498 drivers/net/ethernet/intel/i40e/i40e_ethtool.c dest_vsi = vsi->id; vsi 4544 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_disallow_matching_filters(vsi, input); vsi 4552 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_update_ethtool_fdir_entry(vsi, input, fsp->location, NULL); vsi 4553 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_add_del_fdir(vsi, input, true); vsi 4576 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4577 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4585 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_add_fdir_ethtool(vsi, cmd); vsi 4588 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_del_fdir_entry(vsi, cmd); vsi 4601 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static unsigned int i40e_max_channels(struct i40e_vsi *vsi) vsi 4604 drivers/net/ethernet/intel/i40e/i40e_ethtool.c return vsi->alloc_queue_pairs; vsi 4621 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4622 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4625 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ch->max_combined = i40e_max_channels(vsi); vsi 4632 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ch->combined_count = vsi->num_queue_pairs; vsi 4649 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4650 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4657 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (vsi->type != I40E_VSI_MAIN) vsi 4675 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (count > i40e_max_channels(vsi)) vsi 4747 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4762 drivers/net/ethernet/intel/i40e/i40e_ethtool.c ret = i40e_get_rss(vsi, seed, lut, I40E_HLUT_ARRAY_SIZE); vsi 4788 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4789 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4797 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!vsi->rss_hkey_user) { vsi 4798 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->rss_hkey_user = kzalloc(I40E_HKEY_ARRAY_SIZE, vsi 4800 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!vsi->rss_hkey_user) vsi 4803 drivers/net/ethernet/intel/i40e/i40e_ethtool.c memcpy(vsi->rss_hkey_user, key, I40E_HKEY_ARRAY_SIZE); vsi 4804 drivers/net/ethernet/intel/i40e/i40e_ethtool.c seed = vsi->rss_hkey_user; vsi 4806 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!vsi->rss_lut_user) { vsi 4807 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->rss_lut_user = kzalloc(I40E_HLUT_ARRAY_SIZE, GFP_KERNEL); vsi 4808 drivers/net/ethernet/intel/i40e/i40e_ethtool.c if (!vsi->rss_lut_user) vsi 4815 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->rss_lut_user[i] = (u8)(indir[i]); vsi 4817 drivers/net/ethernet/intel/i40e/i40e_ethtool.c i40e_fill_rss_lut(pf, vsi->rss_lut_user, I40E_HLUT_ARRAY_SIZE, vsi 4818 drivers/net/ethernet/intel/i40e/i40e_ethtool.c vsi->rss_size); vsi 4820 drivers/net/ethernet/intel/i40e/i40e_ethtool.c return i40e_config_rss(vsi, seed, vsi->rss_lut_user, vsi 4837 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4838 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 4875 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 4876 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 5085 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 5086 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 5096 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netdev_err(vsi->netdev, "Module EEPROM memory read not supported. Please update the NVM image.\n"); vsi 5105 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netdev_err(vsi->netdev, "Cannot read module EEPROM memory. No module connected.\n"); vsi 5133 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netdev_warn(vsi->netdev, "Module address swap to access page 0xA2 is not supported.\n"); vsi 5175 drivers/net/ethernet/intel/i40e/i40e_ethtool.c netdev_err(vsi->netdev, "Module type unrecognized\n"); vsi 5192 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_vsi *vsi = np->vsi; vsi 5193 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = vsi->back; vsi 5301 drivers/net/ethernet/intel/i40e/i40e_ethtool.c struct i40e_pf *pf = np->vsi->back; vsi 38 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_reinit_locked(struct i40e_vsi *vsi); vsi 40 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_add_vsi(struct i40e_vsi *vsi); vsi 41 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_add_veb(struct i40e_veb *veb, struct i40e_vsi *vsi); vsi 276 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && (pf->vsi[i]->id == id)) vsi 277 drivers/net/ethernet/intel/i40e/i40e_main.c return pf->vsi[i]; vsi 307 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 308 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 334 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 335 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tx_rings[i] && vsi->tx_rings[i]->desc) { vsi 337 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_rings[i]->queue_index) { vsi 338 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[i]; vsi 361 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring->vsi->base_vector - 1)); vsi 366 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, hung_queue, tx_ring->next_to_clean, vsi 401 drivers/net/ethernet/intel/i40e/i40e_main.c struct rtnl_link_stats64 *i40e_get_vsi_stats_struct(struct i40e_vsi *vsi) vsi 403 drivers/net/ethernet/intel/i40e/i40e_main.c return &vsi->net_stats; vsi 439 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 440 drivers/net/ethernet/intel/i40e/i40e_main.c struct rtnl_link_stats64 *vsi_stats = i40e_get_vsi_stats_struct(vsi); vsi 444 drivers/net/ethernet/intel/i40e/i40e_main.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 447 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->tx_rings) vsi 451 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 455 drivers/net/ethernet/intel/i40e/i40e_main.c ring = READ_ONCE(vsi->tx_rings[i]); vsi 460 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 492 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vsi_reset_stats(struct i40e_vsi *vsi) vsi 497 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) vsi 500 drivers/net/ethernet/intel/i40e/i40e_main.c ns = i40e_get_vsi_stats_struct(vsi); vsi 502 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->net_stats_offsets, 0, sizeof(vsi->net_stats_offsets)); vsi 503 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->eth_stats, 0, sizeof(vsi->eth_stats)); vsi 504 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->eth_stats_offsets, 0, sizeof(vsi->eth_stats_offsets)); vsi 505 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rx_rings && vsi->rx_rings[0]) { vsi 506 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 507 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->rx_rings[i]->stats, 0, vsi 508 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->rx_rings[i]->stats)); vsi 509 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->rx_rings[i]->rx_stats, 0, vsi 510 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->rx_rings[i]->rx_stats)); vsi 511 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->tx_rings[i]->stats, 0, vsi 512 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->tx_rings[i]->stats)); vsi 513 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->tx_rings[i]->tx_stats, 0, vsi 514 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->tx_rings[i]->tx_stats)); vsi 517 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded = false; vsi 623 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_update_eth_stats(struct i40e_vsi *vsi) vsi 625 drivers/net/ethernet/intel/i40e/i40e_main.c int stat_idx = le16_to_cpu(vsi->info.stat_counter_idx); vsi 626 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 631 drivers/net/ethernet/intel/i40e/i40e_main.c es = &vsi->eth_stats; vsi 632 drivers/net/ethernet/intel/i40e/i40e_main.c oes = &vsi->eth_stats_offsets; vsi 636 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 639 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 642 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 647 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 651 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 655 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 659 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 664 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 668 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 672 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 676 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded, vsi 678 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->stat_offsets_loaded = true; vsi 770 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_update_vsi_stats(struct i40e_vsi *vsi) vsi 772 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 788 drivers/net/ethernet/intel/i40e/i40e_main.c if (test_bit(__I40E_VSI_DOWN, vsi->state) || vsi 792 drivers/net/ethernet/intel/i40e/i40e_main.c ns = i40e_get_vsi_stats_struct(vsi); vsi 793 drivers/net/ethernet/intel/i40e/i40e_main.c ons = &vsi->net_stats_offsets; vsi 794 drivers/net/ethernet/intel/i40e/i40e_main.c es = &vsi->eth_stats; vsi 795 drivers/net/ethernet/intel/i40e/i40e_main.c oes = &vsi->eth_stats_offsets; vsi 806 drivers/net/ethernet/intel/i40e/i40e_main.c for (q = 0; q < vsi->num_queue_pairs; q++) { vsi 808 drivers/net/ethernet/intel/i40e/i40e_main.c p = READ_ONCE(vsi->tx_rings[q]); vsi 835 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_restart = tx_restart; vsi 836 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_busy = tx_busy; vsi 837 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_linearize = tx_linearize; vsi 838 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_force_wb = tx_force_wb; vsi 839 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_page_failed = rx_page; vsi 840 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_buf_failed = rx_buf; vsi 848 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_update_eth_stats(vsi); vsi 859 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi == pf->vsi[pf->lan_vsi]) { vsi 1102 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_update_stats(struct i40e_vsi *vsi) vsi 1104 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 1106 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi == pf->vsi[pf->lan_vsi]) vsi 1109 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_update_vsi_stats(vsi); vsi 1120 drivers/net/ethernet/intel/i40e/i40e_main.c static struct i40e_mac_filter *i40e_find_filter(struct i40e_vsi *vsi, vsi 1126 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi || !macaddr) vsi 1130 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_possible(vsi->mac_filter_hash, f, hlist, key) { vsi 1146 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_mac_filter *i40e_find_mac(struct i40e_vsi *vsi, const u8 *macaddr) vsi 1151 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi || !macaddr) vsi 1155 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_possible(vsi->mac_filter_hash, f, hlist, key) { vsi 1168 drivers/net/ethernet/intel/i40e/i40e_main.c bool i40e_is_vsi_in_vlan(struct i40e_vsi *vsi) vsi 1171 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->info.pvid) vsi 1194 drivers/net/ethernet/intel/i40e/i40e_main.c return vsi->has_vlan_filter; vsi 1226 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_correct_mac_vlan_filters(struct i40e_vsi *vsi, vsi 1231 drivers/net/ethernet/intel/i40e/i40e_main.c s16 pvid = le16_to_cpu(vsi->info.pvid); vsi 1262 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 1280 drivers/net/ethernet/intel/i40e/i40e_main.c add_head = i40e_add_filter(vsi, f->macaddr, new_vlan); vsi 1302 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->has_vlan_filter = !!vlan_filters; vsi 1315 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_rm_default_mac_filter(struct i40e_vsi *vsi, u8 *macaddr) vsi 1318 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 1321 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_MAIN) vsi 1329 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_remove_macvlan(&pf->hw, vsi->seid, &element, 1, NULL); vsi 1337 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_remove_macvlan(&pf->hw, vsi->seid, &element, 1, NULL); vsi 1351 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_mac_filter *i40e_add_filter(struct i40e_vsi *vsi, vsi 1357 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi || !macaddr) vsi 1360 drivers/net/ethernet/intel/i40e/i40e_main.c f = i40e_find_filter(vsi, macaddr, vlan); vsi 1370 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->has_vlan_filter = true; vsi 1378 drivers/net/ethernet/intel/i40e/i40e_main.c hash_add(vsi->mac_filter_hash, &f->hlist, key); vsi 1380 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi 1381 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->back->state); vsi 1413 drivers/net/ethernet/intel/i40e/i40e_main.c void __i40e_del_filter(struct i40e_vsi *vsi, struct i40e_mac_filter *f) vsi 1430 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi 1431 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->back->state); vsi 1446 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_del_filter(struct i40e_vsi *vsi, const u8 *macaddr, s16 vlan) vsi 1450 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi || !macaddr) vsi 1453 drivers/net/ethernet/intel/i40e/i40e_main.c f = i40e_find_filter(vsi, macaddr, vlan); vsi 1454 drivers/net/ethernet/intel/i40e/i40e_main.c __i40e_del_filter(vsi, f); vsi 1469 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_mac_filter *i40e_add_mac_filter(struct i40e_vsi *vsi, vsi 1476 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->info.pvid) vsi 1477 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_add_filter(vsi, macaddr, vsi 1478 drivers/net/ethernet/intel/i40e/i40e_main.c le16_to_cpu(vsi->info.pvid)); vsi 1480 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_is_vsi_in_vlan(vsi)) vsi 1481 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_add_filter(vsi, macaddr, I40E_VLAN_ANY); vsi 1483 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 1486 drivers/net/ethernet/intel/i40e/i40e_main.c add = i40e_add_filter(vsi, macaddr, f->vlan); vsi 1504 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_del_mac_filter(struct i40e_vsi *vsi, const u8 *macaddr) vsi 1511 drivers/net/ethernet/intel/i40e/i40e_main.c lockdep_assert_held(&vsi->mac_filter_hash_lock); vsi 1512 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 1514 drivers/net/ethernet/intel/i40e/i40e_main.c __i40e_del_filter(vsi, f); vsi 1535 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 1536 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 1565 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 1566 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_del_mac_filter(vsi, netdev->dev_addr); vsi 1568 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_add_mac_filter(vsi, netdev->dev_addr); vsi 1569 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 1571 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 1594 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_config_rss_aq(struct i40e_vsi *vsi, const u8 *seed, vsi 1597 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 1604 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_set_rss_key(hw, vsi->id, seed_dw); vsi 1614 drivers/net/ethernet/intel/i40e/i40e_main.c bool pf_lut = vsi->type == I40E_VSI_MAIN ? true : false; vsi 1616 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_set_rss_lut(hw, vsi->id, pf_lut, lut, lut_size); vsi 1632 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_config_rss(struct i40e_vsi *vsi) vsi 1634 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 1641 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->rss_size) vsi 1642 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size = min_t(int, pf->alloc_rss_size, vsi 1643 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs); vsi 1644 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->rss_size) vsi 1646 drivers/net/ethernet/intel/i40e/i40e_main.c lut = kzalloc(vsi->rss_table_size, GFP_KERNEL); vsi 1653 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rss_lut_user) vsi 1654 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(lut, vsi->rss_lut_user, vsi->rss_table_size); vsi 1656 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_fill_rss_lut(pf, lut, vsi->rss_table_size, vsi->rss_size); vsi 1657 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rss_hkey_user) vsi 1658 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(seed, vsi->rss_hkey_user, I40E_HKEY_ARRAY_SIZE); vsi 1661 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_config_rss_aq(vsi, seed, lut, vsi->rss_table_size); vsi 1674 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_setup_queue_map_mqprio(struct i40e_vsi *vsi, vsi 1682 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_MAIN) vsi 1686 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.numtc = vsi->mqprio_qopt.qopt.num_tc; vsi 1687 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc = enabled_tc ? enabled_tc : 1; vsi 1688 drivers/net/ethernet/intel/i40e/i40e_main.c num_qps = vsi->mqprio_qopt.qopt.count[0]; vsi 1698 drivers/net/ethernet/intel/i40e/i40e_main.c max_qcount = vsi->mqprio_qopt.qopt.count[0]; vsi 1701 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tc_config.enabled_tc & BIT(i)) { vsi 1702 drivers/net/ethernet/intel/i40e/i40e_main.c offset = vsi->mqprio_qopt.qopt.offset[i]; vsi 1703 drivers/net/ethernet/intel/i40e/i40e_main.c qcount = vsi->mqprio_qopt.qopt.count[i]; vsi 1706 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset = offset; vsi 1707 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount = qcount; vsi 1708 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].netdev_tc = netdev_tc++; vsi 1714 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset = 0; vsi 1715 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount = 1; vsi 1716 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].netdev_tc = 0; vsi 1721 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs = offset + qcount; vsi 1726 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt->info.queue_mapping[0] = cpu_to_le16(vsi->base_queue); vsi 1730 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size = max_qcount; vsi 1731 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_rss(vsi); vsi 1733 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 1738 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->reconfig_rss = true; vsi 1739 drivers/net/ethernet/intel/i40e/i40e_main.c dev_dbg(&vsi->back->pdev->dev, vsi 1745 drivers/net/ethernet/intel/i40e/i40e_main.c override_q = vsi->mqprio_qopt.qopt.count[0]; vsi 1746 drivers/net/ethernet/intel/i40e/i40e_main.c if (override_q && override_q < vsi->num_queue_pairs) { vsi 1747 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->cnt_q_avail = vsi->num_queue_pairs - override_q; vsi 1748 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->next_base_queue = override_q; vsi 1762 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_setup_queue_map(struct i40e_vsi *vsi, vsi 1767 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 1781 drivers/net/ethernet/intel/i40e/i40e_main.c num_tc_qps = vsi->alloc_queue_pairs; vsi 1782 drivers/net/ethernet/intel/i40e/i40e_main.c if (enabled_tc && (vsi->back->flags & I40E_FLAG_DCB_ENABLED)) { vsi 1797 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.numtc = numtc; vsi 1798 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc = enabled_tc ? enabled_tc : 1; vsi 1807 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tc_config.enabled_tc & BIT(i)) { vsi 1811 drivers/net/ethernet/intel/i40e/i40e_main.c switch (vsi->type) { vsi 1815 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc != 1) { vsi 1829 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset = offset; vsi 1830 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount = qcount; vsi 1840 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].netdev_tc = netdev_tc++; vsi 1851 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset = 0; vsi 1852 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount = 1; vsi 1853 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].netdev_tc = 0; vsi 1861 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs = offset; vsi 1862 drivers/net/ethernet/intel/i40e/i40e_main.c if ((vsi->type == I40E_VSI_MAIN) && (numtc == 1)) { vsi 1863 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->req_queue_pairs > 0) vsi 1864 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs = vsi->req_queue_pairs; vsi 1866 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs = pf->num_lan_msix; vsi 1875 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_SRIOV) { vsi 1878 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 1880 drivers/net/ethernet/intel/i40e/i40e_main.c cpu_to_le16(vsi->base_queue + i); vsi 1884 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt->info.queue_mapping[0] = cpu_to_le16(vsi->base_queue); vsi 1900 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 1902 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_add_mac_filter(vsi, addr)) vsi 1919 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 1929 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_del_mac_filter(vsi, addr); vsi 1941 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 1943 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 1948 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 1951 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->current_netdev_flags != vsi->netdev->flags) { vsi 1952 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi 1953 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->back->state); vsi 1965 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_undo_del_filter_entries(struct i40e_vsi *vsi, vsi 1976 drivers/net/ethernet/intel/i40e/i40e_main.c hash_add(vsi->mac_filter_hash, &f->hlist, key); vsi 1988 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_undo_add_filter_entries(struct i40e_vsi *vsi, vsi 2074 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_aqc_del_filters(struct i40e_vsi *vsi, const char *vsi_name, vsi 2078 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_hw *hw = &vsi->back->hw; vsi 2082 drivers/net/ethernet/intel/i40e/i40e_main.c aq_ret = i40e_aq_remove_macvlan(hw, vsi->seid, list, num_del, NULL); vsi 2088 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 2108 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_aqc_add_filters(struct i40e_vsi *vsi, const char *vsi_name, vsi 2113 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_hw *hw = &vsi->back->hw; vsi 2116 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_add_macvlan(hw, vsi->seid, list, num_add, NULL); vsi 2121 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 2122 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 2123 drivers/net/ethernet/intel/i40e/i40e_main.c dev_warn(&vsi->back->pdev->dev, vsi 2126 drivers/net/ethernet/intel/i40e/i40e_main.c } else if (vsi->type == I40E_VSI_SRIOV || vsi 2127 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->type == I40E_VSI_VMDQ1 || vsi 2128 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->type == I40E_VSI_VMDQ2) { vsi 2129 drivers/net/ethernet/intel/i40e/i40e_main.c dev_warn(&vsi->back->pdev->dev, vsi 2133 drivers/net/ethernet/intel/i40e/i40e_main.c dev_warn(&vsi->back->pdev->dev, vsi 2135 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_str(hw, aq_err), vsi_name, vsi->type); vsi 2153 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aqc_broadcast_filter(struct i40e_vsi *vsi, const char *vsi_name, vsi 2157 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_hw *hw = &vsi->back->hw; vsi 2162 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2167 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2174 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 2175 drivers/net/ethernet/intel/i40e/i40e_main.c dev_warn(&vsi->back->pdev->dev, vsi 2195 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 2199 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN && vsi 2209 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2213 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2224 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2235 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2259 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_sync_vsi_filters(struct i40e_vsi *vsi) vsi 2264 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_hw *hw = &vsi->back->hw; vsi 2285 drivers/net/ethernet/intel/i40e/i40e_main.c while (test_and_set_bit(__I40E_VSI_SYNCING_FILTERS, vsi->state)) vsi 2287 drivers/net/ethernet/intel/i40e/i40e_main.c pf = vsi->back; vsi 2289 drivers/net/ethernet/intel/i40e/i40e_main.c old_overflow = test_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 2291 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) { vsi 2292 drivers/net/ethernet/intel/i40e/i40e_main.c changed_flags = vsi->current_netdev_flags ^ vsi->netdev->flags; vsi 2293 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->current_netdev_flags = vsi->netdev->flags; vsi 2299 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_SRIOV) vsi 2300 drivers/net/ethernet/intel/i40e/i40e_main.c snprintf(vsi_name, sizeof(vsi_name) - 1, "VF %d", vsi->vf_id); vsi 2301 drivers/net/ethernet/intel/i40e/i40e_main.c else if (vsi->type != I40E_VSI_MAIN) vsi 2302 drivers/net/ethernet/intel/i40e/i40e_main.c snprintf(vsi_name, sizeof(vsi_name) - 1, "vsi %d", vsi->seid); vsi 2304 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->flags & I40E_VSI_FLAG_FILTER_CHANGED) { vsi 2305 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags &= ~I40E_VSI_FLAG_FILTER_CHANGED; vsi 2307 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2309 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 2340 drivers/net/ethernet/intel/i40e/i40e_main.c retval = i40e_correct_mac_vlan_filters(vsi, vsi 2347 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2367 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aqc_broadcast_filter(vsi, vsi_name, f); vsi 2390 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aqc_del_filters(vsi, vsi_name, del_list, vsi 2403 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aqc_del_filters(vsi, vsi_name, del_list, vsi 2427 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_aqc_broadcast_filter(vsi, vsi_name, vsi 2457 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aqc_add_filters(vsi, vsi_name, add_list, vsi 2464 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aqc_add_filters(vsi, vsi_name, add_list, add_head, vsi 2470 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2478 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2484 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2485 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->active_filters = 0; vsi 2486 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { vsi 2488 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->active_filters++; vsi 2492 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2499 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->active_filters < vsi->promisc_threshold) { vsi 2503 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 2504 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->promisc_threshold = 0; vsi 2508 drivers/net/ethernet/intel/i40e/i40e_main.c if ((vsi->type == I40E_VSI_SRIOV) && !pf->vf[vsi->vf_id].trusted) { vsi 2509 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 2513 drivers/net/ethernet/intel/i40e/i40e_main.c new_overflow = test_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 2519 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->promisc_threshold = (vsi->active_filters * 3) / 4; vsi 2525 drivers/net/ethernet/intel/i40e/i40e_main.c cur_multipromisc = !!(vsi->current_netdev_flags & IFF_ALLMULTI); vsi 2526 drivers/net/ethernet/intel/i40e/i40e_main.c aq_ret = i40e_aq_set_vsi_multicast_promiscuous(&vsi->back->hw, vsi 2527 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi 2540 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev->name, vsi 2548 drivers/net/ethernet/intel/i40e/i40e_main.c cur_promisc = (!!(vsi->current_netdev_flags & IFF_PROMISC) || vsi 2565 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi 2567 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(__I40E_VSI_SYNCING_FILTERS, vsi->state); vsi 2572 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2574 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_undo_del_filter_entries(vsi, &tmp_del_list); vsi 2575 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_undo_add_filter_entries(vsi, &tmp_add_list); vsi 2576 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2578 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi 2579 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(__I40E_VSI_SYNCING_FILTERS, vsi->state); vsi 2601 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v] && vsi 2602 drivers/net/ethernet/intel/i40e/i40e_main.c (pf->vsi[v]->flags & I40E_VSI_FLAG_FILTER_CHANGED)) { vsi 2603 drivers/net/ethernet/intel/i40e/i40e_main.c int ret = i40e_sync_vsi_filters(pf->vsi[v]); vsi 2620 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_max_xdp_frame_size(struct i40e_vsi *vsi) vsi 2622 drivers/net/ethernet/intel/i40e/i40e_main.c if (PAGE_SIZE >= 8192 || (vsi->back->flags & I40E_FLAG_LEGACY_RX)) vsi 2638 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 2639 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 2641 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 2644 drivers/net/ethernet/intel/i40e/i40e_main.c if (frame_size > i40e_max_xdp_frame_size(vsi)) vsi 2652 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_reinit_locked(vsi); vsi 2667 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = np->vsi->back; vsi 2683 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vlan_stripping_enable(struct i40e_vsi *vsi) vsi 2689 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->info.pvid) vsi 2692 drivers/net/ethernet/intel/i40e/i40e_main.c if ((vsi->info.valid_sections & vsi 2694 drivers/net/ethernet/intel/i40e/i40e_main.c ((vsi->info.port_vlan_flags & I40E_AQ_VSI_PVLAN_MODE_MASK) == 0)) vsi 2697 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_VLAN_VALID); vsi 2698 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.port_vlan_flags = I40E_AQ_VSI_PVLAN_MODE_ALL | vsi 2701 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.seid = vsi->seid; vsi 2702 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.info = vsi->info; vsi 2703 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); vsi 2705 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 2707 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_stat_str(&vsi->back->hw, ret), vsi 2708 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_str(&vsi->back->hw, vsi 2709 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->hw.aq.asq_last_status)); vsi 2717 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vlan_stripping_disable(struct i40e_vsi *vsi) vsi 2723 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->info.pvid) vsi 2726 drivers/net/ethernet/intel/i40e/i40e_main.c if ((vsi->info.valid_sections & vsi 2728 drivers/net/ethernet/intel/i40e/i40e_main.c ((vsi->info.port_vlan_flags & I40E_AQ_VSI_PVLAN_EMOD_MASK) == vsi 2732 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_VLAN_VALID); vsi 2733 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.port_vlan_flags = I40E_AQ_VSI_PVLAN_MODE_ALL | vsi 2736 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.seid = vsi->seid; vsi 2737 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.info = vsi->info; vsi 2738 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); vsi 2740 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 2742 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_stat_str(&vsi->back->hw, ret), vsi 2743 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_str(&vsi->back->hw, vsi 2744 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->hw.aq.asq_last_status)); vsi 2761 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_add_vlan_all_mac(struct i40e_vsi *vsi, s16 vid) vsi 2767 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 2770 drivers/net/ethernet/intel/i40e/i40e_main.c add_f = i40e_add_filter(vsi, f->macaddr, vid); vsi 2772 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 2787 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_vsi_add_vlan(struct i40e_vsi *vsi, u16 vid) vsi 2791 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->info.pvid) vsi 2806 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2807 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_add_vlan_all_mac(vsi, vid); vsi 2808 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2815 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_service_event_schedule(vsi->back); vsi 2832 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_rm_vlan_all_mac(struct i40e_vsi *vsi, s16 vid) vsi 2838 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 2840 drivers/net/ethernet/intel/i40e/i40e_main.c __i40e_del_filter(vsi, f); vsi 2849 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, u16 vid) vsi 2851 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vid || vsi->info.pvid) vsi 2854 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2855 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_rm_vlan_all_mac(vsi, vid); vsi 2856 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2861 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_service_event_schedule(vsi->back); vsi 2876 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 2882 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_add_vlan(vsi, vid); vsi 2884 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(vid, vsi->active_vlans); vsi 2899 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 2903 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(vid, vsi->active_vlans); vsi 2918 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 2924 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_kill_vlan(vsi, vid); vsi 2926 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(vid, vsi->active_vlans); vsi 2935 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_restore_vlan(struct i40e_vsi *vsi) vsi 2939 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev) vsi 2942 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev->features & NETIF_F_HW_VLAN_CTAG_RX) vsi 2943 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_stripping_enable(vsi); vsi 2945 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_stripping_disable(vsi); vsi 2947 drivers/net/ethernet/intel/i40e/i40e_main.c for_each_set_bit(vid, vsi->active_vlans, VLAN_N_VID) vsi 2948 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_rx_add_vid_up(vsi->netdev, htons(ETH_P_8021Q), vsi 2957 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_vsi_add_pvid(struct i40e_vsi *vsi, u16 vid) vsi 2962 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_VLAN_VALID); vsi 2963 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.pvid = cpu_to_le16(vid); vsi 2964 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.port_vlan_flags = I40E_AQ_VSI_PVLAN_MODE_TAGGED | vsi 2968 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.seid = vsi->seid; vsi 2969 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.info = vsi->info; vsi 2970 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); vsi 2972 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 2974 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_stat_str(&vsi->back->hw, ret), vsi 2975 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_str(&vsi->back->hw, vsi 2976 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->hw.aq.asq_last_status)); vsi 2989 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vsi_remove_pvid(struct i40e_vsi *vsi) vsi 2991 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.pvid = 0; vsi 2993 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_stripping_disable(vsi); vsi 3006 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_setup_tx_resources(struct i40e_vsi *vsi) vsi 3010 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs && !err; i++) vsi 3011 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_setup_tx_descriptors(vsi->tx_rings[i]); vsi 3013 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 3016 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs && !err; i++) vsi 3017 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_setup_tx_descriptors(vsi->xdp_rings[i]); vsi 3028 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_free_tx_resources(struct i40e_vsi *vsi) vsi 3032 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tx_rings) { vsi 3033 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 3034 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tx_rings[i] && vsi->tx_rings[i]->desc) vsi 3035 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_free_tx_resources(vsi->tx_rings[i]); vsi 3038 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->xdp_rings) { vsi 3039 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 3040 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->xdp_rings[i] && vsi->xdp_rings[i]->desc) vsi 3041 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_free_tx_resources(vsi->xdp_rings[i]); vsi 3055 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_setup_rx_resources(struct i40e_vsi *vsi) vsi 3059 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs && !err; i++) vsi 3060 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_setup_rx_descriptors(vsi->rx_rings[i]); vsi 3070 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_free_rx_resources(struct i40e_vsi *vsi) vsi 3074 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->rx_rings) vsi 3077 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 3078 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rx_rings[i] && vsi->rx_rings[i]->desc) vsi 3079 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_free_rx_resources(vsi->rx_rings[i]); vsi 3113 drivers/net/ethernet/intel/i40e/i40e_main.c bool xdp_on = i40e_enabled_xdp_vsi(ring->vsi); vsi 3117 drivers/net/ethernet/intel/i40e/i40e_main.c qid -= ring->vsi->alloc_queue_pairs; vsi 3119 drivers/net/ethernet/intel/i40e/i40e_main.c if (!xdp_on || !test_bit(qid, ring->vsi->af_xdp_zc_qps)) vsi 3122 drivers/net/ethernet/intel/i40e/i40e_main.c return xdp_get_umem_from_qid(ring->vsi->netdev, qid); vsi 3133 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = ring->vsi; vsi 3134 drivers/net/ethernet/intel/i40e/i40e_main.c u16 pf_q = vsi->base_queue + ring->queue_index; vsi 3135 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_hw *hw = &vsi->back->hw; vsi 3144 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->flags & I40E_FLAG_FD_ATR_ENABLED) { vsi 3145 drivers/net/ethernet/intel/i40e/i40e_main.c ring->atr_sample_rate = vsi->back->atr_sample_rate; vsi 3160 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ctx.fd_ena = !!(vsi->back->flags & (I40E_FLAG_FD_SB_ENABLED | vsi 3162 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ctx.timesync_ena = !!(vsi->back->flags & I40E_FLAG_PTP); vsi 3164 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_FDIR) vsi 3185 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ctx.rdylist = le16_to_cpu(vsi->info.qs_handle[ring->dcb_tc]); vsi 3192 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 3201 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 3218 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_VMDQ2) { vsi 3220 drivers/net/ethernet/intel/i40e/i40e_main.c qtx_ctl |= ((vsi->id) << I40E_QTX_CTL_VFVM_INDX_SHIFT) & vsi 3246 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = ring->vsi; vsi 3247 drivers/net/ethernet/intel/i40e/i40e_main.c u32 chain_len = vsi->back->hw.func_caps.rx_buf_chain_len; vsi 3248 drivers/net/ethernet/intel/i40e/i40e_main.c u16 pf_q = vsi->base_queue + ring->queue_index; vsi 3249 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_hw *hw = &vsi->back->hw; vsi 3260 drivers/net/ethernet/intel/i40e/i40e_main.c if (ring->vsi->type == I40E_VSI_MAIN) vsi 3278 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 3283 drivers/net/ethernet/intel/i40e/i40e_main.c ring->rx_buf_len = vsi->rx_buf_len; vsi 3284 drivers/net/ethernet/intel/i40e/i40e_main.c if (ring->vsi->type == I40E_VSI_MAIN) { vsi 3307 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ctx.rxmax = min_t(u16, vsi->max_frame, chain_len * ring->rx_buf_len); vsi 3322 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 3331 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 3338 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev || (vsi->back->flags & I40E_FLAG_LEGACY_RX)) vsi 3354 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 3369 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_configure_tx(struct i40e_vsi *vsi) vsi 3374 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; (i < vsi->num_queue_pairs) && !err; i++) vsi 3375 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_configure_tx_ring(vsi->tx_rings[i]); vsi 3377 drivers/net/ethernet/intel/i40e/i40e_main.c if (err || !i40e_enabled_xdp_vsi(vsi)) vsi 3380 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; (i < vsi->num_queue_pairs) && !err; i++) vsi 3381 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_configure_tx_ring(vsi->xdp_rings[i]); vsi 3392 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_configure_rx(struct i40e_vsi *vsi) vsi 3397 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev || (vsi->back->flags & I40E_FLAG_LEGACY_RX)) { vsi 3398 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->max_frame = I40E_MAX_RXBUFFER; vsi 3399 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_buf_len = I40E_RXBUFFER_2048; vsi 3402 drivers/net/ethernet/intel/i40e/i40e_main.c (vsi->netdev->mtu <= ETH_DATA_LEN)) { vsi 3403 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->max_frame = I40E_RXBUFFER_1536 - NET_IP_ALIGN; vsi 3404 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_buf_len = I40E_RXBUFFER_1536 - NET_IP_ALIGN; vsi 3407 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->max_frame = I40E_MAX_RXBUFFER; vsi 3408 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_buf_len = (PAGE_SIZE < 8192) ? I40E_RXBUFFER_3072 : vsi 3413 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs && !err; i++) vsi 3414 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_configure_rx_ring(vsi->rx_rings[i]); vsi 3423 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_config_dcb_rings(struct i40e_vsi *vsi) vsi 3429 drivers/net/ethernet/intel/i40e/i40e_main.c if (!(vsi->back->flags & I40E_FLAG_DCB_ENABLED)) { vsi 3431 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 3432 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[i]; vsi 3433 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[i]; vsi 3441 drivers/net/ethernet/intel/i40e/i40e_main.c if (!(vsi->tc_config.enabled_tc & BIT_ULL(n))) vsi 3444 drivers/net/ethernet/intel/i40e/i40e_main.c qoffset = vsi->tc_config.tc_info[n].qoffset; vsi 3445 drivers/net/ethernet/intel/i40e/i40e_main.c qcount = vsi->tc_config.tc_info[n].qcount; vsi 3447 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[i]; vsi 3448 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[i]; vsi 3459 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_set_vsi_rx_mode(struct i40e_vsi *vsi) vsi 3461 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) vsi 3462 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_set_rx_mode(vsi->netdev); vsi 3472 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_fdir_filter_restore(struct i40e_vsi *vsi) vsi 3475 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 3489 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_add_del_fdir(vsi, filter, true); vsi 3497 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_configure(struct i40e_vsi *vsi) vsi 3501 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_set_vsi_rx_mode(vsi); vsi 3502 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_restore_vlan(vsi); vsi 3503 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_config_dcb_rings(vsi); vsi 3504 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_configure_tx(vsi); vsi 3506 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_configure_rx(vsi); vsi 3515 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_configure_msix(struct i40e_vsi *vsi) vsi 3517 drivers/net/ethernet/intel/i40e/i40e_main.c bool has_xdp = i40e_enabled_xdp_vsi(vsi); vsi 3518 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 3528 drivers/net/ethernet/intel/i40e/i40e_main.c qp = vsi->base_queue; vsi 3529 drivers/net/ethernet/intel/i40e/i40e_main.c vector = vsi->base_vector; vsi 3530 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_q_vectors; i++, vector++) { vsi 3531 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[i]; vsi 3535 drivers/net/ethernet/intel/i40e/i40e_main.c ITR_TO_REG(vsi->rx_rings[i]->itr_setting); vsi 3542 drivers/net/ethernet/intel/i40e/i40e_main.c ITR_TO_REG(vsi->tx_rings[i]->itr_setting); vsi 3548 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_intrl_usec_to_reg(vsi->int_rate_limit)); vsi 3553 drivers/net/ethernet/intel/i40e/i40e_main.c u32 nextqp = has_xdp ? qp + vsi->alloc_queue_pairs : qp; vsi 3638 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_configure_msi_and_legacy(struct i40e_vsi *vsi) vsi 3640 drivers/net/ethernet/intel/i40e/i40e_main.c u32 nextqp = i40e_enabled_xdp_vsi(vsi) ? vsi->alloc_queue_pairs : 0; vsi 3641 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[0]; vsi 3642 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 3648 drivers/net/ethernet/intel/i40e/i40e_main.c q_vector->rx.target_itr = ITR_TO_REG(vsi->rx_rings[0]->itr_setting); vsi 3652 drivers/net/ethernet/intel/i40e/i40e_main.c q_vector->tx.target_itr = ITR_TO_REG(vsi->tx_rings[0]->itr_setting); vsi 3669 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 3767 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_request_irq_msix(struct i40e_vsi *vsi, char *basename) vsi 3769 drivers/net/ethernet/intel/i40e/i40e_main.c int q_vectors = vsi->num_q_vectors; vsi 3770 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 3771 drivers/net/ethernet/intel/i40e/i40e_main.c int base = vsi->base_vector; vsi 3779 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[vector]; vsi 3798 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->irq_handler, vsi 3822 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->irqs_ready = true; vsi 3831 drivers/net/ethernet/intel/i40e/i40e_main.c free_irq(irq_num, &vsi->q_vectors[vector]); vsi 3840 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_disable_irq(struct i40e_vsi *vsi) vsi 3842 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 3844 drivers/net/ethernet/intel/i40e/i40e_main.c int base = vsi->base_vector; vsi 3848 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 3851 drivers/net/ethernet/intel/i40e/i40e_main.c val = rd32(hw, I40E_QINT_TQCTL(vsi->tx_rings[i]->reg_idx)); vsi 3853 drivers/net/ethernet/intel/i40e/i40e_main.c wr32(hw, I40E_QINT_TQCTL(vsi->tx_rings[i]->reg_idx), val); vsi 3855 drivers/net/ethernet/intel/i40e/i40e_main.c val = rd32(hw, I40E_QINT_RQCTL(vsi->rx_rings[i]->reg_idx)); vsi 3857 drivers/net/ethernet/intel/i40e/i40e_main.c wr32(hw, I40E_QINT_RQCTL(vsi->rx_rings[i]->reg_idx), val); vsi 3859 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 3861 drivers/net/ethernet/intel/i40e/i40e_main.c wr32(hw, I40E_QINT_TQCTL(vsi->xdp_rings[i]->reg_idx), 0); vsi 3866 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = vsi->base_vector; vsi 3867 drivers/net/ethernet/intel/i40e/i40e_main.c i < (vsi->num_q_vectors + vsi->base_vector); i++) vsi 3871 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_q_vectors; i++) vsi 3886 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_enable_irq(struct i40e_vsi *vsi) vsi 3888 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 3892 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_q_vectors; i++) vsi 3893 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_irq_dynamic_enable(vsi, i); vsi 3957 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 3958 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[0]; vsi 4060 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = tx_ring->vsi; vsi 4130 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->flags & I40E_FLAG_MSIX_ENABLED) vsi 4131 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_irq_dynamic_enable(vsi, tx_ring->q_vector->v_idx); vsi 4144 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi; vsi 4149 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = q_vector->tx.ring->vsi; vsi 4150 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_fdir_tx_irq(q_vector->tx.ring, vsi->work_limit); vsi 4161 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_map_vector_to_qp(struct i40e_vsi *vsi, int v_idx, int qp_idx) vsi 4163 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[v_idx]; vsi 4164 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_ring *tx_ring = vsi->tx_rings[qp_idx]; vsi 4165 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_ring *rx_ring = vsi->rx_rings[qp_idx]; vsi 4173 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 4174 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_ring *xdp_ring = vsi->xdp_rings[qp_idx]; vsi 4197 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_map_rings_to_vectors(struct i40e_vsi *vsi) vsi 4199 drivers/net/ethernet/intel/i40e/i40e_main.c int qp_remaining = vsi->num_queue_pairs; vsi 4200 drivers/net/ethernet/intel/i40e/i40e_main.c int q_vectors = vsi->num_q_vectors; vsi 4213 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[v_start]; vsi 4218 drivers/net/ethernet/intel/i40e/i40e_main.c q_vector->reg_idx = q_vector->v_idx + vsi->base_vector - 1; vsi 4226 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_map_vector_to_qp(vsi, v_start, qp_idx); vsi 4238 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_request_irq(struct i40e_vsi *vsi, char *basename) vsi 4240 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4244 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_request_irq_msix(vsi, basename); vsi 4269 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 4270 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4274 drivers/net/ethernet/intel/i40e/i40e_main.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 4278 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_q_vectors; i++) vsi 4279 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_msix_clean_rings(0, vsi->q_vectors[i]); vsi 4393 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_control_tx(struct i40e_vsi *vsi, bool enable) vsi 4395 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4398 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q = vsi->base_queue; vsi 4399 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++, pf_q++) { vsi 4400 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_control_wait_tx_q(vsi->seid, pf, vsi 4406 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 4409 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_control_wait_tx_q(vsi->seid, pf, vsi 4410 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q + vsi->alloc_queue_pairs, vsi 4513 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_control_rx(struct i40e_vsi *vsi, bool enable) vsi 4515 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4518 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q = vsi->base_queue; vsi 4519 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++, pf_q++) { vsi 4524 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q, (enable ? "en" : "dis")); vsi 4542 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_vsi_start_rings(struct i40e_vsi *vsi) vsi 4547 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_control_rx(vsi, true); vsi 4550 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_control_tx(vsi, true); vsi 4559 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vsi_stop_rings(struct i40e_vsi *vsi) vsi 4562 drivers/net/ethernet/intel/i40e/i40e_main.c if (test_bit(__I40E_PORT_SUSPENDED, vsi->back->state)) vsi 4563 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_vsi_stop_rings_no_wait(vsi); vsi 4568 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_control_tx(vsi, false); vsi 4569 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_control_rx(vsi, false); vsi 4583 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_vsi_stop_rings_no_wait(struct i40e_vsi *vsi) vsi 4585 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4588 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q = vsi->base_queue; vsi 4589 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++, pf_q++) { vsi 4599 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_free_irq(struct i40e_vsi *vsi) vsi 4601 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4603 drivers/net/ethernet/intel/i40e/i40e_main.c int base = vsi->base_vector; vsi 4608 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->q_vectors) vsi 4611 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->irqs_ready) vsi 4614 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->irqs_ready = false; vsi 4615 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_q_vectors; i++) { vsi 4623 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->q_vectors[i] || vsi 4624 drivers/net/ethernet/intel/i40e/i40e_main.c !vsi->q_vectors[i]->num_ringpairs) vsi 4632 drivers/net/ethernet/intel/i40e/i40e_main.c free_irq(irq_num, vsi->q_vectors[i]); vsi 4724 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_free_q_vector(struct i40e_vsi *vsi, int v_idx) vsi 4726 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[v_idx]; vsi 4740 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) vsi 4743 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->q_vectors[v_idx] = NULL; vsi 4755 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_free_q_vectors(struct i40e_vsi *vsi) vsi 4759 drivers/net/ethernet/intel/i40e/i40e_main.c for (v_idx = 0; v_idx < vsi->num_q_vectors; v_idx++) vsi 4760 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_free_q_vector(vsi, v_idx); vsi 4800 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i]) vsi 4801 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_q_vectors(pf->vsi[i]); vsi 4809 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_napi_enable_all(struct i40e_vsi *vsi) vsi 4813 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev) vsi 4816 drivers/net/ethernet/intel/i40e/i40e_main.c for (q_idx = 0; q_idx < vsi->num_q_vectors; q_idx++) { vsi 4817 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[q_idx]; vsi 4828 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_napi_disable_all(struct i40e_vsi *vsi) vsi 4832 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev) vsi 4835 drivers/net/ethernet/intel/i40e/i40e_main.c for (q_idx = 0; q_idx < vsi->num_q_vectors; q_idx++) { vsi 4836 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_q_vector *q_vector = vsi->q_vectors[q_idx]; vsi 4847 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_close(struct i40e_vsi *vsi) vsi 4849 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4850 drivers/net/ethernet/intel/i40e/i40e_main.c if (!test_and_set_bit(__I40E_VSI_DOWN, vsi->state)) vsi 4851 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_down(vsi); vsi 4852 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_irq(vsi); vsi 4853 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_tx_resources(vsi); vsi 4854 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_rx_resources(vsi); vsi 4855 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->current_netdev_flags = 0; vsi 4865 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_quiesce_vsi(struct i40e_vsi *vsi) vsi 4867 drivers/net/ethernet/intel/i40e/i40e_main.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 4870 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_VSI_NEEDS_RESTART, vsi->state); vsi 4871 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev && netif_running(vsi->netdev)) vsi 4872 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev->netdev_ops->ndo_stop(vsi->netdev); vsi 4874 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_close(vsi); vsi 4881 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_unquiesce_vsi(struct i40e_vsi *vsi) vsi 4883 drivers/net/ethernet/intel/i40e/i40e_main.c if (!test_and_clear_bit(__I40E_VSI_NEEDS_RESTART, vsi->state)) vsi 4886 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev && netif_running(vsi->netdev)) vsi 4887 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev->netdev_ops->ndo_open(vsi->netdev); vsi 4889 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_open(vsi); /* this clears the DOWN bit */ vsi 4901 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v]) vsi 4902 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_quiesce_vsi(pf->vsi[v]); vsi 4915 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v]) vsi 4916 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_unquiesce_vsi(pf->vsi[v]); vsi 4926 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_vsi_wait_queues_disabled(struct i40e_vsi *vsi) vsi 4928 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 4931 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q = vsi->base_queue; vsi 4932 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++, pf_q++) { vsi 4938 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q); vsi 4942 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 4946 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_pf_txq_wait(pf, pf_q + vsi->alloc_queue_pairs, vsi 4951 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q); vsi 4960 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q); vsi 4981 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v]) { vsi 4982 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_wait_queues_disabled(pf->vsi[v]); vsi 5092 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 5093 drivers/net/ethernet/intel/i40e/i40e_main.c u8 num_tc = vsi->mqprio_qopt.qopt.num_tc; vsi 5115 drivers/net/ethernet/intel/i40e/i40e_main.c return pf->vsi[pf->lan_vsi]->mqprio_qopt.qopt.num_tc; vsi 5172 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_get_bw_info(struct i40e_vsi *vsi) vsi 5176 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5183 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_query_vsi_bw_config(hw, vsi->seid, &bw_config, NULL); vsi 5193 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_query_vsi_ets_sla_config(hw, vsi->seid, &bw_ets_config, vsi 5211 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->bw_limit = le16_to_cpu(bw_config.port_bw_limit); vsi 5212 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->bw_max_quanta = bw_config.max_bw; vsi 5216 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->bw_ets_share_credits[i] = bw_ets_config.share_credits[i]; vsi 5217 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->bw_ets_limit_credits[i] = vsi 5220 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->bw_ets_max_quanta[i] = (u8)((tc_bw_max >> (i*4)) & 0x7); vsi 5234 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_configure_bw_alloc(struct i40e_vsi *vsi, u8 enabled_tc, vsi 5238 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5245 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->mqprio_qopt.qopt.hw && !(pf->flags & I40E_FLAG_DCB_ENABLED)) { vsi 5246 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_set_bw_limit(vsi, vsi->seid, 0); vsi 5250 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid); vsi 5257 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_config_vsi_tc_bw(&pf->hw, vsi->seid, &bw_data, NULL); vsi 5266 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.qs_handle[i] = bw_data.qs_handles[i]; vsi 5277 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_config_netdev_tc(struct i40e_vsi *vsi, u8 enabled_tc) vsi 5279 drivers/net/ethernet/intel/i40e/i40e_main.c struct net_device *netdev = vsi->netdev; vsi 5280 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5295 drivers/net/ethernet/intel/i40e/i40e_main.c if (netdev_set_num_tc(netdev, vsi->tc_config.numtc)) vsi 5307 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tc_config.enabled_tc & BIT(i)) vsi 5309 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].netdev_tc, vsi 5310 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount, vsi 5311 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset); vsi 5322 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_tc = vsi->tc_config.tc_info[ets_tc].netdev_tc; vsi 5332 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_update_queue_map(struct i40e_vsi *vsi, vsi 5339 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.mapping_flags = ctxt->info.mapping_flags; vsi 5340 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(&vsi->info.queue_mapping, vsi 5341 drivers/net/ethernet/intel/i40e/i40e_main.c &ctxt->info.queue_mapping, sizeof(vsi->info.queue_mapping)); vsi 5342 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(&vsi->info.tc_mapping, ctxt->info.tc_mapping, vsi 5343 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->info.tc_mapping)); vsi 5359 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc) vsi 5362 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5369 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tc_config.enabled_tc == enabled_tc && vsi 5370 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->mqprio_qopt.mode != TC_MQPRIO_MODE_CHANNEL) vsi 5379 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_configure_bw_alloc(vsi, enabled_tc, bw_share); vsi 5385 drivers/net/ethernet/intel/i40e/i40e_main.c enabled_tc, vsi->seid); vsi 5386 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_query_vsi_bw_config(hw, vsi->seid, vsi 5408 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_configure_bw_alloc(vsi, enabled_tc, bw_share); vsi 5412 drivers/net/ethernet/intel/i40e/i40e_main.c enabled_tc, vsi->seid); vsi 5418 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.seid = vsi->seid; vsi 5419 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.pf_num = vsi->back->hw.pf_id; vsi 5421 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.uplink_seid = vsi->uplink_seid; vsi 5422 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.info = vsi->info; vsi 5423 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->flags & I40E_FLAG_TC_MQPRIO) { vsi 5424 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_setup_queue_map_mqprio(vsi, &ctxt, enabled_tc); vsi 5428 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_queue_map(vsi, &ctxt, enabled_tc, false); vsi 5434 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->mqprio_qopt.qopt.hw && vsi->reconfig_rss) { vsi 5435 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size = min_t(int, vsi->back->alloc_rss_size, vsi 5436 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs); vsi 5437 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_rss(vsi); vsi 5439 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 5443 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->reconfig_rss = false; vsi 5445 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->flags & I40E_FLAG_IWARP_ENABLED) { vsi 5463 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_update_queue_map(vsi, &ctxt); vsi 5464 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = 0; vsi 5467 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_get_bw_info(vsi); vsi 5477 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_config_netdev_tc(vsi, enabled_tc); vsi 5487 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_get_link_speed(struct i40e_vsi *vsi) vsi 5489 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5515 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_set_bw_limit(struct i40e_vsi *vsi, u16 seid, u64 max_tx_rate) vsi 5517 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5522 drivers/net/ethernet/intel/i40e/i40e_main.c speed = i40e_get_link_speed(vsi); vsi 5554 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_remove_queue_channels(struct i40e_vsi *vsi) vsi 5559 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5566 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->current_rss_size = 0; vsi 5569 drivers/net/ethernet/intel/i40e/i40e_main.c if (list_empty(&vsi->ch_list)) vsi 5572 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->ch_list, list) { vsi 5587 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[pf_q]; vsi 5590 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[pf_q]; vsi 5595 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_set_bw_limit(vsi, ch->seid, 0); vsi 5597 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 5609 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_del_cloud_filter_big_buf(vsi, vsi 5613 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_del_cloud_filter(vsi, cfilter, vsi 5625 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_delete_element(&vsi->back->hw, ch->seid, vsi 5628 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 5633 drivers/net/ethernet/intel/i40e/i40e_main.c INIT_LIST_HEAD(&vsi->ch_list); vsi 5642 drivers/net/ethernet/intel/i40e/i40e_main.c static bool i40e_is_any_channel(struct i40e_vsi *vsi) vsi 5646 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->ch_list, list) { vsi 5661 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_get_max_queues_for_channel(struct i40e_vsi *vsi) vsi 5666 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->ch_list, list) { vsi 5688 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi, bool *reconfig_rss) vsi 5696 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->current_rss_size) { vsi 5697 drivers/net/ethernet/intel/i40e/i40e_main.c if (num_queues > vsi->current_rss_size) { vsi 5700 drivers/net/ethernet/intel/i40e/i40e_main.c num_queues, vsi->current_rss_size); vsi 5702 drivers/net/ethernet/intel/i40e/i40e_main.c } else if ((num_queues < vsi->current_rss_size) && vsi 5706 drivers/net/ethernet/intel/i40e/i40e_main.c num_queues, vsi->current_rss_size); vsi 5717 drivers/net/ethernet/intel/i40e/i40e_main.c max_ch_queues = i40e_get_max_queues_for_channel(vsi); vsi 5737 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_reconfig_rss(struct i40e_vsi *vsi, u16 rss_size) vsi 5739 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 5746 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->rss_size) vsi 5749 drivers/net/ethernet/intel/i40e/i40e_main.c if (rss_size > vsi->rss_size) vsi 5752 drivers/net/ethernet/intel/i40e/i40e_main.c local_rss_size = min_t(int, vsi->rss_size, rss_size); vsi 5753 drivers/net/ethernet/intel/i40e/i40e_main.c lut = kzalloc(vsi->rss_table_size, GFP_KERNEL); vsi 5758 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_fill_rss_lut(pf, lut, vsi->rss_table_size, local_rss_size); vsi 5763 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rss_hkey_user) vsi 5764 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(seed, vsi->rss_hkey_user, I40E_HKEY_ARRAY_SIZE); vsi 5768 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_config_rss(vsi, seed, lut, vsi->rss_table_size); vsi 5780 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->orig_rss_size) vsi 5781 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->orig_rss_size = vsi->rss_size; vsi 5782 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->current_rss_size = local_rss_size; vsi 5899 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_channel_config_bw(struct i40e_vsi *vsi, struct i40e_channel *ch, vsi 5910 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_config_vsi_tc_bw(&vsi->back->hw, ch->seid, vsi 5913 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 5915 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->hw.aq.asq_last_status, ch->seid); vsi 5935 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi, vsi 5949 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_channel_config_bw(vsi, ch, bw_share); vsi 5951 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 5966 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[pf_q]; vsi 5970 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[pf_q]; vsi 5989 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi, vsi 5996 drivers/net/ethernet/intel/i40e/i40e_main.c ch->base_queue = vsi->next_base_queue; vsi 6012 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_channel_config_tx_ring(pf, vsi, ch); vsi 6021 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->next_base_queue = vsi->next_base_queue + ch->num_queue_pairs; vsi 6026 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->next_base_queue); vsi 6040 drivers/net/ethernet/intel/i40e/i40e_main.c static bool i40e_setup_channel(struct i40e_pf *pf, struct i40e_vsi *vsi, vsi 6047 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 6051 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->type); vsi 6056 drivers/net/ethernet/intel/i40e/i40e_main.c seid = pf->vsi[pf->lan_vsi]->uplink_seid; vsi 6059 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_setup_hw_channel(pf, vsi, ch, seid, vsi_type); vsi 6075 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_validate_and_set_switch_mode(struct i40e_vsi *vsi) vsi 6078 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 6133 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_create_queue_channel(struct i40e_vsi *vsi, vsi 6136 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 6150 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_validate_num_queues(pf, ch->num_queue_pairs, vsi, vsi 6162 drivers/net/ethernet/intel/i40e/i40e_main.c (!i40e_is_any_channel(vsi))) { vsi 6163 drivers/net/ethernet/intel/i40e/i40e_main.c if (!is_power_of_2(vsi->tc_config.tc_info[0].qcount)) { vsi 6166 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[0].qcount); vsi 6173 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 6190 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->cnt_q_avail || vsi->cnt_q_avail < ch->num_queue_pairs) { vsi 6193 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->cnt_q_avail, ch->num_queue_pairs); vsi 6198 drivers/net/ethernet/intel/i40e/i40e_main.c if (reconfig_rss && (vsi->type == I40E_VSI_MAIN)) { vsi 6199 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_reconfig_rss(vsi, ch->num_queue_pairs); vsi 6208 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_setup_channel(pf, vsi, ch)) { vsi 6221 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_set_bw_limit(vsi, ch->seid, ch->max_tx_rate)) vsi 6233 drivers/net/ethernet/intel/i40e/i40e_main.c ch->parent_vsi = vsi; vsi 6236 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->cnt_q_avail -= ch->num_queue_pairs; vsi 6247 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_configure_queue_channels(struct i40e_vsi *vsi) vsi 6254 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_seid_map[0] = vsi->seid; vsi 6256 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tc_config.enabled_tc & BIT(i)) { vsi 6265 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount; vsi 6267 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset; vsi 6272 drivers/net/ethernet/intel/i40e/i40e_main.c max_rate = vsi->mqprio_qopt.max_rate[i]; vsi 6276 drivers/net/ethernet/intel/i40e/i40e_main.c list_add_tail(&ch->list, &vsi->ch_list); vsi 6278 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_create_queue_channel(vsi, ch); vsi 6280 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 6285 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_seid_map[i] = ch->seid; vsi 6291 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_remove_queue_channels(vsi); vsi 6376 drivers/net/ethernet/intel/i40e/i40e_main.c if (!pf->vsi[v]) vsi 6387 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_tc(pf->vsi[v], tc_map); vsi 6391 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[v]->seid); vsi 6395 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_map_rings_to_vectors(pf->vsi[v]); vsi 6396 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v]->netdev) vsi 6397 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_dcbnl_set_all(pf->vsi[v]); vsi 6494 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_print_link_message(struct i40e_vsi *vsi, bool isup) vsi 6497 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 6509 drivers/net/ethernet/intel/i40e/i40e_main.c if ((vsi->current_isup == isup) && (vsi->current_speed == new_speed)) vsi 6511 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->current_isup = isup; vsi 6512 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->current_speed = new_speed; vsi 6514 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_info(vsi->netdev, "NIC Link is Down\n"); vsi 6524 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_warn(vsi->netdev, vsi 6589 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->hw.phy.link_info.req_fec_info & vsi 6591 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->hw.phy.link_info.req_fec_info & vsi 6597 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_info(vsi->netdev, vsi 6601 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_info(vsi->netdev, vsi 6612 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_up_complete(struct i40e_vsi *vsi) vsi 6614 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 6618 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_configure_msix(vsi); vsi 6620 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_configure_msi_and_legacy(vsi); vsi 6623 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_start_rings(vsi); vsi 6627 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(__I40E_VSI_DOWN, vsi->state); vsi 6628 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_napi_enable_all(vsi); vsi 6629 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_enable_irq(vsi); vsi 6632 drivers/net/ethernet/intel/i40e/i40e_main.c (vsi->netdev)) { vsi 6633 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_print_link_message(vsi, true); vsi 6634 drivers/net/ethernet/intel/i40e/i40e_main.c netif_tx_start_all_queues(vsi->netdev); vsi 6635 drivers/net/ethernet/intel/i40e/i40e_main.c netif_carrier_on(vsi->netdev); vsi 6639 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_FDIR) { vsi 6643 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_fdir_filter_restore(vsi); vsi 6662 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_reinit_locked(struct i40e_vsi *vsi) vsi 6664 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 6669 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_down(vsi); vsi 6671 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_up(vsi); vsi 6679 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_up(struct i40e_vsi *vsi) vsi 6683 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_configure(vsi); vsi 6685 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_up_complete(vsi); vsi 6786 drivers/net/ethernet/intel/i40e/i40e_main.c void i40e_down(struct i40e_vsi *vsi) vsi 6793 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) { vsi 6794 drivers/net/ethernet/intel/i40e/i40e_main.c netif_carrier_off(vsi->netdev); vsi 6795 drivers/net/ethernet/intel/i40e/i40e_main.c netif_tx_disable(vsi->netdev); vsi 6797 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_disable_irq(vsi); vsi 6798 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_stop_rings(vsi); vsi 6799 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN && vsi 6800 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->flags & I40E_FLAG_LINK_DOWN_ON_CLOSE_ENABLED) vsi 6801 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_force_link_state(vsi->back, false); vsi 6802 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_napi_disable_all(vsi); vsi 6804 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 6805 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_tx_ring(vsi->tx_rings[i]); vsi 6806 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 6811 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_tx_ring(vsi->xdp_rings[i]); vsi 6813 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_rx_ring(vsi->rx_rings[i]); vsi 6823 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_validate_mqprio_qopt(struct i40e_vsi *vsi, vsi 6838 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 6852 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->num_queue_pairs < vsi 6856 drivers/net/ethernet/intel/i40e/i40e_main.c if (sum_max_rate > i40e_get_link_speed(vsi)) { vsi 6857 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 6868 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_set_default_tc_config(struct i40e_vsi *vsi) vsi 6874 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.numtc = 1; vsi 6875 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc = 1; vsi 6876 drivers/net/ethernet/intel/i40e/i40e_main.c qcount = min_t(int, vsi->alloc_queue_pairs, vsi 6877 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_pf_get_max_q_per_tc(vsi->back)); vsi 6882 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qoffset = 0; vsi 6884 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount = qcount; vsi 6886 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].qcount = 1; vsi 6887 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.tc_info[i].netdev_tc = 0; vsi 6951 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_reset_ch_rings(struct i40e_vsi *vsi, struct i40e_channel *ch) vsi 6959 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[pf_q]; vsi 6961 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[pf_q]; vsi 6974 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_free_macvlan_channels(struct i40e_vsi *vsi) vsi 6979 drivers/net/ethernet/intel/i40e/i40e_main.c if (list_empty(&vsi->macvlan_list)) vsi 6982 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->macvlan_list, list) { vsi 6986 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_reset_ch_rings(vsi, ch); vsi 6987 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(ch->fwd->bit_no, vsi->fwd_bitmask); vsi 6988 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_unbind_sb_channel(vsi->netdev, ch->fwd->netdev); vsi 7002 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_delete_element(&vsi->back->hw, ch->seid, vsi 7005 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 7010 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->macvlan_cnt = 0; vsi 7019 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_fwd_ring_up(struct i40e_vsi *vsi, struct net_device *vdev, vsi 7024 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7027 drivers/net/ethernet/intel/i40e/i40e_main.c if (list_empty(&vsi->macvlan_list)) vsi 7031 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->macvlan_list, list) { vsi 7036 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_bind_sb_channel_queue(vsi->netdev, vdev, vsi 7047 drivers/net/ethernet/intel/i40e/i40e_main.c tx_ring = vsi->tx_rings[pf_q]; vsi 7051 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[pf_q]; vsi 7073 drivers/net/ethernet/intel/i40e/i40e_main.c rx_ring = vsi->rx_rings[pf_q]; vsi 7093 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_setup_macvlans(struct i40e_vsi *vsi, u16 macvlan_cnt, u16 qcnt, vsi 7096 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7104 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_MAIN || !macvlan_cnt) vsi 7107 drivers/net/ethernet/intel/i40e/i40e_main.c num_qps = vsi->num_queue_pairs - (macvlan_cnt * qcnt); vsi 7119 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.seid = vsi->seid; vsi 7120 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.pf_num = vsi->back->hw.pf_id; vsi 7122 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.uplink_seid = vsi->uplink_seid; vsi 7123 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.info = vsi->info; vsi 7126 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.info.queue_mapping[0] = cpu_to_le16(vsi->base_queue); vsi 7130 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size = max_t(u16, num_qps, qcnt); vsi 7131 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_rss(vsi); vsi 7135 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size); vsi 7138 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->reconfig_rss = true; vsi 7139 drivers/net/ethernet/intel/i40e/i40e_main.c dev_dbg(&vsi->back->pdev->dev, vsi 7140 drivers/net/ethernet/intel/i40e/i40e_main.c "Reconfigured RSS with num_queues (%u)\n", vsi->rss_size); vsi 7141 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->next_base_queue = num_qps; vsi 7142 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->cnt_q_avail = vsi->num_queue_pairs - num_qps; vsi 7156 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_update_queue_map(vsi, &ctxt); vsi 7157 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = 0; vsi 7160 drivers/net/ethernet/intel/i40e/i40e_main.c INIT_LIST_HEAD(&vsi->macvlan_list); vsi 7169 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_setup_channel(pf, vsi, ch)) { vsi 7174 drivers/net/ethernet/intel/i40e/i40e_main.c ch->parent_vsi = vsi; vsi 7175 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->cnt_q_avail -= ch->num_queue_pairs; vsi 7176 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->macvlan_cnt++; vsi 7177 drivers/net/ethernet/intel/i40e/i40e_main.c list_add_tail(&ch->list, &vsi->macvlan_list); vsi 7184 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_free_macvlan_channels(vsi); vsi 7198 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 7199 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7222 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->macvlan_cnt) { vsi 7224 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(0, vsi->fwd_bitmask); vsi 7257 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_quiesce_vsi(vsi); vsi 7260 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_setup_macvlans(vsi, macvlan_cnt, q_per_macvlan, vsi 7266 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_unquiesce_vsi(vsi); vsi 7268 drivers/net/ethernet/intel/i40e/i40e_main.c avail_macvlan = find_first_zero_bit(vsi->fwd_bitmask, vsi 7269 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->macvlan_cnt); vsi 7278 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(avail_macvlan, vsi->fwd_bitmask); vsi 7287 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_fwd_ring_up(vsi, vdev, fwd); vsi 7304 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_del_all_macvlans(struct i40e_vsi *vsi) vsi 7307 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7311 drivers/net/ethernet/intel/i40e/i40e_main.c if (list_empty(&vsi->macvlan_list)) vsi 7314 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->macvlan_list, list) { vsi 7321 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_reset_ch_rings(vsi, ch); vsi 7322 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(ch->fwd->bit_no, vsi->fwd_bitmask); vsi 7323 drivers/net/ethernet/intel/i40e/i40e_main.c netdev_unbind_sb_channel(vsi->netdev, vsi 7343 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 7344 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7349 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->macvlan_list, list) { vsi 7358 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_reset_ch_rings(vsi, ch); vsi 7359 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(ch->fwd->bit_no, vsi->fwd_bitmask); vsi 7384 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 7385 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7393 drivers/net/ethernet/intel/i40e/i40e_main.c old_queue_pairs = vsi->num_queue_pairs; vsi 7399 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(&vsi->mqprio_qopt, mqprio_qopt, sizeof(*mqprio_qopt)); vsi 7435 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_validate_mqprio_qopt(vsi, mqprio_qopt); vsi 7438 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(&vsi->mqprio_qopt, mqprio_qopt, vsi 7453 drivers/net/ethernet/intel/i40e/i40e_main.c if (enabled_tc == vsi->tc_config.enabled_tc && vsi 7458 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_quiesce_vsi(vsi); vsi 7461 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_remove_queue_channels(vsi); vsi 7464 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_tc(vsi, enabled_tc); vsi 7467 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid); vsi 7471 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 7473 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi->tc_config.tc_info[0].qcount); vsi 7477 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->mqprio_qopt.max_rate[0]) { vsi 7478 drivers/net/ethernet/intel/i40e/i40e_main.c u64 max_tx_rate = vsi->mqprio_qopt.max_rate[0]; vsi 7481 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_set_bw_limit(vsi, vsi->seid, max_tx_rate); vsi 7486 drivers/net/ethernet/intel/i40e/i40e_main.c dev_dbg(&vsi->back->pdev->dev, vsi 7490 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid); vsi 7496 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_configure_queue_channels(vsi); vsi 7498 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs = old_queue_pairs; vsi 7509 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_set_default_tc_config(vsi); vsi 7514 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_unquiesce_vsi(vsi); vsi 7570 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_add_del_cloud_filter(struct i40e_vsi *vsi, vsi 7574 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7637 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_add_del_cloud_filter_big_buf(struct i40e_vsi *vsi, vsi 7642 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7708 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_validate_and_set_switch_mode(vsi); vsi 7742 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_parse_cls_flower(struct i40e_vsi *vsi, vsi 7749 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7949 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_handle_tclass(struct i40e_vsi *vsi, u32 tc, vsi 7956 drivers/net/ethernet/intel/i40e/i40e_main.c filter->seid = vsi->seid; vsi 7958 drivers/net/ethernet/intel/i40e/i40e_main.c } else if (vsi->tc_config.enabled_tc & BIT(tc)) { vsi 7960 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 7964 drivers/net/ethernet/intel/i40e/i40e_main.c if (list_empty(&vsi->ch_list)) vsi 7966 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->ch_list, vsi 7968 drivers/net/ethernet/intel/i40e/i40e_main.c if (ch->seid == vsi->tc_seid_map[tc]) vsi 7973 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, "TC is not enabled\n"); vsi 7983 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_configure_clsflower(struct i40e_vsi *vsi, vsi 7986 drivers/net/ethernet/intel/i40e/i40e_main.c int tc = tc_classid_to_hwtc(vsi->netdev, cls_flower->classid); vsi 7988 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 7992 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, "Invalid traffic class\n"); vsi 8002 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 8007 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->flags & I40E_FLAG_FD_SB_ENABLED) { vsi 8008 drivers/net/ethernet/intel/i40e/i40e_main.c dev_err(&vsi->back->pdev->dev, vsi 8010 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->flags &= ~I40E_FLAG_FD_SB_ENABLED; vsi 8011 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back->flags |= I40E_FLAG_FD_SB_TO_CLOUD_FILTER; vsi 8020 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_parse_cls_flower(vsi, cls_flower, filter); vsi 8024 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_handle_tclass(vsi, tc, filter); vsi 8030 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_add_del_cloud_filter_big_buf(vsi, filter, true); vsi 8032 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_add_del_cloud_filter(vsi, filter, true); vsi 8060 drivers/net/ethernet/intel/i40e/i40e_main.c static struct i40e_cloud_filter *i40e_find_cloud_filter(struct i40e_vsi *vsi, vsi 8067 drivers/net/ethernet/intel/i40e/i40e_main.c &vsi->back->cloud_filter_list, cloud_node) vsi 8079 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_delete_clsflower(struct i40e_vsi *vsi, vsi 8083 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 8086 drivers/net/ethernet/intel/i40e/i40e_main.c filter = i40e_find_cloud_filter(vsi, &cls_flower->cookie); vsi 8094 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_add_del_cloud_filter_big_buf(vsi, filter, false); vsi 8096 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_add_del_cloud_filter(vsi, filter, false); vsi 8125 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 8129 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_configure_clsflower(vsi, cls_flower); vsi 8131 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_delete_clsflower(vsi, cls_flower); vsi 8144 drivers/net/ethernet/intel/i40e/i40e_main.c if (!tc_cls_can_offload_and_chain0(np->vsi->netdev, type_data)) vsi 8191 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 8192 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 8205 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_open(vsi); vsi 8232 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_vsi_open(struct i40e_vsi *vsi) vsi 8234 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 8239 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_setup_tx_resources(vsi); vsi 8242 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_setup_rx_resources(vsi); vsi 8246 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_configure(vsi); vsi 8250 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) { vsi 8252 drivers/net/ethernet/intel/i40e/i40e_main.c dev_driver_string(&pf->pdev->dev), vsi->netdev->name); vsi 8253 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_request_irq(vsi, int_name); vsi 8258 drivers/net/ethernet/intel/i40e/i40e_main.c err = netif_set_real_num_tx_queues(vsi->netdev, vsi 8259 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs); vsi 8263 drivers/net/ethernet/intel/i40e/i40e_main.c err = netif_set_real_num_rx_queues(vsi->netdev, vsi 8264 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_queue_pairs); vsi 8268 drivers/net/ethernet/intel/i40e/i40e_main.c } else if (vsi->type == I40E_VSI_FDIR) { vsi 8272 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_request_irq(vsi, int_name); vsi 8279 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_up_complete(vsi); vsi 8286 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_down(vsi); vsi 8288 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_irq(vsi); vsi 8290 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_rx_resources(vsi); vsi 8292 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_tx_resources(vsi); vsi 8293 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi == pf->vsi[pf->lan_vsi]) vsi 8399 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 8401 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_close(vsi); vsi 8477 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[v]; vsi 8479 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi != NULL && vsi 8481 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->state)) vsi 8482 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_reinit_locked(pf->vsi[v]); vsi 8490 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[v]; vsi 8492 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi != NULL && vsi 8494 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->state)) { vsi 8495 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_VSI_DOWN, vsi->state); vsi 8496 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_down(vsi); vsi 8927 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_fdir_filter_restore(pf->vsi[pf->lan_vsi]); vsi 8975 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_link_event(struct i40e_vsi *vsi, bool link_up) vsi 8977 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi || test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 8980 drivers/net/ethernet/intel/i40e/i40e_main.c switch (vsi->type) { vsi 8982 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev || !vsi->netdev_registered) vsi 8986 drivers/net/ethernet/intel/i40e/i40e_main.c netif_carrier_on(vsi->netdev); vsi 8987 drivers/net/ethernet/intel/i40e/i40e_main.c netif_tx_wake_all_queues(vsi->netdev); vsi 8989 drivers/net/ethernet/intel/i40e/i40e_main.c netif_carrier_off(vsi->netdev); vsi 8990 drivers/net/ethernet/intel/i40e/i40e_main.c netif_tx_stop_all_queues(vsi->netdev); vsi 9026 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && (pf->vsi[i]->uplink_seid == veb->seid)) vsi 9027 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_link_event(pf->vsi[i], link_up); vsi 9036 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 9064 drivers/net/ethernet/intel/i40e/i40e_main.c (test_bit(__I40E_VSI_DOWN, vsi->state) || vsi 9065 drivers/net/ethernet/intel/i40e/i40e_main.c new_link == netif_carrier_ok(vsi->netdev))) vsi 9068 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_print_link_message(vsi, new_link); vsi 9076 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_link_event(vsi, new_link); vsi 9112 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && pf->vsi[i]->netdev) vsi 9113 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_update_stats(pf->vsi[i]); vsi 9376 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 9395 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); vsi 9412 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 9431 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL); vsi 9479 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v] && vsi 9480 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[v]->veb_idx == veb->idx && vsi 9481 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[v]->flags & I40E_VSI_FLAG_VEB_OWNER) { vsi 9482 drivers/net/ethernet/intel/i40e/i40e_main.c ctl_vsi = pf->vsi[v]; vsi 9492 drivers/net/ethernet/intel/i40e/i40e_main.c if (ctl_vsi != pf->vsi[pf->lan_vsi]) vsi 9493 drivers/net/ethernet/intel/i40e/i40e_main.c ctl_vsi->uplink_seid = pf->vsi[pf->lan_vsi]->uplink_seid; vsi 9516 drivers/net/ethernet/intel/i40e/i40e_main.c if (!pf->vsi[v] || pf->vsi[v] == ctl_vsi) vsi 9519 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v]->veb_idx == veb->idx) { vsi 9520 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[v]; vsi 9522 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid = veb->seid; vsi 9523 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_vsi(vsi); vsi 9530 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_reset_stats(vsi); vsi 9627 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_clear(struct i40e_vsi *vsi); vsi 9635 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi; vsi 9656 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = i40e_find_vsi_by_type(pf, I40E_VSI_FDIR); vsi 9659 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) { vsi 9660 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = i40e_vsi_setup(pf, I40E_VSI_FDIR, vsi 9661 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->seid, 0); vsi 9662 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) { vsi 9670 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_irqhandler(vsi, i40e_fdir_clean_ring); vsi 9679 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi; vsi 9682 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = i40e_find_vsi_by_type(pf, I40E_VSI_FDIR); vsi 9683 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi) vsi 9684 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_release(vsi); vsi 9695 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_rebuild_cloud_filters(struct i40e_vsi *vsi, u16 seid) vsi 9698 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 9709 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, vsi 9712 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_del_cloud_filter(vsi, cfilter, true); vsi 9732 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_rebuild_channels(struct i40e_vsi *vsi) vsi 9737 drivers/net/ethernet/intel/i40e/i40e_main.c if (list_empty(&vsi->ch_list)) vsi 9740 drivers/net/ethernet/intel/i40e/i40e_main.c list_for_each_entry_safe(ch, ch_tmp, &vsi->ch_list, list) { vsi 9744 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_channel(vsi->back, vsi->uplink_seid, ch); vsi 9746 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 9748 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid); vsi 9752 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_channel_config_tx_ring(vsi->back, vsi, ch); vsi 9754 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 9760 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->next_base_queue = vsi->next_base_queue + vsi 9765 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_set_bw_limit(vsi, ch->seid, vsi 9770 drivers/net/ethernet/intel/i40e/i40e_main.c dev_dbg(&vsi->back->pdev->dev, vsi 9776 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_rebuild_cloud_filters(vsi, ch->seid); vsi 9778 drivers/net/ethernet/intel/i40e/i40e_main.c dev_dbg(&vsi->back->pdev->dev, vsi 9818 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[v]) vsi 9819 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[v]->seid = 0; vsi 9929 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 9938 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_set_ethtool_ops(pf->vsi[pf->lan_vsi]->netdev); vsi 10071 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->uplink_seid != pf->mac_seid) { vsi 10095 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid = pf->mac_seid; vsi 10106 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->uplink_seid == pf->mac_seid) { vsi 10109 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_vsi(vsi); vsi 10117 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->mqprio_qopt.max_rate[0]) { vsi 10118 drivers/net/ethernet/intel/i40e/i40e_main.c u64 max_tx_rate = vsi->mqprio_qopt.max_rate[0]; vsi 10122 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_set_bw_limit(vsi, vsi->seid, max_tx_rate); vsi 10128 drivers/net/ethernet/intel/i40e/i40e_main.c dev_dbg(&vsi->back->pdev->dev, vsi 10132 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid); vsi 10135 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_rebuild_cloud_filters(vsi, vsi->seid); vsi 10142 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_rebuild_channels(vsi); vsi 10469 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_detect_recover_hung(pf->vsi[pf->lan_vsi]); vsi 10478 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_notify_client_of_netdev_close(pf->vsi[pf->lan_vsi], vsi 10485 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]); vsi 10527 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_set_num_rings_in_vsi(struct i40e_vsi *vsi) vsi 10529 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 10531 drivers/net/ethernet/intel/i40e/i40e_main.c switch (vsi->type) { vsi 10533 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->alloc_queue_pairs = pf->num_lan_qps; vsi 10534 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->num_tx_desc) vsi 10535 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_tx_desc = ALIGN(I40E_DEFAULT_NUM_DESCRIPTORS, vsi 10537 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->num_rx_desc) vsi 10538 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_rx_desc = ALIGN(I40E_DEFAULT_NUM_DESCRIPTORS, vsi 10541 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors = pf->num_lan_msix; vsi 10543 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors = 1; vsi 10548 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->alloc_queue_pairs = 1; vsi 10549 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_tx_desc = ALIGN(I40E_FDIR_RING_COUNT, vsi 10551 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_rx_desc = ALIGN(I40E_FDIR_RING_COUNT, vsi 10553 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors = pf->num_fdsb_msix; vsi 10557 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->alloc_queue_pairs = pf->num_vmdq_qps; vsi 10558 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->num_tx_desc) vsi 10559 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_tx_desc = ALIGN(I40E_DEFAULT_NUM_DESCRIPTORS, vsi 10561 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->num_rx_desc) vsi 10562 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_rx_desc = ALIGN(I40E_DEFAULT_NUM_DESCRIPTORS, vsi 10564 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors = pf->num_vmdq_msix; vsi 10568 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->alloc_queue_pairs = pf->num_vf_qps; vsi 10569 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->num_tx_desc) vsi 10570 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_tx_desc = ALIGN(I40E_DEFAULT_NUM_DESCRIPTORS, vsi 10572 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->num_rx_desc) vsi 10573 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_rx_desc = ALIGN(I40E_DEFAULT_NUM_DESCRIPTORS, vsi 10593 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_alloc_arrays(struct i40e_vsi *vsi, bool alloc_qvectors) vsi 10600 drivers/net/ethernet/intel/i40e/i40e_main.c size = sizeof(struct i40e_ring *) * vsi->alloc_queue_pairs * vsi 10601 drivers/net/ethernet/intel/i40e/i40e_main.c (i40e_enabled_xdp_vsi(vsi) ? 3 : 2); vsi 10602 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_rings = kzalloc(size, GFP_KERNEL); vsi 10603 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->tx_rings) vsi 10605 drivers/net/ethernet/intel/i40e/i40e_main.c next_rings = vsi->tx_rings + vsi->alloc_queue_pairs; vsi 10606 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 10607 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->xdp_rings = next_rings; vsi 10608 drivers/net/ethernet/intel/i40e/i40e_main.c next_rings += vsi->alloc_queue_pairs; vsi 10610 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_rings = next_rings; vsi 10614 drivers/net/ethernet/intel/i40e/i40e_main.c size = sizeof(struct i40e_q_vector *) * vsi->num_q_vectors; vsi 10615 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->q_vectors = kzalloc(size, GFP_KERNEL); vsi 10616 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->q_vectors) { vsi 10624 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi->tx_rings); vsi 10639 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi; vsi 10653 drivers/net/ethernet/intel/i40e/i40e_main.c while (i < pf->num_alloc_vsi && pf->vsi[i]) vsi 10657 drivers/net/ethernet/intel/i40e/i40e_main.c while (i < pf->next_vsi && pf->vsi[i]) vsi 10661 drivers/net/ethernet/intel/i40e/i40e_main.c if (i < pf->num_alloc_vsi && !pf->vsi[i]) { vsi 10669 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = kzalloc(sizeof(*vsi), GFP_KERNEL); vsi 10670 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) { vsi 10674 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->type = type; vsi 10675 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->back = pf; vsi 10676 drivers/net/ethernet/intel/i40e/i40e_main.c set_bit(__I40E_VSI_DOWN, vsi->state); vsi 10677 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags = 0; vsi 10678 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->idx = vsi_idx; vsi 10679 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->int_rate_limit = 0; vsi 10680 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_table_size = (vsi->type == I40E_VSI_MAIN) ? vsi 10682 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev_registered = false; vsi 10683 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->work_limit = I40E_DEFAULT_IRQ_WORK; vsi 10684 drivers/net/ethernet/intel/i40e/i40e_main.c hash_init(vsi->mac_filter_hash); vsi 10685 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->irqs_ready = false; vsi 10688 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->af_xdp_zc_qps = bitmap_zalloc(pf->num_lan_qps, GFP_KERNEL); vsi 10689 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->af_xdp_zc_qps) vsi 10693 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_set_num_rings_in_vsi(vsi); vsi 10697 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_alloc_arrays(vsi, true); vsi 10702 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_irqhandler(vsi, i40e_msix_clean_rings); vsi 10705 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_init(&vsi->mac_filter_hash_lock); vsi 10706 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[vsi_idx] = vsi; vsi 10711 drivers/net/ethernet/intel/i40e/i40e_main.c bitmap_free(vsi->af_xdp_zc_qps); vsi 10713 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi); vsi 10727 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_free_arrays(struct i40e_vsi *vsi, bool free_qvectors) vsi 10731 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi->q_vectors); vsi 10732 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->q_vectors = NULL; vsi 10734 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi->tx_rings); vsi 10735 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_rings = NULL; vsi 10736 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_rings = NULL; vsi 10737 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->xdp_rings = NULL; vsi 10745 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_clear_rss_config_user(struct i40e_vsi *vsi) vsi 10747 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) vsi 10750 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi->rss_hkey_user); vsi 10751 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_hkey_user = NULL; vsi 10753 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi->rss_lut_user); vsi 10754 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_lut_user = NULL; vsi 10761 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_clear(struct i40e_vsi *vsi) vsi 10765 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) vsi 10768 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->back) vsi 10770 drivers/net/ethernet/intel/i40e/i40e_main.c pf = vsi->back; vsi 10773 drivers/net/ethernet/intel/i40e/i40e_main.c if (!pf->vsi[vsi->idx]) { vsi 10775 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->idx, vsi->idx, vsi->type); vsi 10779 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[vsi->idx] != vsi) { vsi 10782 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[vsi->idx]->idx, vsi 10783 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[vsi->idx]->type, vsi 10784 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->idx, vsi->type); vsi 10789 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_put_lump(pf->qp_pile, vsi->base_queue, vsi->idx); vsi 10790 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_put_lump(pf->irq_pile, vsi->base_vector, vsi->idx); vsi 10792 drivers/net/ethernet/intel/i40e/i40e_main.c bitmap_free(vsi->af_xdp_zc_qps); vsi 10793 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_arrays(vsi, true); vsi 10794 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clear_rss_config_user(vsi); vsi 10796 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[vsi->idx] = NULL; vsi 10797 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->idx < pf->next_vsi) vsi 10798 drivers/net/ethernet/intel/i40e/i40e_main.c pf->next_vsi = vsi->idx; vsi 10803 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(vsi); vsi 10812 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_clear_rings(struct i40e_vsi *vsi) vsi 10816 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->tx_rings && vsi->tx_rings[0]) { vsi 10817 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->alloc_queue_pairs; i++) { vsi 10818 drivers/net/ethernet/intel/i40e/i40e_main.c kfree_rcu(vsi->tx_rings[i], rcu); vsi 10819 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_rings[i] = NULL; vsi 10820 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_rings[i] = NULL; vsi 10821 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->xdp_rings) vsi 10822 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->xdp_rings[i] = NULL; vsi 10831 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_alloc_rings(struct i40e_vsi *vsi) vsi 10833 drivers/net/ethernet/intel/i40e/i40e_main.c int i, qpv = i40e_enabled_xdp_vsi(vsi) ? 3 : 2; vsi 10834 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 10838 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->alloc_queue_pairs; i++) { vsi 10845 drivers/net/ethernet/intel/i40e/i40e_main.c ring->reg_idx = vsi->base_queue + i; vsi 10847 drivers/net/ethernet/intel/i40e/i40e_main.c ring->vsi = vsi; vsi 10848 drivers/net/ethernet/intel/i40e/i40e_main.c ring->netdev = vsi->netdev; vsi 10850 drivers/net/ethernet/intel/i40e/i40e_main.c ring->count = vsi->num_tx_desc; vsi 10853 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->hw_features & I40E_HW_WB_ON_ITR_CAPABLE) vsi 10856 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tx_rings[i] = ring++; vsi 10858 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 10861 drivers/net/ethernet/intel/i40e/i40e_main.c ring->queue_index = vsi->alloc_queue_pairs + i; vsi 10862 drivers/net/ethernet/intel/i40e/i40e_main.c ring->reg_idx = vsi->base_queue + ring->queue_index; vsi 10864 drivers/net/ethernet/intel/i40e/i40e_main.c ring->vsi = vsi; vsi 10867 drivers/net/ethernet/intel/i40e/i40e_main.c ring->count = vsi->num_tx_desc; vsi 10870 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->hw_features & I40E_HW_WB_ON_ITR_CAPABLE) vsi 10874 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->xdp_rings[i] = ring++; vsi 10878 drivers/net/ethernet/intel/i40e/i40e_main.c ring->reg_idx = vsi->base_queue + i; vsi 10880 drivers/net/ethernet/intel/i40e/i40e_main.c ring->vsi = vsi; vsi 10881 drivers/net/ethernet/intel/i40e/i40e_main.c ring->netdev = vsi->netdev; vsi 10883 drivers/net/ethernet/intel/i40e/i40e_main.c ring->count = vsi->num_rx_desc; vsi 10887 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rx_rings[i] = ring; vsi 10893 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear_rings(vsi); vsi 11155 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_alloc_q_vector(struct i40e_vsi *vsi, int v_idx, int cpu) vsi 11164 drivers/net/ethernet/intel/i40e/i40e_main.c q_vector->vsi = vsi; vsi 11168 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) vsi 11169 drivers/net/ethernet/intel/i40e/i40e_main.c netif_napi_add(vsi->netdev, &q_vector->napi, vsi 11173 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->q_vectors[v_idx] = q_vector; vsi 11185 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_alloc_q_vectors(struct i40e_vsi *vsi) vsi 11187 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 11192 drivers/net/ethernet/intel/i40e/i40e_main.c num_q_vectors = vsi->num_q_vectors; vsi 11193 drivers/net/ethernet/intel/i40e/i40e_main.c else if (vsi == pf->vsi[pf->lan_vsi]) vsi 11201 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_alloc_q_vector(vsi, v_idx, current_cpu); vsi 11213 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_free_q_vector(vsi, v_idx); vsi 11302 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i]) { vsi 11303 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_vsi_alloc_q_vectors(pf->vsi[i]); vsi 11306 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_map_rings_to_vectors(pf->vsi[i]); vsi 11321 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i]) vsi 11322 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_q_vectors(pf->vsi[i]); vsi 11418 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_get_rss_aq(struct i40e_vsi *vsi, const u8 *seed, vsi 11421 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 11426 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_get_rss_key(hw, vsi->id, vsi 11439 drivers/net/ethernet/intel/i40e/i40e_main.c bool pf_lut = vsi->type == I40E_VSI_MAIN ? true : false; vsi 11441 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_get_rss_lut(hw, vsi->id, pf_lut, lut, lut_size); vsi 11464 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_config_rss_reg(struct i40e_vsi *vsi, const u8 *seed, vsi 11467 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 11469 drivers/net/ethernet/intel/i40e/i40e_main.c u16 vf_id = vsi->vf_id; vsi 11476 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 11479 drivers/net/ethernet/intel/i40e/i40e_main.c } else if (vsi->type == I40E_VSI_SRIOV) { vsi 11490 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 11495 drivers/net/ethernet/intel/i40e/i40e_main.c } else if (vsi->type == I40E_VSI_SRIOV) { vsi 11518 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_get_rss_reg(struct i40e_vsi *vsi, u8 *seed, vsi 11521 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 11552 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size) vsi 11554 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 11557 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_config_rss_aq(vsi, seed, lut, lut_size); vsi 11559 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_config_rss_reg(vsi, seed, lut, lut_size); vsi 11571 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_get_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size) vsi 11573 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 11576 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_get_rss_aq(vsi, seed, lut, lut_size); vsi 11578 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_get_rss_reg(vsi, seed, lut, lut_size); vsi 11603 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 11627 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->rss_size) { vsi 11634 drivers/net/ethernet/intel/i40e/i40e_main.c qcount = vsi->num_queue_pairs / vsi 11635 drivers/net/ethernet/intel/i40e/i40e_main.c (vsi->tc_config.numtc ? vsi->tc_config.numtc : 1); vsi 11636 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size = min_t(int, pf->alloc_rss_size, qcount); vsi 11638 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->rss_size) vsi 11641 drivers/net/ethernet/intel/i40e/i40e_main.c lut = kzalloc(vsi->rss_table_size, GFP_KERNEL); vsi 11646 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rss_lut_user) vsi 11647 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(lut, vsi->rss_lut_user, vsi->rss_table_size); vsi 11649 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_fill_rss_lut(pf, lut, vsi->rss_table_size, vsi->rss_size); vsi 11654 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->rss_hkey_user) vsi 11655 drivers/net/ethernet/intel/i40e/i40e_main.c memcpy(seed, vsi->rss_hkey_user, I40E_HKEY_ARRAY_SIZE); vsi 11658 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_config_rss(vsi, seed, lut, vsi->rss_table_size); vsi 11675 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi]; vsi 11684 drivers/net/ethernet/intel/i40e/i40e_main.c if (queue_count != vsi->num_queue_pairs) { vsi 11687 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->req_queue_pairs = queue_count; vsi 11697 drivers/net/ethernet/intel/i40e/i40e_main.c if (queue_count < vsi->rss_size) { vsi 11698 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clear_rss_config_user(vsi); vsi 11704 drivers/net/ethernet/intel/i40e/i40e_main.c qcount = vsi->num_queue_pairs / vsi->tc_config.numtc; vsi 11705 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->rss_size = min_t(int, pf->alloc_rss_size, qcount); vsi 11710 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->req_queue_pairs, pf->rss_size_max); vsi 12072 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_clear_rss_lut(struct i40e_vsi *vsi) vsi 12074 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12076 drivers/net/ethernet/intel/i40e/i40e_main.c u16 vf_id = vsi->vf_id; vsi 12079 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 12082 drivers/net/ethernet/intel/i40e/i40e_main.c } else if (vsi->type == I40E_VSI_SRIOV) { vsi 12100 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 12101 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12108 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clear_rss_lut(vsi); vsi 12111 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_stripping_enable(vsi); vsi 12113 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_stripping_disable(vsi); vsi 12121 drivers/net/ethernet/intel/i40e/i40e_main.c if (!(features & NETIF_F_HW_L2FW_DOFFLOAD) && vsi->macvlan_cnt) vsi 12122 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_del_all_macvlans(vsi); vsi 12165 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 12166 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12217 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 12218 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12263 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = np->vsi->back; vsi 12291 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = np->vsi->back; vsi 12346 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 12347 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12353 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->seid != pf->vsi[pf->lan_vsi]->seid) vsi 12358 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->veb[i] && pf->veb[i]->seid == vsi->uplink_seid) vsi 12377 drivers/net/ethernet/intel/i40e/i40e_main.c veb = i40e_veb_setup(pf, 0, vsi->uplink_seid, vsi->seid, vsi 12378 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc); vsi 12421 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 12422 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12427 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->seid != pf->vsi[pf->lan_vsi]->seid) vsi 12432 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->veb[i] && pf->veb[i]->seid == vsi->uplink_seid) vsi 12506 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_xdp_setup(struct i40e_vsi *vsi, vsi 12509 drivers/net/ethernet/intel/i40e/i40e_main.c int frame_size = vsi->netdev->mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN; vsi 12510 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12516 drivers/net/ethernet/intel/i40e/i40e_main.c if (frame_size > vsi->rx_buf_len) vsi 12519 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi) && !prog) vsi 12523 drivers/net/ethernet/intel/i40e/i40e_main.c need_reset = (i40e_enabled_xdp_vsi(vsi) != !!prog); vsi 12528 drivers/net/ethernet/intel/i40e/i40e_main.c old_prog = xchg(&vsi->xdp_prog, prog); vsi 12537 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 12538 drivers/net/ethernet/intel/i40e/i40e_main.c WRITE_ONCE(vsi->rx_rings[i]->xdp_prog, vsi->xdp_prog); vsi 12547 drivers/net/ethernet/intel/i40e/i40e_main.c for (i = 0; i < vsi->num_queue_pairs; i++) vsi 12548 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->xdp_rings[i]->xsk_umem) vsi 12549 drivers/net/ethernet/intel/i40e/i40e_main.c (void)i40e_xsk_wakeup(vsi->netdev, i, vsi 12561 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_enter_busy_conf(struct i40e_vsi *vsi) vsi 12563 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12580 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_exit_busy_conf(struct i40e_vsi *vsi) vsi 12582 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12592 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_queue_pair_reset_stats(struct i40e_vsi *vsi, int queue_pair) vsi 12594 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->rx_rings[queue_pair]->rx_stats, 0, vsi 12595 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->rx_rings[queue_pair]->rx_stats)); vsi 12596 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->tx_rings[queue_pair]->stats, 0, vsi 12597 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->tx_rings[queue_pair]->stats)); vsi 12598 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 12599 drivers/net/ethernet/intel/i40e/i40e_main.c memset(&vsi->xdp_rings[queue_pair]->stats, 0, vsi 12600 drivers/net/ethernet/intel/i40e/i40e_main.c sizeof(vsi->xdp_rings[queue_pair]->stats)); vsi 12609 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_queue_pair_clean_rings(struct i40e_vsi *vsi, int queue_pair) vsi 12611 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_tx_ring(vsi->tx_rings[queue_pair]); vsi 12612 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 12617 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_tx_ring(vsi->xdp_rings[queue_pair]); vsi 12619 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_clean_rx_ring(vsi->rx_rings[queue_pair]); vsi 12628 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_queue_pair_toggle_napi(struct i40e_vsi *vsi, int queue_pair, vsi 12631 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_ring *rxr = vsi->rx_rings[queue_pair]; vsi 12634 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi->netdev) vsi 12654 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_queue_pair_toggle_rings(struct i40e_vsi *vsi, int queue_pair, vsi 12657 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12660 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q = vsi->base_queue + queue_pair; vsi 12661 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_control_wait_tx_q(vsi->seid, pf, pf_q, vsi 12666 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q, (enable ? "en" : "dis")); vsi 12675 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q, (enable ? "en" : "dis")); vsi 12685 drivers/net/ethernet/intel/i40e/i40e_main.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 12688 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_control_wait_tx_q(vsi->seid, pf, vsi 12689 drivers/net/ethernet/intel/i40e/i40e_main.c pf_q + vsi->alloc_queue_pairs, vsi 12694 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, pf_q, (enable ? "en" : "dis")); vsi 12705 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_queue_pair_enable_irq(struct i40e_vsi *vsi, int queue_pair) vsi 12707 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_ring *rxr = vsi->rx_rings[queue_pair]; vsi 12708 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12713 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_irq_dynamic_enable(vsi, rxr->q_vector->v_idx); vsi 12725 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_queue_pair_disable_irq(struct i40e_vsi *vsi, int queue_pair) vsi 12727 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_ring *rxr = vsi->rx_rings[queue_pair]; vsi 12728 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12738 drivers/net/ethernet/intel/i40e/i40e_main.c u32 intpf = vsi->base_vector + rxr->q_vector->v_idx; vsi 12759 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_queue_pair_disable(struct i40e_vsi *vsi, int queue_pair) vsi 12763 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_enter_busy_conf(vsi); vsi 12767 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_queue_pair_disable_irq(vsi, queue_pair); vsi 12768 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_queue_pair_toggle_rings(vsi, queue_pair, false /* off */); vsi 12769 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_queue_pair_toggle_napi(vsi, queue_pair, false /* off */); vsi 12770 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_queue_pair_clean_rings(vsi, queue_pair); vsi 12771 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_queue_pair_reset_stats(vsi, queue_pair); vsi 12783 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_queue_pair_enable(struct i40e_vsi *vsi, int queue_pair) vsi 12787 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_configure_tx_ring(vsi->tx_rings[queue_pair]); vsi 12791 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_enabled_xdp_vsi(vsi)) { vsi 12792 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_configure_tx_ring(vsi->xdp_rings[queue_pair]); vsi 12797 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_configure_rx_ring(vsi->rx_rings[queue_pair]); vsi 12801 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_queue_pair_toggle_rings(vsi, queue_pair, true /* on */); vsi 12802 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_queue_pair_toggle_napi(vsi, queue_pair, true /* on */); vsi 12803 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_queue_pair_enable_irq(vsi, queue_pair); vsi 12805 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_exit_busy_conf(vsi); vsi 12819 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = np->vsi; vsi 12821 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_MAIN) vsi 12826 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_xdp_setup(vsi, xdp->prog); vsi 12828 drivers/net/ethernet/intel/i40e/i40e_main.c xdp->prog_id = vsi->xdp_prog ? vsi->xdp_prog->aux->id : 0; vsi 12831 drivers/net/ethernet/intel/i40e/i40e_main.c return i40e_xsk_umem_setup(vsi, xdp->xsk.umem, vsi 12883 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_config_netdev(struct i40e_vsi *vsi) vsi 12885 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 12896 drivers/net/ethernet/intel/i40e/i40e_main.c netdev = alloc_etherdev_mq(etherdev_size, vsi->alloc_queue_pairs); vsi 12900 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev = netdev; vsi 12902 drivers/net/ethernet/intel/i40e/i40e_main.c np->vsi = vsi; vsi 12949 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) { vsi 12962 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_rm_default_mac_filter(vsi, mac_addr); vsi 12963 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 12964 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_add_mac_filter(vsi, mac_addr); vsi 12965 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 12974 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->netdev->name); vsi 12977 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 12978 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_add_mac_filter(vsi, mac_addr); vsi 12979 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 12996 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 12997 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_add_mac_filter(vsi, broadcast); vsi 12998 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 13009 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_config_netdev_tc(vsi, vsi->tc_config.enabled_tc); vsi 13028 drivers/net/ethernet/intel/i40e/i40e_main.c static void i40e_vsi_delete(struct i40e_vsi *vsi) vsi 13031 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi == vsi->back->vsi[vsi->back->lan_vsi]) vsi 13034 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_delete_element(&vsi->back->hw, vsi->seid, NULL); vsi 13043 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_is_vsi_uplink_mode_veb(struct i40e_vsi *vsi) vsi 13046 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 13049 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->veb_idx >= I40E_MAX_VEB) vsi 13052 drivers/net/ethernet/intel/i40e/i40e_main.c veb = pf->veb[vsi->veb_idx]; vsi 13078 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_add_vsi(struct i40e_vsi *vsi) vsi 13081 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 13092 drivers/net/ethernet/intel/i40e/i40e_main.c switch (vsi->type) { vsi 13112 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info = ctxt.info; vsi 13113 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = 0; vsi 13115 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid = ctxt.seid; vsi 13116 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->id = ctxt.vsi_number; vsi 13152 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_queue_map(vsi, &ctxt, enabled_tc, false); vsi 13164 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_update_queue_map(vsi, &ctxt); vsi 13165 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = 0; vsi 13173 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_tc(vsi, enabled_tc); vsi 13191 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.uplink_seid = vsi->uplink_seid; vsi 13195 drivers/net/ethernet/intel/i40e/i40e_main.c (i40e_is_vsi_uplink_mode_veb(vsi))) { vsi 13201 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_queue_map(vsi, &ctxt, enabled_tc, true); vsi 13207 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.uplink_seid = vsi->uplink_seid; vsi 13214 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_is_vsi_uplink_mode_veb(vsi)) { vsi 13222 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_queue_map(vsi, &ctxt, enabled_tc, true); vsi 13227 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.vf_num = vsi->vf_id + hw->func_caps.vf_base_id; vsi 13228 drivers/net/ethernet/intel/i40e/i40e_main.c ctxt.uplink_seid = vsi->uplink_seid; vsi 13235 drivers/net/ethernet/intel/i40e/i40e_main.c if (i40e_is_vsi_uplink_mode_veb(vsi)) { vsi 13242 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->back->flags & I40E_FLAG_IWARP_ENABLED) { vsi 13252 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vf[vsi->vf_id].spoofchk) { vsi 13260 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_setup_queue_map(vsi, &ctxt, enabled_tc, true); vsi 13271 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_MAIN) { vsi 13274 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 13282 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info = ctxt.info; vsi 13283 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->info.valid_sections = 0; vsi 13284 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid = ctxt.seid; vsi 13285 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->id = ctxt.vsi_number; vsi 13288 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->active_filters = 0; vsi 13289 drivers/net/ethernet/intel/i40e/i40e_main.c clear_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state); vsi 13290 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 13292 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) { vsi 13296 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 13299 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi 13304 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_get_bw_info(vsi); vsi 13324 drivers/net/ethernet/intel/i40e/i40e_main.c int i40e_vsi_release(struct i40e_vsi *vsi) vsi 13333 drivers/net/ethernet/intel/i40e/i40e_main.c pf = vsi->back; vsi 13336 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->flags & I40E_VSI_FLAG_VEB_OWNER) { vsi 13338 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi->uplink_seid); vsi 13341 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi == pf->vsi[pf->lan_vsi] && vsi 13347 drivers/net/ethernet/intel/i40e/i40e_main.c uplink_seid = vsi->uplink_seid; vsi 13348 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type != I40E_VSI_SRIOV) { vsi 13349 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev_registered) { vsi 13350 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev_registered = false; vsi 13351 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) { vsi 13353 drivers/net/ethernet/intel/i40e/i40e_main.c unregister_netdev(vsi->netdev); vsi 13356 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_close(vsi); vsi 13358 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_disable_irq(vsi); vsi 13361 drivers/net/ethernet/intel/i40e/i40e_main.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 13364 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) { vsi 13365 drivers/net/ethernet/intel/i40e/i40e_main.c __dev_uc_unsync(vsi->netdev, NULL); vsi 13366 drivers/net/ethernet/intel/i40e/i40e_main.c __dev_mc_unsync(vsi->netdev, NULL); vsi 13370 drivers/net/ethernet/intel/i40e/i40e_main.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) vsi 13371 drivers/net/ethernet/intel/i40e/i40e_main.c __i40e_del_filter(vsi, f); vsi 13373 drivers/net/ethernet/intel/i40e/i40e_main.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 13375 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_sync_vsi_filters(vsi); vsi 13377 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_delete(vsi); vsi 13378 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_q_vectors(vsi); vsi 13379 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev) { vsi 13380 drivers/net/ethernet/intel/i40e/i40e_main.c free_netdev(vsi->netdev); vsi 13381 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev = NULL; vsi 13383 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear_rings(vsi); vsi 13384 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear(vsi); vsi 13395 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && vsi 13396 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[i]->uplink_seid == uplink_seid && vsi 13397 drivers/net/ethernet/intel/i40e/i40e_main.c (pf->vsi[i]->flags & I40E_VSI_FLAG_VEB_OWNER) == 0) { vsi 13425 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_vsi_setup_vectors(struct i40e_vsi *vsi) vsi 13428 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_pf *pf = vsi->back; vsi 13430 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->q_vectors[0]) { vsi 13432 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid); vsi 13436 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->base_vector) { vsi 13438 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->seid, vsi->base_vector); vsi 13442 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_alloc_q_vectors(vsi); vsi 13446 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors, vsi->seid, ret); vsi 13447 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors = 0; vsi 13456 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->num_q_vectors) vsi 13457 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->base_vector = i40e_get_lump(pf, pf->irq_pile, vsi 13458 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors, vsi->idx); vsi 13459 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->base_vector < 0) { vsi 13462 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->num_q_vectors, vsi->seid, vsi->base_vector); vsi 13463 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_q_vectors(vsi); vsi 13481 drivers/net/ethernet/intel/i40e/i40e_main.c static struct i40e_vsi *i40e_vsi_reinit_setup(struct i40e_vsi *vsi) vsi 13488 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) vsi 13491 drivers/net/ethernet/intel/i40e/i40e_main.c pf = vsi->back; vsi 13493 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_put_lump(pf->qp_pile, vsi->base_queue, vsi->idx); vsi 13494 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear_rings(vsi); vsi 13496 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_arrays(vsi, false); vsi 13497 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_set_num_rings_in_vsi(vsi); vsi 13498 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_alloc_arrays(vsi, false); vsi 13502 drivers/net/ethernet/intel/i40e/i40e_main.c alloc_queue_pairs = vsi->alloc_queue_pairs * vsi 13503 drivers/net/ethernet/intel/i40e/i40e_main.c (i40e_enabled_xdp_vsi(vsi) ? 2 : 1); vsi 13505 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_get_lump(pf, pf->qp_pile, alloc_queue_pairs, vsi->idx); vsi 13509 drivers/net/ethernet/intel/i40e/i40e_main.c alloc_queue_pairs, vsi->seid, ret); vsi 13512 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->base_queue = ret; vsi 13517 drivers/net/ethernet/intel/i40e/i40e_main.c enabled_tc = pf->vsi[pf->lan_vsi]->tc_config.enabled_tc; vsi 13518 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->tc_config.enabled_tc = 0; vsi 13519 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->seid = pf->main_vsi_seid; vsi 13520 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_config_tc(pf->vsi[pf->lan_vsi], enabled_tc); vsi 13521 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->type == I40E_VSI_MAIN) vsi 13522 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_rm_default_mac_filter(vsi, pf->hw.mac.perm_addr); vsi 13525 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_alloc_rings(vsi); vsi 13530 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_map_rings_to_vectors(vsi); vsi 13531 drivers/net/ethernet/intel/i40e/i40e_main.c return vsi; vsi 13534 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_q_vectors(vsi); vsi 13535 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev_registered) { vsi 13536 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev_registered = false; vsi 13537 drivers/net/ethernet/intel/i40e/i40e_main.c unregister_netdev(vsi->netdev); vsi 13538 drivers/net/ethernet/intel/i40e/i40e_main.c free_netdev(vsi->netdev); vsi 13539 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev = NULL; vsi 13541 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_delete_element(&pf->hw, vsi->seid, NULL); vsi 13543 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear(vsi); vsi 13563 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = NULL; vsi 13592 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && pf->vsi[i]->seid == uplink_seid) { vsi 13593 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = pf->vsi[i]; vsi 13597 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) { vsi 13603 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->uplink_seid == pf->mac_seid) vsi 13604 drivers/net/ethernet/intel/i40e/i40e_main.c veb = i40e_veb_setup(pf, 0, pf->mac_seid, vsi->seid, vsi 13605 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc); vsi 13606 drivers/net/ethernet/intel/i40e/i40e_main.c else if ((vsi->flags & I40E_VSI_FLAG_VEB_OWNER) == 0) vsi 13607 drivers/net/ethernet/intel/i40e/i40e_main.c veb = i40e_veb_setup(pf, 0, vsi->uplink_seid, vsi->seid, vsi 13608 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->tc_config.enabled_tc); vsi 13610 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->seid != pf->vsi[pf->lan_vsi]->seid) { vsi 13611 drivers/net/ethernet/intel/i40e/i40e_main.c dev_info(&vsi->back->pdev->dev, vsi 13626 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->veb[i] && pf->veb[i]->seid == vsi->uplink_seid) vsi 13634 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_VEB_OWNER; vsi 13642 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = pf->vsi[v_idx]; vsi 13643 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) vsi 13645 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->type = type; vsi 13646 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->veb_idx = (veb ? veb->idx : I40E_NO_VEB); vsi 13651 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->vf_id = param1; vsi 13653 drivers/net/ethernet/intel/i40e/i40e_main.c alloc_queue_pairs = vsi->alloc_queue_pairs * vsi 13654 drivers/net/ethernet/intel/i40e/i40e_main.c (i40e_enabled_xdp_vsi(vsi) ? 2 : 1); vsi 13656 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_get_lump(pf, pf->qp_pile, alloc_queue_pairs, vsi->idx); vsi 13660 drivers/net/ethernet/intel/i40e/i40e_main.c alloc_queue_pairs, vsi->seid, ret); vsi 13663 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->base_queue = ret; vsi 13666 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid = uplink_seid; vsi 13667 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_vsi(vsi); vsi 13671 drivers/net/ethernet/intel/i40e/i40e_main.c switch (vsi->type) { vsi 13675 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_config_netdev(vsi); vsi 13678 drivers/net/ethernet/intel/i40e/i40e_main.c ret = register_netdev(vsi->netdev); vsi 13681 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev_registered = true; vsi 13682 drivers/net/ethernet/intel/i40e/i40e_main.c netif_carrier_off(vsi->netdev); vsi 13685 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_dcbnl_setup(vsi); vsi 13691 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_setup_vectors(vsi); vsi 13695 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_alloc_rings(vsi); vsi 13700 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_map_rings_to_vectors(vsi); vsi 13702 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_reset_stats(vsi); vsi 13711 drivers/net/ethernet/intel/i40e/i40e_main.c (vsi->type == I40E_VSI_VMDQ2)) { vsi 13712 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_vsi_config_rss(vsi); vsi 13714 drivers/net/ethernet/intel/i40e/i40e_main.c return vsi; vsi 13717 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_free_q_vectors(vsi); vsi 13719 drivers/net/ethernet/intel/i40e/i40e_main.c if (vsi->netdev_registered) { vsi 13720 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev_registered = false; vsi 13721 drivers/net/ethernet/intel/i40e/i40e_main.c unregister_netdev(vsi->netdev); vsi 13722 drivers/net/ethernet/intel/i40e/i40e_main.c free_netdev(vsi->netdev); vsi 13723 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev = NULL; vsi 13726 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_aq_delete_element(&pf->hw, vsi->seid, NULL); vsi 13728 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear(vsi); vsi 13860 drivers/net/ethernet/intel/i40e/i40e_main.c if (!pf->vsi[i]) vsi 13862 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i]->uplink_seid == branch_seid && vsi 13863 drivers/net/ethernet/intel/i40e/i40e_main.c (pf->vsi[i]->flags & I40E_VSI_FLAG_VEB_OWNER) == 0) { vsi 13864 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_release(pf->vsi[i]); vsi 13904 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = NULL; vsi 13912 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && pf->vsi[i]->uplink_seid == veb->seid) { vsi 13914 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = pf->vsi[i]; vsi 13925 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags &= ~I40E_VSI_FLAG_VEB_OWNER; vsi 13927 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid = veb->uplink_seid; vsi 13929 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->veb_idx = I40E_NO_VEB; vsi 13931 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->veb_idx = veb->veb_idx; vsi 13934 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid = pf->vsi[pf->lan_vsi]->uplink_seid; vsi 13935 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->veb_idx = pf->vsi[pf->lan_vsi]->veb_idx; vsi 13947 drivers/net/ethernet/intel/i40e/i40e_main.c static int i40e_add_veb(struct i40e_veb *veb, struct i40e_vsi *vsi) vsi 13953 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_aq_add_veb(&pf->hw, veb->uplink_seid, vsi->seid, vsi 13986 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->uplink_seid = veb->seid; vsi 13987 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->veb_idx = veb->idx; vsi 13988 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->flags |= I40E_VSI_FLAG_VEB_OWNER; vsi 14028 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[vsi_idx] && pf->vsi[vsi_idx]->seid == vsi_seid) vsi 14062 drivers/net/ethernet/intel/i40e/i40e_main.c ret = i40e_add_veb(veb, pf->vsi[vsi_idx]); vsi 14273 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = NULL; vsi 14284 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = i40e_vsi_setup(pf, I40E_VSI_MAIN, uplink_seid, 0); vsi 14286 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = i40e_vsi_reinit_setup(pf->vsi[pf->lan_vsi]); vsi 14287 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) { vsi 14295 drivers/net/ethernet/intel/i40e/i40e_main.c u8 enabled_tc = pf->vsi[pf->lan_vsi]->tc_config.enabled_tc; vsi 14297 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->tc_config.enabled_tc = 0; vsi 14298 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->seid = pf->main_vsi_seid; vsi 14299 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_config_tc(pf->vsi[pf->lan_vsi], enabled_tc); vsi 14301 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vlan_stripping_disable(pf->vsi[pf->lan_vsi]); vsi 14483 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->num_queue_pairs); vsi 14641 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi; vsi 14669 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi = kcalloc(pf->num_alloc_vsi, sizeof(struct i40e_vsi *), vsi 14671 drivers/net/ethernet/intel/i40e/i40e_main.c if (!pf->vsi) { vsi 14683 drivers/net/ethernet/intel/i40e/i40e_main.c vsi = pf->vsi[v_idx]; vsi 14684 drivers/net/ethernet/intel/i40e/i40e_main.c if (!vsi) vsi 14686 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->alloc_queue_pairs = 1; vsi 14687 drivers/net/ethernet/intel/i40e/i40e_main.c err = i40e_config_netdev(vsi); vsi 14690 drivers/net/ethernet/intel/i40e/i40e_main.c err = register_netdev(vsi->netdev); vsi 14693 drivers/net/ethernet/intel/i40e/i40e_main.c vsi->netdev_registered = true; vsi 15043 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi = kcalloc(pf->num_alloc_vsi, sizeof(struct i40e_vsi *), vsi 15045 drivers/net/ethernet/intel/i40e/i40e_main.c if (!pf->vsi) { vsi 15064 drivers/net/ethernet/intel/i40e/i40e_main.c INIT_LIST_HEAD(&pf->vsi[pf->lan_vsi]->ch_list); vsi 15086 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i] && pf->vsi[i]->type == I40E_VSI_FDIR) { vsi 15087 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_open(pf->vsi[i]); vsi 15288 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(pf->vsi); vsi 15345 drivers/net/ethernet/intel/i40e/i40e_main.c struct i40e_vsi *vsi = pf->vsi[0]; vsi 15351 drivers/net/ethernet/intel/i40e/i40e_main.c unregister_netdev(vsi->netdev); vsi 15352 drivers/net/ethernet/intel/i40e/i40e_main.c free_netdev(vsi->netdev); vsi 15360 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_notify_client_of_netdev_close(pf->vsi[pf->lan_vsi], false); vsi 15384 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[pf->lan_vsi]) vsi 15385 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_release(pf->vsi[pf->lan_vsi]); vsi 15423 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[i]) { vsi 15425 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear_rings(pf->vsi[i]); vsi 15426 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_vsi_clear(pf->vsi[i]); vsi 15427 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[i] = NULL; vsi 15438 drivers/net/ethernet/intel/i40e/i40e_main.c kfree(pf->vsi); vsi 15567 drivers/net/ethernet/intel/i40e/i40e_main.c if (pf->vsi[pf->lan_vsi] && pf->vsi[pf->lan_vsi]->netdev) { vsi 15569 drivers/net/ethernet/intel/i40e/i40e_main.c pf->vsi[pf->lan_vsi]->netdev->dev_addr); vsi 15621 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_notify_client_of_netdev_close(pf->vsi[pf->lan_vsi], false); vsi 15674 drivers/net/ethernet/intel/i40e/i40e_main.c i40e_notify_client_of_netdev_close(pf->vsi[pf->lan_vsi], false); vsi 279 drivers/net/ethernet/intel/i40e/i40e_prototype.h i40e_aq_add_cloud_filters(struct i40e_hw *hw, u16 vsi, vsi 283 drivers/net/ethernet/intel/i40e/i40e_prototype.h i40e_aq_rem_cloud_filters(struct i40e_hw *hw, u16 vsi, vsi 792 drivers/net/ethernet/intel/i40e/i40e_ptp.c struct net_device *netdev = pf->vsi[pf->lan_vsi]->netdev; vsi 870 drivers/net/ethernet/intel/i40e/i40e_ptp.c pf->vsi[pf->lan_vsi]->netdev->name); vsi 25 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = tx_ring->vsi->back; vsi 50 drivers/net/ethernet/intel/i40e/i40e_txrx.c ((u32)(fdata->dest_vsi ? : pf->vsi[pf->lan_vsi]->id) << vsi 95 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_vsi *vsi; vsi 102 drivers/net/ethernet/intel/i40e/i40e_txrx.c vsi = i40e_find_vsi_by_type(pf, I40E_VSI_FDIR); vsi 103 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!vsi) vsi 106 drivers/net/ethernet/intel/i40e/i40e_txrx.c tx_ring = vsi->tx_rings[0]; vsi 173 drivers/net/ethernet/intel/i40e/i40e_txrx.c static int i40e_add_del_fdir_udpv4(struct i40e_vsi *vsi, vsi 177 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = vsi->back; vsi 245 drivers/net/ethernet/intel/i40e/i40e_txrx.c static int i40e_add_del_fdir_tcpv4(struct i40e_vsi *vsi, vsi 249 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = vsi->back; vsi 324 drivers/net/ethernet/intel/i40e/i40e_txrx.c static int i40e_add_del_fdir_sctpv4(struct i40e_vsi *vsi, vsi 328 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = vsi->back; vsi 398 drivers/net/ethernet/intel/i40e/i40e_txrx.c static int i40e_add_del_fdir_ipv4(struct i40e_vsi *vsi, vsi 402 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = vsi->back; vsi 469 drivers/net/ethernet/intel/i40e/i40e_txrx.c int i40e_add_del_fdir(struct i40e_vsi *vsi, vsi 472 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = vsi->back; vsi 477 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_tcpv4(vsi, input, add); vsi 480 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_udpv4(vsi, input, add); vsi 483 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_sctpv4(vsi, input, add); vsi 488 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_tcpv4(vsi, input, add); vsi 491 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_udpv4(vsi, input, add); vsi 494 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_sctpv4(vsi, input, add); vsi 497 drivers/net/ethernet/intel/i40e/i40e_txrx.c ret = i40e_add_del_fdir_ipv4(vsi, input, add); vsi 533 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = rx_ring->vsi->back; vsi 720 drivers/net/ethernet/intel/i40e/i40e_txrx.c void i40e_detect_recover_hung(struct i40e_vsi *vsi) vsi 727 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!vsi) vsi 730 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 733 drivers/net/ethernet/intel/i40e/i40e_txrx.c netdev = vsi->netdev; vsi 740 drivers/net/ethernet/intel/i40e/i40e_txrx.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 741 drivers/net/ethernet/intel/i40e/i40e_txrx.c tx_ring = vsi->tx_rings[i]; vsi 752 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_force_wb(vsi, tx_ring->q_vector); vsi 774 drivers/net/ethernet/intel/i40e/i40e_txrx.c static bool i40e_clean_tx_irq(struct i40e_vsi *vsi, vsi 782 drivers/net/ethernet/intel/i40e/i40e_txrx.c unsigned int budget = vsi->work_limit; vsi 871 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_arm_wb(tx_ring, vsi, budget); vsi 889 drivers/net/ethernet/intel/i40e/i40e_txrx.c !test_bit(__I40E_VSI_DOWN, vsi->state)) { vsi 905 drivers/net/ethernet/intel/i40e/i40e_txrx.c static void i40e_enable_wb_on_itr(struct i40e_vsi *vsi, vsi 917 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (vsi->back->flags & I40E_FLAG_MSIX_ENABLED) { vsi 921 drivers/net/ethernet/intel/i40e/i40e_txrx.c wr32(&vsi->back->hw, vsi 928 drivers/net/ethernet/intel/i40e/i40e_txrx.c wr32(&vsi->back->hw, I40E_PFINT_DYN_CTL0, val); vsi 939 drivers/net/ethernet/intel/i40e/i40e_txrx.c void i40e_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector) vsi 941 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (vsi->back->flags & I40E_FLAG_MSIX_ENABLED) { vsi 948 drivers/net/ethernet/intel/i40e/i40e_txrx.c wr32(&vsi->back->hw, vsi 957 drivers/net/ethernet/intel/i40e/i40e_txrx.c wr32(&vsi->back->hw, I40E_PFINT_DYN_CTL0, val); vsi 971 drivers/net/ethernet/intel/i40e/i40e_txrx.c switch (q_vector->vsi->back->hw.phy.link_info.link_speed) { vsi 1411 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (rx_ring->vsi->type == I40E_VSI_MAIN) vsi 1462 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (rx_ring->vsi->type == I40E_VSI_MAIN) { vsi 1469 drivers/net/ethernet/intel/i40e/i40e_txrx.c rx_ring->xdp_prog = rx_ring->vsi->xdp_prog; vsi 1632 drivers/net/ethernet/intel/i40e/i40e_txrx.c static inline void i40e_rx_checksum(struct i40e_vsi *vsi, vsi 1655 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!(vsi->netdev->features & NETIF_F_RXCSUM)) vsi 1714 drivers/net/ethernet/intel/i40e/i40e_txrx.c vsi->back->hw_csum_rx_error++; vsi 1790 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_ptp_rx_hwtstamp(rx_ring->vsi->back, skb, tsyn); vsi 1794 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_rx_checksum(rx_ring->vsi, skb, rx_desc); vsi 2217 drivers/net/ethernet/intel/i40e/i40e_txrx.c xdp_ring = rx_ring->vsi->xdp_rings[rx_ring->queue_index]; vsi 2311 drivers/net/ethernet/intel/i40e/i40e_txrx.c rx_ring->vsi->xdp_rings[rx_ring->queue_index]; vsi 2502 drivers/net/ethernet/intel/i40e/i40e_txrx.c static inline void i40e_update_enable_itr(struct i40e_vsi *vsi, vsi 2505 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_hw *hw = &vsi->back->hw; vsi 2509 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!(vsi->back->flags & I40E_FLAG_MSIX_ENABLED)) { vsi 2510 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_irq_dynamic_enable_icr0(vsi->back); vsi 2555 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 2572 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_vsi *vsi = q_vector->vsi; vsi 2579 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) { vsi 2589 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_clean_xdp_tx_irq(vsi, ring, budget) : vsi 2590 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_clean_tx_irq(vsi, ring, budget); vsi 2636 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_force_wb(vsi, q_vector); vsi 2644 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_enable_wb_on_itr(vsi, q_vector); vsi 2649 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (vsi->back->flags & I40E_TXR_FLAGS_WB_ON_ITR) vsi 2656 drivers/net/ethernet/intel/i40e/i40e_txrx.c i40e_update_enable_itr(vsi, q_vector); vsi 2671 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = tx_ring->vsi->back; vsi 2763 drivers/net/ethernet/intel/i40e/i40e_txrx.c flex_ptype |= tx_ring->vsi->id << I40E_TXD_FLTR_QW0_DEST_VSI_SHIFT; vsi 2849 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!(tx_ring->vsi->back->flags & I40E_FLAG_DCB_ENABLED)) vsi 3679 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_vsi *vsi = np->vsi; vsi 3680 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_ring *tx_ring = vsi->tx_rings[skb->queue_mapping]; vsi 3707 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_vsi *vsi = np->vsi; vsi 3708 drivers/net/ethernet/intel/i40e/i40e_txrx.c struct i40e_pf *pf = vsi->back; vsi 3713 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 3716 drivers/net/ethernet/intel/i40e/i40e_txrx.c if (!i40e_enabled_xdp_vsi(vsi) || queue_index >= vsi->num_queue_pairs || vsi 3723 drivers/net/ethernet/intel/i40e/i40e_txrx.c xdp_ring = vsi->xdp_rings[queue_index]; vsi 405 drivers/net/ethernet/intel/i40e/i40e_txrx.h struct i40e_vsi *vsi; /* Backreference to associated VSI */ vsi 491 drivers/net/ethernet/intel/i40e/i40e_txrx.h void i40e_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector); vsi 493 drivers/net/ethernet/intel/i40e/i40e_txrx.h void i40e_detect_recover_hung(struct i40e_vsi *vsi); vsi 68 drivers/net/ethernet/intel/i40e/i40e_txrx_common.h struct i40e_vsi *vsi, vsi 81 drivers/net/ethernet/intel/i40e/i40e_txrx_common.h !test_bit(__I40E_VSI_DOWN, vsi->state) && vsi 89 drivers/net/ethernet/intel/i40e/i40e_txrx_common.h bool i40e_xsk_any_rx_ring_enabled(struct i40e_vsi *vsi); vsi 176 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = i40e_find_vsi_from_id(pf, vsi_id); vsi 178 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c return (vsi && (vsi->vf_id == vf->vf_id)); vsi 193 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = i40e_find_vsi_from_id(pf, vsi_id); vsi 195 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c return (vsi && (qid < vsi->alloc_queue_pairs)); vsi 226 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = i40e_find_vsi_from_id(pf, vsi_id); vsi 229 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) vsi 232 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (le16_to_cpu(vsi->info.mapping_flags) & vsi 235 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c le16_to_cpu(vsi->info.queue_mapping[vsi_queue_id]); vsi 237 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c pf_queue_id = le16_to_cpu(vsi->info.queue_mapping[0]) + vsi 550 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 560 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = i40e_find_vsi_from_id(pf, vsi_id); vsi 561 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) { vsi 572 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c tx_ctx.rdylist = le16_to_cpu(vsi->info.qs_handle[0]); vsi 713 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 717 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = i40e_vsi_setup(pf, I40E_VSI_SRIOV, pf->vsi[pf->lan_vsi]->seid, vsi 720 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) { vsi 732 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vf->lan_vsi_idx = vsi->idx; vsi 733 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vf->lan_vsi_id = vsi->id; vsi 741 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_add_pvid(vsi, vf->port_vlan_id); vsi 743 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 745 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c f = i40e_add_mac_filter(vsi, vsi 753 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c f = i40e_add_mac_filter(vsi, broadcast); vsi 757 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 761 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_sync_vsi_filters(vsi); vsi 768 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vf->ch[idx].vsi_idx = vsi->idx; vsi 769 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vf->ch[idx].vsi_id = vsi->id; vsi 781 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_aq_config_vsi_bw_limit(&pf->hw, vsi->seid, vsi 815 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c qps = pf->vsi[vf->lan_vsi_idx]->alloc_queue_pairs; vsi 863 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c qps = pf->vsi[vf->lan_vsi_idx]->alloc_queue_pairs; vsi 955 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_release(pf->vsi[vf->lan_vsi_idx]); vsi 969 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_release(pf->vsi[vf->ch[j].vsi_idx]); vsi 1031 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c total_queue_pairs += pf->vsi[vf->lan_vsi_idx]->alloc_queue_pairs; vsi 1110 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c static inline int i40e_getnum_vf_vsi_vlan_filters(struct i40e_vsi *vsi); vsi 1131 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 1134 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = i40e_find_vsi_from_id(pf, vsi_id); vsi 1135 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!i40e_vc_isvalid_vsi_id(vf, vsi_id) || !vsi) vsi 1139 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c aq_ret = i40e_aq_set_vsi_mc_promisc_on_vlan(hw, vsi->seid, vsi 1154 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c aq_ret = i40e_aq_set_vsi_uc_promisc_on_vlan(hw, vsi->seid, vsi 1168 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c } else if (i40e_getnum_vf_vsi_vlan_filters(vsi)) { vsi 1169 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { vsi 1173 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi->seid, vsi 1188 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi->seid, vsi 1204 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c aq_ret = i40e_aq_set_vsi_multicast_promiscuous(hw, vsi->seid, allmulti, vsi 1217 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c aq_ret = i40e_aq_set_vsi_unicast_promiscuous(hw, vsi->seid, alluni, vsi 1383 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_stop_rings(pf->vsi[vf->lan_vsi_idx]); vsi 1468 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_stop_rings_no_wait(pf->vsi[pf->vf[v].lan_vsi_idx]); vsi 1479 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[v].lan_vsi_idx]); vsi 1521 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_stop_rings_no_wait(pf->vsi[pf->vf[i].lan_vsi_idx]); vsi 1528 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[i].lan_vsi_idx]); vsi 1833 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_release(pf->vsi[vf->ch[i].vsi_idx]); vsi 1852 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 1877 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1878 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi->info.pvid) vsi 1944 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vfres->vsi_res[0].num_queue_pairs = vsi->alloc_queue_pairs; vsi 1947 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c = le16_to_cpu(vsi->info.qs_handle[0]); vsi 1982 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c static inline int i40e_getnum_vf_vsi_vlan_filters(struct i40e_vsi *vsi) vsi 1987 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c hash_for_each(vsi->mac_filter_hash, bkt, f, hlist) { vsi 2183 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c pf->vsi[vf->lan_vsi_idx]->num_queue_pairs = vsi 2187 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c pf->vsi[vf->ch[i].vsi_idx]->num_queue_pairs = vsi 2286 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c static int i40e_ctrl_vf_tx_rings(struct i40e_vsi *vsi, unsigned long q_map, vsi 2289 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = vsi->back; vsi 2294 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_control_wait_tx_q(vsi->seid, pf, vsi 2295 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi->base_queue + q_id, vsi 2309 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c static int i40e_ctrl_vf_rx_rings(struct i40e_vsi *vsi, unsigned long q_map, vsi 2312 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = vsi->back; vsi 2317 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_control_wait_rx_q(pf, vsi->base_queue + q_id, vsi 2372 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_ctrl_vf_rx_rings(pf->vsi[vf->lan_vsi_idx], vqs->rx_queues, vsi 2377 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_ctrl_vf_tx_rings(pf->vsi[vf->lan_vsi_idx], vqs->tx_queues, vsi 2387 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_vsi_start_rings(pf->vsi[vf->ch[i].vsi_idx])) vsi 2434 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_ctrl_vf_tx_rings(pf->vsi[vf->lan_vsi_idx], vqs->tx_queues, vsi 2439 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_ctrl_vf_rx_rings(pf->vsi[vf->lan_vsi_idx], vqs->rx_queues, vsi 2510 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 2524 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2525 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) { vsi 2529 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_update_eth_stats(vsi); vsi 2530 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c stats = vsi->eth_stats; vsi 2619 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 2629 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2634 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2638 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2646 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c f = i40e_find_mac(vsi, al->list[i].addr); vsi 2648 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c f = i40e_add_mac_filter(vsi, al->list[i].addr); vsi 2655 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2662 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2665 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_sync_vsi_filters(vsi); vsi 2688 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 2717 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2719 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 2722 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_del_mac_filter(vsi, al->list[i].addr)) { vsi 2724 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2730 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 2733 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_sync_vsi_filters(vsi); vsi 2756 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 2780 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2781 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (vsi->info.pvid) { vsi 2786 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vlan_stripping_enable(vsi); vsi 2789 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c int ret = i40e_vsi_add_vlan(vsi, vfl->vlan_id[i]); vsi 2794 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_aq_set_vsi_uc_promisc_on_vlan(&pf->hw, vsi->seid, vsi 2799 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_aq_set_vsi_mc_promisc_on_vlan(&pf->hw, vsi->seid, vsi 2827 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 2844 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2845 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (vsi->info.pvid) { vsi 2852 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_kill_vlan(vsi, vfl->vlan_id[i]); vsi 2856 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_aq_set_vsi_uc_promisc_on_vlan(&pf->hw, vsi->seid, vsi 2861 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_aq_set_vsi_mc_promisc_on_vlan(&pf->hw, vsi->seid, vsi 2892 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_notify_client_of_vf_msg(pf->vsi[pf->lan_vsi], abs_vf_id, vsi 2948 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 2958 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2959 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c aq_ret = i40e_config_rss(vsi, vrk->key, NULL, 0); vsi 2978 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 2995 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2996 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c aq_ret = i40e_config_rss(vsi, NULL, vrl->lut, I40E_VF_HLUT_ARRAY_SIZE); vsi 3076 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 3083 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = vf->pf->vsi[vf->lan_vsi_idx]; vsi 3084 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vlan_stripping_enable(vsi); vsi 3102 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 3109 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = vf->pf->vsi[vf->lan_vsi_idx]; vsi 3110 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vlan_stripping_disable(vsi); vsi 3131 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 3162 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 3163 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c f = i40e_find_mac(vsi, data.dst_mac); vsi 3173 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, vsi 3259 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 3263 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = i40e_find_vsi_from_id(pf, vf->ch[i].vsi_id); vsi 3264 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (vsi && vsi->seid == seid) vsi 3265 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c return vsi; vsi 3280 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 3286 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = i40e_find_vsi_from_seid(vf, cfilter->seid); vsi 3288 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) { vsi 3295 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, vsi 3298 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_del_cloud_filter(vsi, cfilter, false); vsi 3326 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 3393 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->ch[vcf->action_meta].vsi_idx]; vsi 3394 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c cfilter.seid = vsi->seid; vsi 3399 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_del_cloud_filter_big_buf(vsi, &cfilter, false); vsi 3401 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_del_cloud_filter(vsi, &cfilter, false); vsi 3458 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = NULL; vsi 3527 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->ch[vcf->action_meta].vsi_idx]; vsi 3528 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c cfilter->seid = vsi->seid; vsi 3533 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, true); vsi 3535 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_del_cloud_filter(vsi, cfilter, true); vsi 3930 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 3941 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = i40e_find_vsi_from_id(pf, vf->lan_vsi_id); vsi 3942 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) vsi 3959 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = np->vsi; vsi 3960 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = vsi->back; vsi 3979 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 3990 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 4012 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 4016 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_del_mac_filter(vsi, vf->default_lan_addr.addr); vsi 4021 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) vsi 4022 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c __i40e_del_filter(vsi, f); vsi 4024 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 4027 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_sync_vsi_filters(vsi)) { vsi 4062 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c static bool i40e_vsi_has_vlans(struct i40e_vsi *vsi) vsi 4069 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (vsi->info.pvid) vsi 4075 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 4076 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c have_vlans = i40e_is_vsi_in_vlan(vsi); vsi 4077 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 4098 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = np->vsi->back; vsi 4099 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 4126 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 4134 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (le16_to_cpu(vsi->info.pvid) == vlanprio) vsi 4138 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (i40e_vsi_has_vlans(vsi)) { vsi 4148 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 4152 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 4163 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vlanprio != le16_to_cpu(vsi->info.pvid)) && vsi 4164 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi->info.pvid) { vsi 4165 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_vlan_all_mac(vsi, I40E_VLAN_ANY); vsi 4167 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c dev_info(&vsi->back->pdev->dev, vsi 4169 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi->back->hw.aq.asq_last_status); vsi 4170 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 4175 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (vsi->info.pvid) { vsi 4177 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_rm_vlan_all_mac(vsi, (le16_to_cpu(vsi->info.pvid) & vsi 4181 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 4192 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_vsi_add_pvid(vsi, vlanprio); vsi 4194 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_vsi_remove_pvid(vsi); vsi 4195 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_lock_bh(&vsi->mac_filter_hash_lock); vsi 4202 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_add_vlan_all_mac(vsi, vlan_id); vsi 4204 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c dev_info(&vsi->back->pdev->dev, vsi 4206 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi->back->hw.aq.asq_last_status); vsi 4207 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 4212 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_rm_vlan_all_mac(vsi, I40E_VLAN_ANY); vsi 4215 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c spin_unlock_bh(&vsi->mac_filter_hash_lock); vsi 4224 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c i40e_service_event_schedule(vsi->back); vsi 4234 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vf->port_vlan_id = le16_to_cpu(vsi->info.pvid); vsi 4236 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_config_vf_promiscuous_mode(vf, vsi->id, allmulti, alluni); vsi 4262 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = np->vsi->back; vsi 4263 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi; vsi 4285 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 4293 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ret = i40e_set_bw_limit(vsi, vsi->seid, max_tx_rate); vsi 4315 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = np->vsi; vsi 4316 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = vsi->back; vsi 4332 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 4333 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c if (!vsi) { vsi 4344 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ivi->vlan = le16_to_cpu(vsi->info.pvid) & I40E_VLAN_MASK; vsi 4345 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ivi->qos = (le16_to_cpu(vsi->info.pvid) & I40E_PRIORITY_MASK) >> vsi 4373 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = np->vsi->back; vsi 4443 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_vsi *vsi = np->vsi; vsi 4444 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = vsi->back; vsi 4475 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c ctxt.seid = pf->vsi[vf->lan_vsi_idx]->seid; vsi 4503 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c struct i40e_pf *pf = np->vsi->back; vsi 19 drivers/net/ethernet/intel/i40e/i40e_xsk.c static int i40e_xsk_umem_dma_map(struct i40e_vsi *vsi, struct xdp_umem *umem) vsi 21 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct i40e_pf *pf = vsi->back; vsi 53 drivers/net/ethernet/intel/i40e/i40e_xsk.c static void i40e_xsk_umem_dma_unmap(struct i40e_vsi *vsi, struct xdp_umem *umem) vsi 55 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct i40e_pf *pf = vsi->back; vsi 77 drivers/net/ethernet/intel/i40e/i40e_xsk.c static int i40e_xsk_umem_enable(struct i40e_vsi *vsi, struct xdp_umem *umem, vsi 80 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct net_device *netdev = vsi->netdev; vsi 85 drivers/net/ethernet/intel/i40e/i40e_xsk.c if (vsi->type != I40E_VSI_MAIN) vsi 88 drivers/net/ethernet/intel/i40e/i40e_xsk.c if (qid >= vsi->num_queue_pairs) vsi 95 drivers/net/ethernet/intel/i40e/i40e_xsk.c reuseq = xsk_reuseq_prepare(vsi->rx_rings[0]->count); vsi 101 drivers/net/ethernet/intel/i40e/i40e_xsk.c err = i40e_xsk_umem_dma_map(vsi, umem); vsi 105 drivers/net/ethernet/intel/i40e/i40e_xsk.c set_bit(qid, vsi->af_xdp_zc_qps); vsi 107 drivers/net/ethernet/intel/i40e/i40e_xsk.c if_running = netif_running(vsi->netdev) && i40e_enabled_xdp_vsi(vsi); vsi 110 drivers/net/ethernet/intel/i40e/i40e_xsk.c err = i40e_queue_pair_disable(vsi, qid); vsi 114 drivers/net/ethernet/intel/i40e/i40e_xsk.c err = i40e_queue_pair_enable(vsi, qid); vsi 119 drivers/net/ethernet/intel/i40e/i40e_xsk.c err = i40e_xsk_wakeup(vsi->netdev, qid, XDP_WAKEUP_RX); vsi 134 drivers/net/ethernet/intel/i40e/i40e_xsk.c static int i40e_xsk_umem_disable(struct i40e_vsi *vsi, u16 qid) vsi 136 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct net_device *netdev = vsi->netdev; vsi 145 drivers/net/ethernet/intel/i40e/i40e_xsk.c if_running = netif_running(vsi->netdev) && i40e_enabled_xdp_vsi(vsi); vsi 148 drivers/net/ethernet/intel/i40e/i40e_xsk.c err = i40e_queue_pair_disable(vsi, qid); vsi 153 drivers/net/ethernet/intel/i40e/i40e_xsk.c clear_bit(qid, vsi->af_xdp_zc_qps); vsi 154 drivers/net/ethernet/intel/i40e/i40e_xsk.c i40e_xsk_umem_dma_unmap(vsi, umem); vsi 157 drivers/net/ethernet/intel/i40e/i40e_xsk.c err = i40e_queue_pair_enable(vsi, qid); vsi 175 drivers/net/ethernet/intel/i40e/i40e_xsk.c int i40e_xsk_umem_setup(struct i40e_vsi *vsi, struct xdp_umem *umem, vsi 178 drivers/net/ethernet/intel/i40e/i40e_xsk.c return umem ? i40e_xsk_umem_enable(vsi, umem, qid) : vsi 179 drivers/net/ethernet/intel/i40e/i40e_xsk.c i40e_xsk_umem_disable(vsi, qid); vsi 214 drivers/net/ethernet/intel/i40e/i40e_xsk.c xdp_ring = rx_ring->vsi->xdp_rings[rx_ring->queue_index]; vsi 719 drivers/net/ethernet/intel/i40e/i40e_xsk.c bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, vsi 722 drivers/net/ethernet/intel/i40e/i40e_xsk.c unsigned int ntc, total_bytes = 0, budget = vsi->work_limit; vsi 766 drivers/net/ethernet/intel/i40e/i40e_xsk.c i40e_arm_wb(tx_ring, vsi, budget); vsi 789 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct i40e_vsi *vsi = np->vsi; vsi 790 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct i40e_pf *pf = vsi->back; vsi 796 drivers/net/ethernet/intel/i40e/i40e_xsk.c if (test_bit(__I40E_VSI_DOWN, vsi->state)) vsi 799 drivers/net/ethernet/intel/i40e/i40e_xsk.c if (!i40e_enabled_xdp_vsi(vsi)) vsi 802 drivers/net/ethernet/intel/i40e/i40e_xsk.c if (queue_id >= vsi->num_queue_pairs) vsi 805 drivers/net/ethernet/intel/i40e/i40e_xsk.c if (!vsi->xdp_rings[queue_id]->xsk_umem) vsi 808 drivers/net/ethernet/intel/i40e/i40e_xsk.c ring = vsi->xdp_rings[queue_id]; vsi 817 drivers/net/ethernet/intel/i40e/i40e_xsk.c i40e_force_wb(vsi, ring->q_vector); vsi 873 drivers/net/ethernet/intel/i40e/i40e_xsk.c bool i40e_xsk_any_rx_ring_enabled(struct i40e_vsi *vsi) vsi 875 drivers/net/ethernet/intel/i40e/i40e_xsk.c struct net_device *netdev = vsi->netdev; vsi 878 drivers/net/ethernet/intel/i40e/i40e_xsk.c for (i = 0; i < vsi->num_queue_pairs; i++) { vsi 11 drivers/net/ethernet/intel/i40e/i40e_xsk.h int i40e_queue_pair_disable(struct i40e_vsi *vsi, int queue_pair); vsi 12 drivers/net/ethernet/intel/i40e/i40e_xsk.h int i40e_queue_pair_enable(struct i40e_vsi *vsi, int queue_pair); vsi 13 drivers/net/ethernet/intel/i40e/i40e_xsk.h int i40e_xsk_umem_setup(struct i40e_vsi *vsi, struct xdp_umem *umem, vsi 19 drivers/net/ethernet/intel/i40e/i40e_xsk.h bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, vsi 95 drivers/net/ethernet/intel/iavf/iavf.h struct iavf_vsi *vsi; vsi 332 drivers/net/ethernet/intel/iavf/iavf.h struct iavf_vsi vsi; vsi 410 drivers/net/ethernet/intel/iavf/iavf.h void iavf_notify_client_message(struct iavf_vsi *vsi, u8 *msg, u16 len); vsi 411 drivers/net/ethernet/intel/iavf/iavf.h void iavf_notify_client_l2_params(struct iavf_vsi *vsi); vsi 412 drivers/net/ethernet/intel/iavf/iavf.h void iavf_notify_client_open(struct iavf_vsi *vsi); vsi 413 drivers/net/ethernet/intel/iavf/iavf.h void iavf_notify_client_close(struct iavf_vsi *vsi, bool reset); vsi 36 drivers/net/ethernet/intel/iavf/iavf_client.c void iavf_client_get_params(struct iavf_vsi *vsi, struct iavf_params *params) vsi 41 drivers/net/ethernet/intel/iavf/iavf_client.c params->mtu = vsi->netdev->mtu; vsi 42 drivers/net/ethernet/intel/iavf/iavf_client.c params->link_up = vsi->back->link_up; vsi 46 drivers/net/ethernet/intel/iavf/iavf_client.c params->qos.prio_qos[i].qs_handle = vsi->qs_handle; vsi 58 drivers/net/ethernet/intel/iavf/iavf_client.c void iavf_notify_client_message(struct iavf_vsi *vsi, u8 *msg, u16 len) vsi 62 drivers/net/ethernet/intel/iavf/iavf_client.c if (!vsi) vsi 65 drivers/net/ethernet/intel/iavf/iavf_client.c cinst = vsi->back->cinst; vsi 68 drivers/net/ethernet/intel/iavf/iavf_client.c dev_dbg(&vsi->back->pdev->dev, vsi 82 drivers/net/ethernet/intel/iavf/iavf_client.c void iavf_notify_client_l2_params(struct iavf_vsi *vsi) vsi 87 drivers/net/ethernet/intel/iavf/iavf_client.c if (!vsi) vsi 90 drivers/net/ethernet/intel/iavf/iavf_client.c cinst = vsi->back->cinst; vsi 94 drivers/net/ethernet/intel/iavf/iavf_client.c dev_dbg(&vsi->back->pdev->dev, vsi 98 drivers/net/ethernet/intel/iavf/iavf_client.c iavf_client_get_params(vsi, ¶ms); vsi 110 drivers/net/ethernet/intel/iavf/iavf_client.c void iavf_notify_client_open(struct iavf_vsi *vsi) vsi 112 drivers/net/ethernet/intel/iavf/iavf_client.c struct iavf_adapter *adapter = vsi->back; vsi 118 drivers/net/ethernet/intel/iavf/iavf_client.c dev_dbg(&vsi->back->pdev->dev, vsi 162 drivers/net/ethernet/intel/iavf/iavf_client.c void iavf_notify_client_close(struct iavf_vsi *vsi, bool reset) vsi 164 drivers/net/ethernet/intel/iavf/iavf_client.c struct iavf_adapter *adapter = vsi->back; vsi 169 drivers/net/ethernet/intel/iavf/iavf_client.c dev_dbg(&vsi->back->pdev->dev, vsi 188 drivers/net/ethernet/intel/iavf/iavf_client.c struct iavf_vsi *vsi = &adapter->vsi; vsi 205 drivers/net/ethernet/intel/iavf/iavf_client.c cinst->lan_info.netdev = vsi->netdev; vsi 214 drivers/net/ethernet/intel/iavf/iavf_client.c iavf_client_get_params(vsi, ¶ms); vsi 645 drivers/net/ethernet/intel/iavf/iavf_ethtool.c struct iavf_vsi *vsi = &adapter->vsi; vsi 648 drivers/net/ethernet/intel/iavf/iavf_ethtool.c ec->tx_max_coalesced_frames = vsi->work_limit; vsi 649 drivers/net/ethernet/intel/iavf/iavf_ethtool.c ec->rx_max_coalesced_frames = vsi->work_limit; vsi 754 drivers/net/ethernet/intel/iavf/iavf_ethtool.c struct iavf_vsi *vsi = &adapter->vsi; vsi 758 drivers/net/ethernet/intel/iavf/iavf_ethtool.c vsi->work_limit = ec->tx_max_coalesced_frames_irq; vsi 310 drivers/net/ethernet/intel/iavf/iavf_main.c rx_ring->vsi = &adapter->vsi; vsi 336 drivers/net/ethernet/intel/iavf/iavf_main.c tx_ring->vsi = &adapter->vsi; vsi 952 drivers/net/ethernet/intel/iavf/iavf_main.c clear_bit(__IAVF_VSI_DOWN, adapter->vsi.state); vsi 1219 drivers/net/ethernet/intel/iavf/iavf_main.c ret = iavf_aq_set_rss_key(hw, adapter->vsi.id, rss_key); vsi 1228 drivers/net/ethernet/intel/iavf/iavf_main.c ret = iavf_aq_set_rss_lut(hw, adapter->vsi.id, false, vsi 1348 drivers/net/ethernet/intel/iavf/iavf_main.c q_vector->vsi = &adapter->vsi; vsi 1499 drivers/net/ethernet/intel/iavf/iavf_main.c set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); vsi 1858 drivers/net/ethernet/intel/iavf/iavf_main.c set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); vsi 1977 drivers/net/ethernet/intel/iavf/iavf_main.c iavf_detect_recover_hung(&adapter->vsi); vsi 2001 drivers/net/ethernet/intel/iavf/iavf_main.c set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); vsi 2089 drivers/net/ethernet/intel/iavf/iavf_main.c iavf_notify_client_close(&adapter->vsi, true); vsi 2374 drivers/net/ethernet/intel/iavf/iavf_main.c iavf_notify_client_l2_params(&adapter->vsi); vsi 2379 drivers/net/ethernet/intel/iavf/iavf_main.c iavf_notify_client_close(&adapter->vsi, false); vsi 2384 drivers/net/ethernet/intel/iavf/iavf_main.c iavf_notify_client_open(&adapter->vsi); vsi 3227 drivers/net/ethernet/intel/iavf/iavf_main.c set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); vsi 3269 drivers/net/ethernet/intel/iavf/iavf_main.c iavf_notify_client_l2_params(&adapter->vsi); vsi 3436 drivers/net/ethernet/intel/iavf/iavf_main.c struct iavf_vsi *vsi = &adapter->vsi; vsi 3545 drivers/net/ethernet/intel/iavf/iavf_main.c adapter->vsi.id = adapter->vsi_res->vsi_id; vsi 3547 drivers/net/ethernet/intel/iavf/iavf_main.c adapter->vsi.back = adapter; vsi 3548 drivers/net/ethernet/intel/iavf/iavf_main.c adapter->vsi.base_vector = 1; vsi 3549 drivers/net/ethernet/intel/iavf/iavf_main.c adapter->vsi.work_limit = IAVF_DEFAULT_IRQ_WORK; vsi 3550 drivers/net/ethernet/intel/iavf/iavf_main.c vsi->netdev = adapter->netdev; vsi 3551 drivers/net/ethernet/intel/iavf/iavf_main.c vsi->qs_handle = adapter->vsi_res->qset_handle; vsi 134 drivers/net/ethernet/intel/iavf/iavf_txrx.c void iavf_detect_recover_hung(struct iavf_vsi *vsi) vsi 141 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (!vsi) vsi 144 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (test_bit(__IAVF_VSI_DOWN, vsi->state)) vsi 147 drivers/net/ethernet/intel/iavf/iavf_txrx.c netdev = vsi->netdev; vsi 154 drivers/net/ethernet/intel/iavf/iavf_txrx.c for (i = 0; i < vsi->back->num_active_queues; i++) { vsi 155 drivers/net/ethernet/intel/iavf/iavf_txrx.c tx_ring = &vsi->back->tx_rings[i]; vsi 166 drivers/net/ethernet/intel/iavf/iavf_txrx.c iavf_force_wb(vsi, tx_ring->q_vector); vsi 190 drivers/net/ethernet/intel/iavf/iavf_txrx.c static bool iavf_clean_tx_irq(struct iavf_vsi *vsi, vsi 197 drivers/net/ethernet/intel/iavf/iavf_txrx.c unsigned int budget = vsi->work_limit; vsi 298 drivers/net/ethernet/intel/iavf/iavf_txrx.c !test_bit(__IAVF_VSI_DOWN, vsi->state) && vsi 316 drivers/net/ethernet/intel/iavf/iavf_txrx.c !test_bit(__IAVF_VSI_DOWN, vsi->state)) { vsi 332 drivers/net/ethernet/intel/iavf/iavf_txrx.c static void iavf_enable_wb_on_itr(struct iavf_vsi *vsi, vsi 347 drivers/net/ethernet/intel/iavf/iavf_txrx.c wr32(&vsi->back->hw, vsi 358 drivers/net/ethernet/intel/iavf/iavf_txrx.c void iavf_force_wb(struct iavf_vsi *vsi, struct iavf_q_vector *q_vector) vsi 366 drivers/net/ethernet/intel/iavf/iavf_txrx.c wr32(&vsi->back->hw, vsi 943 drivers/net/ethernet/intel/iavf/iavf_txrx.c static inline void iavf_rx_checksum(struct iavf_vsi *vsi, vsi 966 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (!(vsi->netdev->features & NETIF_F_RXCSUM)) vsi 1018 drivers/net/ethernet/intel/iavf/iavf_txrx.c vsi->back->hw_csum_rx_error++; vsi 1088 drivers/net/ethernet/intel/iavf/iavf_txrx.c iavf_rx_checksum(rx_ring->vsi, skb, rx_desc); vsi 1643 drivers/net/ethernet/intel/iavf/iavf_txrx.c static inline void iavf_update_enable_itr(struct iavf_vsi *vsi, vsi 1646 drivers/net/ethernet/intel/iavf/iavf_txrx.c struct iavf_hw *hw = &vsi->back->hw; vsi 1690 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (!test_bit(__IAVF_VSI_DOWN, vsi->state)) vsi 1707 drivers/net/ethernet/intel/iavf/iavf_txrx.c struct iavf_vsi *vsi = q_vector->vsi; vsi 1714 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (test_bit(__IAVF_VSI_DOWN, vsi->state)) { vsi 1723 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (!iavf_clean_tx_irq(vsi, ring, budget)) { vsi 1765 drivers/net/ethernet/intel/iavf/iavf_txrx.c iavf_force_wb(vsi, q_vector); vsi 1773 drivers/net/ethernet/intel/iavf/iavf_txrx.c iavf_enable_wb_on_itr(vsi, q_vector); vsi 1778 drivers/net/ethernet/intel/iavf/iavf_txrx.c if (vsi->back->flags & IAVF_TXR_FLAGS_WB_ON_ITR) vsi 1785 drivers/net/ethernet/intel/iavf/iavf_txrx.c iavf_update_enable_itr(vsi, q_vector); vsi 377 drivers/net/ethernet/intel/iavf/iavf_txrx.h struct iavf_vsi *vsi; /* Backreference to associated VSI */ vsi 448 drivers/net/ethernet/intel/iavf/iavf_txrx.h void iavf_force_wb(struct iavf_vsi *vsi, struct iavf_q_vector *q_vector); vsi 450 drivers/net/ethernet/intel/iavf/iavf_txrx.h void iavf_detect_recover_hung(struct iavf_vsi *vsi); vsi 842 drivers/net/ethernet/intel/iavf/iavf_virtchnl.c vrk->vsi_id = adapter->vsi.id; vsi 874 drivers/net/ethernet/intel/iavf/iavf_virtchnl.c vrl->vsi_id = adapter->vsi.id; vsi 1396 drivers/net/ethernet/intel/iavf/iavf_virtchnl.c iavf_notify_client_message(&adapter->vsi, msg, msglen); vsi 97 drivers/net/ethernet/intel/ice/ice.h #define ice_for_each_txq(vsi, i) \ vsi 98 drivers/net/ethernet/intel/ice/ice.h for ((i) = 0; (i) < (vsi)->num_txq; (i)++) vsi 100 drivers/net/ethernet/intel/ice/ice.h #define ice_for_each_rxq(vsi, i) \ vsi 101 drivers/net/ethernet/intel/ice/ice.h for ((i) = 0; (i) < (vsi)->num_rxq; (i)++) vsi 104 drivers/net/ethernet/intel/ice/ice.h #define ice_for_each_alloc_txq(vsi, i) \ vsi 105 drivers/net/ethernet/intel/ice/ice.h for ((i) = 0; (i) < (vsi)->alloc_txq; (i)++) vsi 107 drivers/net/ethernet/intel/ice/ice.h #define ice_for_each_alloc_rxq(vsi, i) \ vsi 108 drivers/net/ethernet/intel/ice/ice.h for ((i) = 0; (i) < (vsi)->alloc_rxq; (i)++) vsi 110 drivers/net/ethernet/intel/ice/ice.h #define ice_for_each_q_vector(vsi, i) \ vsi 111 drivers/net/ethernet/intel/ice/ice.h for ((i) = 0; (i) < (vsi)->num_q_vectors; (i)++) vsi 281 drivers/net/ethernet/intel/ice/ice.h struct ice_vsi *vsi; vsi 331 drivers/net/ethernet/intel/ice/ice.h struct ice_vsi **vsi; /* VSIs created by the driver */ vsi 380 drivers/net/ethernet/intel/ice/ice.h struct ice_vsi *vsi; vsi 390 drivers/net/ethernet/intel/ice/ice.h ice_irq_dynamic_ena(struct ice_hw *hw, struct ice_vsi *vsi, vsi 393 drivers/net/ethernet/intel/ice/ice.h u32 vector = (vsi && q_vector) ? q_vector->reg_idx : vsi 403 drivers/net/ethernet/intel/ice/ice.h if (vsi) vsi 404 drivers/net/ethernet/intel/ice/ice.h if (test_bit(__ICE_DOWN, vsi->state)) vsi 417 drivers/net/ethernet/intel/ice/ice.h return np->vsi->back; vsi 428 drivers/net/ethernet/intel/ice/ice.h if (pf->vsi) vsi 429 drivers/net/ethernet/intel/ice/ice.h return pf->vsi[0]; vsi 434 drivers/net/ethernet/intel/ice/ice.h int ice_vsi_setup_tx_rings(struct ice_vsi *vsi); vsi 435 drivers/net/ethernet/intel/ice/ice.h int ice_vsi_setup_rx_rings(struct ice_vsi *vsi); vsi 440 drivers/net/ethernet/intel/ice/ice.h void ice_update_vsi_stats(struct ice_vsi *vsi); vsi 442 drivers/net/ethernet/intel/ice/ice.h int ice_up(struct ice_vsi *vsi); vsi 443 drivers/net/ethernet/intel/ice/ice.h int ice_down(struct ice_vsi *vsi); vsi 444 drivers/net/ethernet/intel/ice/ice.h int ice_vsi_cfg(struct ice_vsi *vsi); vsi 446 drivers/net/ethernet/intel/ice/ice.h int ice_set_rss(struct ice_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size); vsi 447 drivers/net/ethernet/intel/ice/ice.h int ice_get_rss(struct ice_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size); vsi 449 drivers/net/ethernet/intel/ice/ice.h void ice_print_link_msg(struct ice_vsi *vsi, bool isup); vsi 627 drivers/net/ethernet/intel/ice/ice_adminq_cmd.h __le16 vsi[1]; /* Array of number_vsi VSI numbers */ vsi 3161 drivers/net/ethernet/intel/ice/ice_common.c struct ice_vsi_ctx *vsi; vsi 3164 drivers/net/ethernet/intel/ice/ice_common.c vsi = ice_get_vsi_ctx(hw, vsi_handle); vsi 3165 drivers/net/ethernet/intel/ice/ice_common.c if (!vsi) vsi 3167 drivers/net/ethernet/intel/ice/ice_common.c if (q_handle >= vsi->num_lan_q_entries[tc]) vsi 3169 drivers/net/ethernet/intel/ice/ice_common.c if (!vsi->lan_q_ctx[tc]) vsi 3171 drivers/net/ethernet/intel/ice/ice_common.c q_ctx = vsi->lan_q_ctx[tc]; vsi 11 drivers/net/ethernet/intel/ice/ice_dcb_lib.c void ice_vsi_cfg_netdev_tc(struct ice_vsi *vsi, u8 ena_tc) vsi 13 drivers/net/ethernet/intel/ice/ice_dcb_lib.c struct net_device *netdev = vsi->netdev; vsi 14 drivers/net/ethernet/intel/ice/ice_dcb_lib.c struct ice_pf *pf = vsi->back; vsi 27 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (netdev_set_num_tc(netdev, vsi->tc_cfg.numtc)) vsi 33 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (vsi->tc_cfg.ena_tc & BIT(i)) vsi 35 drivers/net/ethernet/intel/ice/ice_dcb_lib.c vsi->tc_cfg.tc_info[i].netdev_tc, vsi 36 drivers/net/ethernet/intel/ice/ice_dcb_lib.c vsi->tc_cfg.tc_info[i].qcount_tx, vsi 37 drivers/net/ethernet/intel/ice/ice_dcb_lib.c vsi->tc_cfg.tc_info[i].qoffset); vsi 43 drivers/net/ethernet/intel/ice/ice_dcb_lib.c netdev_tc = vsi->tc_cfg.tc_info[ets_tc].netdev_tc; vsi 106 drivers/net/ethernet/intel/ice/ice_dcb_lib.c void ice_vsi_cfg_dcb_rings(struct ice_vsi *vsi) vsi 112 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (!test_bit(ICE_FLAG_DCB_ENA, vsi->back->flags)) { vsi 114 drivers/net/ethernet/intel/ice/ice_dcb_lib.c for (i = 0; i < vsi->num_txq; i++) { vsi 115 drivers/net/ethernet/intel/ice/ice_dcb_lib.c tx_ring = vsi->tx_rings[i]; vsi 118 drivers/net/ethernet/intel/ice/ice_dcb_lib.c for (i = 0; i < vsi->num_rxq; i++) { vsi 119 drivers/net/ethernet/intel/ice/ice_dcb_lib.c rx_ring = vsi->rx_rings[i]; vsi 126 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (!(vsi->tc_cfg.ena_tc & BIT(n))) vsi 129 drivers/net/ethernet/intel/ice/ice_dcb_lib.c qoffset = vsi->tc_cfg.tc_info[n].qoffset; vsi 130 drivers/net/ethernet/intel/ice/ice_dcb_lib.c qcount = vsi->tc_cfg.tc_info[n].qcount_tx; vsi 132 drivers/net/ethernet/intel/ice/ice_dcb_lib.c tx_ring = vsi->tx_rings[i]; vsi 133 drivers/net/ethernet/intel/ice/ice_dcb_lib.c rx_ring = vsi->rx_rings[i]; vsi 156 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (!pf->vsi[v]) vsi 159 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (pf->vsi[v]->type == ICE_VSI_PF) vsi 164 drivers/net/ethernet/intel/ice/ice_dcb_lib.c ret = ice_vsi_cfg_tc(pf->vsi[v], tc_map); vsi 168 drivers/net/ethernet/intel/ice/ice_dcb_lib.c pf->vsi[v]->idx); vsi 172 drivers/net/ethernet/intel/ice/ice_dcb_lib.c ice_vsi_map_rings_to_vectors(pf->vsi[v]); vsi 588 drivers/net/ethernet/intel/ice/ice_dcb_lib.c if (!test_bit(ICE_FLAG_DCB_ENA, tx_ring->vsi->back->flags)) vsi 16 drivers/net/ethernet/intel/ice/ice_dcb_lib.h void ice_vsi_cfg_dcb_rings(struct ice_vsi *vsi); vsi 25 drivers/net/ethernet/intel/ice/ice_dcb_lib.h void ice_vsi_cfg_netdev_tc(struct ice_vsi *vsi, u8 ena_tc); vsi 59 drivers/net/ethernet/intel/ice/ice_dcb_lib.h #define ice_vsi_cfg_dcb_rings(vsi) do {} while (0) vsi 62 drivers/net/ethernet/intel/ice/ice_dcb_lib.h #define ice_vsi_cfg_netdev_tc(vsi, ena_tc) do {} while (0) vsi 31 drivers/net/ethernet/intel/ice/ice_ethtool.c return ((np->vsi->alloc_txq + np->vsi->alloc_rxq) * vsi 167 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 168 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 188 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 202 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 216 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 231 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 242 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 243 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 308 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_get_link_status(np->vsi->port_info, &link_up); vsi 330 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 388 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_hw *hw = np->vsi->port_info->hw; vsi 434 drivers/net/ethernet/intel/ice/ice_ethtool.c static int ice_lbtest_prepare_rings(struct ice_vsi *vsi) vsi 438 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_vsi_setup_tx_rings(vsi); vsi 442 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_vsi_setup_rx_rings(vsi); vsi 446 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_vsi_cfg(vsi); vsi 450 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_vsi_start_rx_rings(vsi); vsi 457 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_vsi_free_rx_rings(vsi); vsi 459 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_vsi_stop_lan_tx_rings(vsi, ICE_NO_RESET, 0); vsi 461 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_vsi_free_tx_rings(vsi); vsi 473 drivers/net/ethernet/intel/ice/ice_ethtool.c static int ice_lbtest_disable_rings(struct ice_vsi *vsi) vsi 477 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_vsi_stop_lan_tx_rings(vsi, ICE_NO_RESET, 0); vsi 479 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_err(vsi->netdev, "Failed to stop Tx rings, VSI %d error %d\n", vsi 480 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->vsi_num, status); vsi 482 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_vsi_stop_rx_rings(vsi); vsi 484 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_err(vsi->netdev, "Failed to stop Rx rings, VSI %d error %d\n", vsi 485 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->vsi_num, status); vsi 487 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_vsi_free_tx_rings(vsi); vsi 488 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_vsi_free_rx_rings(vsi); vsi 645 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *orig_vsi = np->vsi, *test_vsi; vsi 745 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 775 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 845 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 857 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_for_each_alloc_txq(vsi, i) { vsi 865 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_for_each_alloc_rxq(vsi, i) { vsi 873 drivers/net/ethernet/intel/ice/ice_ethtool.c if (vsi->type != ICE_VSI_PF) vsi 931 drivers/net/ethernet/intel/ice/ice_ethtool.c if (ice_aq_set_port_id_led(np->vsi->port_info, !led_active, NULL)) vsi 947 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 953 drivers/net/ethernet/intel/ice/ice_ethtool.c pi = vsi->port_info; vsi 958 drivers/net/ethernet/intel/ice/ice_ethtool.c if (vsi->type != ICE_VSI_PF) { vsi 964 drivers/net/ethernet/intel/ice/ice_ethtool.c caps = devm_kzalloc(&vsi->back->pdev->dev, sizeof(*caps), GFP_KERNEL); vsi 1009 drivers/net/ethernet/intel/ice/ice_ethtool.c devm_kfree(&vsi->back->pdev->dev, caps); vsi 1022 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1040 drivers/net/ethernet/intel/ice/ice_ethtool.c dev_warn(&vsi->back->pdev->dev, "Unsupported FEC mode: %d\n", vsi 1059 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1064 drivers/net/ethernet/intel/ice/ice_ethtool.c pi = vsi->port_info; vsi 1085 drivers/net/ethernet/intel/ice/ice_ethtool.c caps = devm_kzalloc(&vsi->back->pdev->dev, sizeof(*caps), GFP_KERNEL); vsi 1112 drivers/net/ethernet/intel/ice/ice_ethtool.c devm_kfree(&vsi->back->pdev->dev, caps); vsi 1129 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1130 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 1155 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1156 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 1212 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_cfg_sw_lldp(vsi, false, true); vsi 1250 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_cfg_sw_lldp(vsi, false, false); vsi 1300 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1301 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 1308 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_update_vsi_stats(vsi); vsi 1311 drivers/net/ethernet/intel/ice/ice_ethtool.c p = (char *)vsi + ice_gstrings_vsi_stats[j].stat_offset; vsi 1319 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_for_each_alloc_txq(vsi, j) { vsi 1320 drivers/net/ethernet/intel/ice/ice_ethtool.c ring = READ_ONCE(vsi->tx_rings[j]); vsi 1330 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_for_each_alloc_rxq(vsi, j) { vsi 1331 drivers/net/ethernet/intel/ice/ice_ethtool.c ring = READ_ONCE(vsi->rx_rings[j]); vsi 1343 drivers/net/ethernet/intel/ice/ice_ethtool.c if (vsi->type != ICE_VSI_PF) vsi 1375 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1379 drivers/net/ethernet/intel/ice/ice_ethtool.c hw_link_info = &vsi->port_info->phy.link_info; vsi 1380 drivers/net/ethernet/intel/ice/ice_ethtool.c phy_types_low = vsi->port_info->phy.phy_type_low; vsi 1381 drivers/net/ethernet/intel/ice/ice_ethtool.c phy_types_high = vsi->port_info->phy.phy_type_high; vsi 1703 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_port_info *pi = np->vsi->port_info; vsi 1706 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 1710 drivers/net/ethernet/intel/ice/ice_ethtool.c link_info = &vsi->port_info->phy.link_info; vsi 2092 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2099 drivers/net/ethernet/intel/ice/ice_ethtool.c hw_link_info = &vsi->port_info->phy.link_info; vsi 2112 drivers/net/ethernet/intel/ice/ice_ethtool.c switch (vsi->port_info->phy.media_type) { vsi 2143 drivers/net/ethernet/intel/ice/ice_ethtool.c caps = devm_kzalloc(&vsi->back->pdev->dev, sizeof(*caps), GFP_KERNEL); vsi 2147 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_aq_get_phy_caps(vsi->port_info, false, vsi 2184 drivers/net/ethernet/intel/ice/ice_ethtool.c status = ice_aq_get_phy_caps(vsi->port_info, false, vsi 2201 drivers/net/ethernet/intel/ice/ice_ethtool.c devm_kfree(&vsi->back->pdev->dev, caps); vsi 2357 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 2366 drivers/net/ethernet/intel/ice/ice_ethtool.c p = np->vsi->port_info; vsi 2373 drivers/net/ethernet/intel/ice/ice_ethtool.c if (pf->vsi[idx]->type == ICE_VSI_PF) { vsi 2374 drivers/net/ethernet/intel/ice/ice_ethtool.c if (np->vsi != pf->vsi[idx]) vsi 2510 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_print_link_msg(np->vsi, false); vsi 2542 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2547 drivers/net/ethernet/intel/ice/ice_ethtool.c cmd->data = vsi->rss_size; vsi 2561 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2565 drivers/net/ethernet/intel/ice/ice_ethtool.c ring->rx_pending = vsi->rx_rings[0]->count; vsi 2566 drivers/net/ethernet/intel/ice/ice_ethtool.c ring->tx_pending = vsi->tx_rings[0]->count; vsi 2580 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2581 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 2608 drivers/net/ethernet/intel/ice/ice_ethtool.c if (new_tx_cnt == vsi->tx_rings[0]->count && vsi 2609 drivers/net/ethernet/intel/ice/ice_ethtool.c new_rx_cnt == vsi->rx_rings[0]->count) { vsi 2622 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!netif_running(vsi->netdev)) { vsi 2623 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_txq; i++) vsi 2624 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->tx_rings[i]->count = new_tx_cnt; vsi 2625 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_rxq; i++) vsi 2626 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rx_rings[i]->count = new_rx_cnt; vsi 2631 drivers/net/ethernet/intel/ice/ice_ethtool.c if (new_tx_cnt == vsi->tx_rings[0]->count) vsi 2636 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->tx_rings[0]->count, new_tx_cnt); vsi 2638 drivers/net/ethernet/intel/ice/ice_ethtool.c tx_rings = devm_kcalloc(&pf->pdev->dev, vsi->alloc_txq, vsi 2645 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_txq; i++) { vsi 2647 drivers/net/ethernet/intel/ice/ice_ethtool.c tx_rings[i] = *vsi->tx_rings[i]; vsi 2663 drivers/net/ethernet/intel/ice/ice_ethtool.c if (new_rx_cnt == vsi->rx_rings[0]->count) vsi 2668 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rx_rings[0]->count, new_rx_cnt); vsi 2670 drivers/net/ethernet/intel/ice/ice_ethtool.c rx_rings = devm_kcalloc(&pf->pdev->dev, vsi->alloc_rxq, vsi 2677 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_rxq; i++) { vsi 2679 drivers/net/ethernet/intel/ice/ice_ethtool.c rx_rings[i] = *vsi->rx_rings[i]; vsi 2686 drivers/net/ethernet/intel/ice/ice_ethtool.c rx_rings[i].tail = vsi->back->hw.hw_addr + PRTGEN_STATUS; vsi 2711 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!test_and_set_bit(__ICE_DOWN, vsi->state)) { vsi 2712 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_down(vsi); vsi 2715 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_txq; i++) { vsi 2716 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_free_tx_ring(vsi->tx_rings[i]); vsi 2717 drivers/net/ethernet/intel/ice/ice_ethtool.c *vsi->tx_rings[i] = tx_rings[i]; vsi 2723 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_rxq; i++) { vsi 2724 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_free_rx_ring(vsi->rx_rings[i]); vsi 2726 drivers/net/ethernet/intel/ice/ice_ethtool.c rx_rings[i].tail = vsi->rx_rings[i]->tail; vsi 2735 drivers/net/ethernet/intel/ice/ice_ethtool.c *vsi->rx_rings[i] = rx_rings[i]; vsi 2740 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_up(vsi); vsi 2747 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->alloc_txq; i++) vsi 2761 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2765 drivers/net/ethernet/intel/ice/ice_ethtool.c pi = vsi->port_info; vsi 2767 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!test_bit(__ICE_DOWN, vsi->back->state)) vsi 2795 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_port_info *pi = np->vsi->port_info; vsi 2797 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2807 drivers/net/ethernet/intel/ice/ice_ethtool.c pcaps = devm_kzalloc(&vsi->back->pdev->dev, sizeof(*pcaps), vsi 2831 drivers/net/ethernet/intel/ice/ice_ethtool.c devm_kfree(&vsi->back->pdev->dev, pcaps); vsi 2845 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = np->vsi->back; vsi 2847 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2856 drivers/net/ethernet/intel/ice/ice_ethtool.c pi = vsi->port_info; vsi 2864 drivers/net/ethernet/intel/ice/ice_ethtool.c if (vsi->type != ICE_VSI_PF) { vsi 2944 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_down(vsi); vsi 2945 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_up(vsi); vsi 2972 drivers/net/ethernet/intel/ice/ice_ethtool.c return np->vsi->rss_table_size; vsi 2988 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 2989 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 3005 drivers/net/ethernet/intel/ice/ice_ethtool.c lut = devm_kzalloc(&pf->pdev->dev, vsi->rss_table_size, GFP_KERNEL); vsi 3009 drivers/net/ethernet/intel/ice/ice_ethtool.c if (ice_get_rss(vsi, key, lut, vsi->rss_table_size)) { vsi 3014 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->rss_table_size; i++) vsi 3037 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 3038 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 3051 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!vsi->rss_hkey_user) { vsi 3052 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rss_hkey_user = vsi 3056 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!vsi->rss_hkey_user) vsi 3059 drivers/net/ethernet/intel/ice/ice_ethtool.c memcpy(vsi->rss_hkey_user, key, ICE_VSIQF_HKEY_ARRAY_SIZE); vsi 3060 drivers/net/ethernet/intel/ice/ice_ethtool.c seed = vsi->rss_hkey_user; vsi 3063 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!vsi->rss_lut_user) { vsi 3064 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rss_lut_user = devm_kzalloc(&pf->pdev->dev, vsi 3065 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rss_table_size, vsi 3067 drivers/net/ethernet/intel/ice/ice_ethtool.c if (!vsi->rss_lut_user) vsi 3075 drivers/net/ethernet/intel/ice/ice_ethtool.c for (i = 0; i < vsi->rss_table_size; i++) vsi 3076 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rss_lut_user[i] = (u8)(indir[i]); vsi 3078 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_fill_rss_lut(vsi->rss_lut_user, vsi->rss_table_size, vsi 3079 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi->rss_size); vsi 3082 drivers/net/ethernet/intel/ice/ice_ethtool.c if (ice_set_rss(vsi, seed, vsi->rss_lut_user, vsi->rss_table_size)) vsi 3114 drivers/net/ethernet/intel/ice/ice_ethtool.c pf = rc->ring->vsi->back; vsi 3145 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_get_q_coalesce(struct ice_vsi *vsi, struct ethtool_coalesce *ec, int q_num) vsi 3147 drivers/net/ethernet/intel/ice/ice_ethtool.c if (q_num < vsi->num_rxq && q_num < vsi->num_txq) { vsi 3149 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->rx_rings[q_num]->q_vector->rx)) vsi 3152 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->tx_rings[q_num]->q_vector->tx)) vsi 3154 drivers/net/ethernet/intel/ice/ice_ethtool.c } else if (q_num < vsi->num_rxq) { vsi 3156 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->rx_rings[q_num]->q_vector->rx)) vsi 3158 drivers/net/ethernet/intel/ice/ice_ethtool.c } else if (q_num < vsi->num_txq) { vsi 3160 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->tx_rings[q_num]->q_vector->tx)) vsi 3183 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 3188 drivers/net/ethernet/intel/ice/ice_ethtool.c if (ice_get_q_coalesce(vsi, ec, q_num)) vsi 3222 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_ring_container *rc, struct ice_vsi *vsi) vsi 3226 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_pf *pf = vsi->back; vsi 3237 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_info(vsi->netdev, vsi 3256 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_info(vsi->netdev, vsi 3273 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_info(vsi->netdev, vsi 3280 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_info(vsi->netdev, vsi 3288 drivers/net/ethernet/intel/ice/ice_ethtool.c netdev_info(vsi->netdev, vsi 3318 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_set_q_coalesce(struct ice_vsi *vsi, struct ethtool_coalesce *ec, int q_num) vsi 3320 drivers/net/ethernet/intel/ice/ice_ethtool.c if (q_num < vsi->num_rxq && q_num < vsi->num_txq) { vsi 3322 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->rx_rings[q_num]->q_vector->rx, vsi 3323 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi)) vsi 3327 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->tx_rings[q_num]->q_vector->tx, vsi 3328 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi)) vsi 3330 drivers/net/ethernet/intel/ice/ice_ethtool.c } else if (q_num < vsi->num_rxq) { vsi 3332 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->rx_rings[q_num]->q_vector->rx, vsi 3333 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi)) vsi 3335 drivers/net/ethernet/intel/ice/ice_ethtool.c } else if (q_num < vsi->num_txq) { vsi 3337 drivers/net/ethernet/intel/ice/ice_ethtool.c &vsi->tx_rings[q_num]->q_vector->tx, vsi 3338 drivers/net/ethernet/intel/ice/ice_ethtool.c vsi)) vsi 3361 drivers/net/ethernet/intel/ice/ice_ethtool.c struct ice_vsi *vsi = np->vsi; vsi 3366 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_for_each_q_vector(vsi, v_idx) { vsi 3371 drivers/net/ethernet/intel/ice/ice_ethtool.c if (v_idx >= vsi->num_rxq && v_idx >= vsi->num_txq) vsi 3374 drivers/net/ethernet/intel/ice/ice_ethtool.c if (ice_set_q_coalesce(vsi, ec, v_idx)) vsi 3380 drivers/net/ethernet/intel/ice/ice_ethtool.c if (ice_set_q_coalesce(vsi, ec, q_num)) vsi 967 drivers/net/ethernet/intel/ice/ice_flex_pipe.c ice_vsig_find_vsi(struct ice_hw *hw, enum ice_block blk, u16 vsi, u16 *vsig) vsi 969 drivers/net/ethernet/intel/ice/ice_flex_pipe.c if (!vsig || vsi >= ICE_MAX_VSI) vsi 976 drivers/net/ethernet/intel/ice/ice_flex_pipe.c *vsig = hw->blk[blk].xlt2.vsis[vsi].vsig; vsi 1012 drivers/net/ethernet/intel/ice/ice_flex_pipe.c ice_vsig_remove_vsi(struct ice_hw *hw, enum ice_block blk, u16 vsi, u16 vsig) vsi 1019 drivers/net/ethernet/intel/ice/ice_flex_pipe.c if (vsi >= ICE_MAX_VSI || idx >= ICE_MAX_VSIGS) vsi 1033 drivers/net/ethernet/intel/ice/ice_flex_pipe.c vsi_tgt = &hw->blk[blk].xlt2.vsis[vsi]; vsi 1070 drivers/net/ethernet/intel/ice/ice_flex_pipe.c ice_vsig_add_mv_vsi(struct ice_hw *hw, enum ice_block blk, u16 vsi, u16 vsig) vsi 1078 drivers/net/ethernet/intel/ice/ice_flex_pipe.c if (vsi >= ICE_MAX_VSI || idx >= ICE_MAX_VSIGS) vsi 1088 drivers/net/ethernet/intel/ice/ice_flex_pipe.c status = ice_vsig_find_vsi(hw, blk, vsi, &orig_vsig); vsi 1098 drivers/net/ethernet/intel/ice/ice_flex_pipe.c status = ice_vsig_remove_vsi(hw, blk, vsi, orig_vsig); vsi 1107 drivers/net/ethernet/intel/ice/ice_flex_pipe.c hw->blk[blk].xlt2.vsis[vsi].vsig = vsig; vsi 1108 drivers/net/ethernet/intel/ice/ice_flex_pipe.c hw->blk[blk].xlt2.vsis[vsi].changed = 1; vsi 1113 drivers/net/ethernet/intel/ice/ice_flex_pipe.c &hw->blk[blk].xlt2.vsis[vsi]; vsi 1114 drivers/net/ethernet/intel/ice/ice_flex_pipe.c hw->blk[blk].xlt2.vsis[vsi].next_vsi = tmp; vsi 1115 drivers/net/ethernet/intel/ice/ice_flex_pipe.c hw->blk[blk].xlt2.t[vsi] = vsig; vsi 1190 drivers/net/ethernet/intel/ice/ice_flex_pipe.c u16 vsi; vsi 1192 drivers/net/ethernet/intel/ice/ice_flex_pipe.c for (vsi = 0; vsi < hw->blk[blk].xlt2.count; vsi++) { vsi 1195 drivers/net/ethernet/intel/ice/ice_flex_pipe.c vsig = hw->blk[blk].xlt2.t[vsi]; vsi 1198 drivers/net/ethernet/intel/ice/ice_flex_pipe.c ice_vsig_add_mv_vsi(hw, blk, vsi, vsig); vsi 1202 drivers/net/ethernet/intel/ice/ice_flex_pipe.c hw->blk[blk].xlt2.vsis[vsi].changed = 0; vsi 16 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_vsi *vsi = ring->vsi; vsi 17 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_hw *hw = &vsi->back->hw; vsi 25 drivers/net/ethernet/intel/ice/ice_lib.c pf_q = vsi->rxq_map[ring->q_index]; vsi 37 drivers/net/ethernet/intel/ice/ice_lib.c rlan_ctx.dbuf = vsi->rx_buf_len >> ICE_RLAN_CTX_DBUF_S; vsi 63 drivers/net/ethernet/intel/ice/ice_lib.c rlan_ctx.rxmax = min_t(u16, vsi->max_frame, vsi 64 drivers/net/ethernet/intel/ice/ice_lib.c ICE_MAX_CHAINED_RX_BUFS * vsi->rx_buf_len); vsi 72 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type != ICE_VSI_VF) { vsi 90 drivers/net/ethernet/intel/ice/ice_lib.c dev_err(&vsi->back->pdev->dev, vsi 96 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 118 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_vsi *vsi = ring->vsi; vsi 119 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_hw *hw = &vsi->back->hw; vsi 123 drivers/net/ethernet/intel/ice/ice_lib.c tlan_ctx->port_num = vsi->port_info->lport; vsi 139 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 147 drivers/net/ethernet/intel/ice/ice_lib.c tlan_ctx->vmvf_num = hw->func_caps.vf_base_id + vsi->vf_id; vsi 155 drivers/net/ethernet/intel/ice/ice_lib.c tlan_ctx->src_vsi = ice_get_hw_vsi_num(hw, vsi->idx); vsi 202 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_ctrl_rx_ring(struct ice_vsi *vsi, bool ena, u16 rxq_idx) vsi 204 drivers/net/ethernet/intel/ice/ice_lib.c int pf_q = vsi->rxq_map[rxq_idx]; vsi 205 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 228 drivers/net/ethernet/intel/ice/ice_lib.c vsi->idx, pf_q, (ena ? "en" : "dis")); vsi 238 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_ctrl_rx_rings(struct ice_vsi *vsi, bool ena) vsi 242 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->num_rxq; i++) { vsi 243 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_ctrl_rx_ring(vsi, ena, i); vsi 258 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_alloc_arrays(struct ice_vsi *vsi) vsi 260 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 263 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tx_rings = devm_kcalloc(&pf->pdev->dev, vsi->alloc_txq, vsi 264 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(*vsi->tx_rings), GFP_KERNEL); vsi 265 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->tx_rings) vsi 268 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rx_rings = devm_kcalloc(&pf->pdev->dev, vsi->alloc_rxq, vsi 269 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(*vsi->rx_rings), GFP_KERNEL); vsi 270 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->rx_rings) vsi 273 drivers/net/ethernet/intel/ice/ice_lib.c vsi->txq_map = devm_kcalloc(&pf->pdev->dev, vsi->alloc_txq, vsi 274 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(*vsi->txq_map), GFP_KERNEL); vsi 276 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->txq_map) vsi 279 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rxq_map = devm_kcalloc(&pf->pdev->dev, vsi->alloc_rxq, vsi 280 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(*vsi->rxq_map), GFP_KERNEL); vsi 281 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->rxq_map) vsi 286 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_LB) vsi 290 drivers/net/ethernet/intel/ice/ice_lib.c vsi->q_vectors = devm_kcalloc(&pf->pdev->dev, vsi->num_q_vectors, vsi 291 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(*vsi->q_vectors), GFP_KERNEL); vsi 292 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->q_vectors) vsi 298 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->rxq_map); vsi 300 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->txq_map); vsi 302 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->rx_rings); vsi 304 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->tx_rings); vsi 312 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_set_num_desc(struct ice_vsi *vsi) vsi 314 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 318 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_rx_desc = ICE_DFLT_NUM_RX_DESC; vsi 319 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_tx_desc = ICE_DFLT_NUM_TX_DESC; vsi 322 drivers/net/ethernet/intel/ice/ice_lib.c dev_dbg(&vsi->back->pdev->dev, vsi 324 drivers/net/ethernet/intel/ice/ice_lib.c vsi->type); vsi 336 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_set_num_qs(struct ice_vsi *vsi, u16 vf_id) vsi 338 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 341 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 342 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vf_id = vf_id; vsi 344 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 346 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_txq = min_t(int, ice_get_avail_txq_count(pf), vsi 349 drivers/net/ethernet/intel/ice/ice_lib.c pf->num_lan_tx = vsi->alloc_txq; vsi 353 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_rxq = 1; vsi 355 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_rxq = min_t(int, ice_get_avail_rxq_count(pf), vsi 358 drivers/net/ethernet/intel/ice/ice_lib.c pf->num_lan_rx = vsi->alloc_rxq; vsi 360 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_q_vectors = max_t(int, vsi->alloc_rxq, vsi->alloc_txq); vsi 363 drivers/net/ethernet/intel/ice/ice_lib.c vf = &pf->vf[vsi->vf_id]; vsi 364 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_txq = vf->num_vf_qs; vsi 365 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_rxq = vf->num_vf_qs; vsi 371 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_q_vectors = pf->num_vf_msix - ICE_NONQ_VECS_VF; vsi 374 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_txq = 1; vsi 375 drivers/net/ethernet/intel/ice/ice_lib.c vsi->alloc_rxq = 1; vsi 378 drivers/net/ethernet/intel/ice/ice_lib.c dev_warn(&pf->pdev->dev, "Unknown VSI type %d\n", vsi->type); vsi 382 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_num_desc(vsi); vsi 418 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_delete(struct ice_vsi *vsi) vsi 420 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 428 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 429 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->vf_num = vsi->vf_id; vsi 430 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->vsi_num = vsi->vsi_num; vsi 432 drivers/net/ethernet/intel/ice/ice_lib.c memcpy(&ctxt->info, &vsi->info, sizeof(ctxt->info)); vsi 434 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_free_vsi(&pf->hw, vsi->idx, ctxt, false, NULL); vsi 437 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num); vsi 446 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_free_arrays(struct ice_vsi *vsi) vsi 448 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 451 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->q_vectors) { vsi 452 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->q_vectors); vsi 453 drivers/net/ethernet/intel/ice/ice_lib.c vsi->q_vectors = NULL; vsi 455 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tx_rings) { vsi 456 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->tx_rings); vsi 457 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tx_rings = NULL; vsi 459 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rx_rings) { vsi 460 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->rx_rings); vsi 461 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rx_rings = NULL; vsi 463 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->txq_map) { vsi 464 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->txq_map); vsi 465 drivers/net/ethernet/intel/ice/ice_lib.c vsi->txq_map = NULL; vsi 467 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rxq_map) { vsi 468 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->rxq_map); vsi 469 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rxq_map = NULL; vsi 482 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_clear(struct ice_vsi *vsi) vsi 486 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi) vsi 489 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->back) vsi 492 drivers/net/ethernet/intel/ice/ice_lib.c pf = vsi->back; vsi 494 drivers/net/ethernet/intel/ice/ice_lib.c if (!pf->vsi[vsi->idx] || pf->vsi[vsi->idx] != vsi) { vsi 496 drivers/net/ethernet/intel/ice/ice_lib.c vsi->idx); vsi 503 drivers/net/ethernet/intel/ice/ice_lib.c pf->vsi[vsi->idx] = NULL; vsi 504 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->idx < pf->next_vsi) vsi 505 drivers/net/ethernet/intel/ice/ice_lib.c pf->next_vsi = vsi->idx; vsi 507 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_arrays(vsi); vsi 509 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi); vsi 542 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_vsi *vsi = NULL; vsi 556 drivers/net/ethernet/intel/ice/ice_lib.c vsi = devm_kzalloc(&pf->pdev->dev, sizeof(*vsi), GFP_KERNEL); vsi 557 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi) vsi 560 drivers/net/ethernet/intel/ice/ice_lib.c vsi->type = type; vsi 561 drivers/net/ethernet/intel/ice/ice_lib.c vsi->back = pf; vsi 562 drivers/net/ethernet/intel/ice/ice_lib.c set_bit(__ICE_DOWN, vsi->state); vsi 564 drivers/net/ethernet/intel/ice/ice_lib.c vsi->idx = pf->next_vsi; vsi 567 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_num_qs(vsi, vf_id); vsi 569 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_num_qs(vsi, ICE_INVAL_VFID); vsi 571 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 573 drivers/net/ethernet/intel/ice/ice_lib.c if (ice_vsi_alloc_arrays(vsi)) vsi 577 drivers/net/ethernet/intel/ice/ice_lib.c vsi->irq_handler = ice_msix_clean_rings; vsi 580 drivers/net/ethernet/intel/ice/ice_lib.c if (ice_vsi_alloc_arrays(vsi)) vsi 584 drivers/net/ethernet/intel/ice/ice_lib.c if (ice_vsi_alloc_arrays(vsi)) vsi 588 drivers/net/ethernet/intel/ice/ice_lib.c dev_warn(&pf->pdev->dev, "Unknown VSI type %d\n", vsi->type); vsi 593 drivers/net/ethernet/intel/ice/ice_lib.c pf->vsi[pf->next_vsi] = vsi; vsi 596 drivers/net/ethernet/intel/ice/ice_lib.c pf->next_vsi = ice_get_free_slot(pf->vsi, pf->num_alloc_vsi, vsi 601 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi); vsi 602 drivers/net/ethernet/intel/ice/ice_lib.c vsi = NULL; vsi 605 drivers/net/ethernet/intel/ice/ice_lib.c return vsi; vsi 696 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_get_qs(struct ice_vsi *vsi) vsi 698 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 703 drivers/net/ethernet/intel/ice/ice_lib.c .q_count = vsi->alloc_txq, vsi 705 drivers/net/ethernet/intel/ice/ice_lib.c .vsi_map = vsi->txq_map, vsi 707 drivers/net/ethernet/intel/ice/ice_lib.c .mapping_mode = vsi->tx_mapping_mode vsi 713 drivers/net/ethernet/intel/ice/ice_lib.c .q_count = vsi->alloc_rxq, vsi 715 drivers/net/ethernet/intel/ice/ice_lib.c .vsi_map = vsi->rxq_map, vsi 717 drivers/net/ethernet/intel/ice/ice_lib.c .mapping_mode = vsi->rx_mapping_mode vsi 721 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tx_mapping_mode = ICE_VSI_MAP_CONTIG; vsi 722 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rx_mapping_mode = ICE_VSI_MAP_CONTIG; vsi 735 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_put_qs(struct ice_vsi *vsi) vsi 737 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 742 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->alloc_txq; i++) { vsi 743 drivers/net/ethernet/intel/ice/ice_lib.c clear_bit(vsi->txq_map[i], pf->avail_txqs); vsi 744 drivers/net/ethernet/intel/ice/ice_lib.c vsi->txq_map[i] = ICE_INVAL_Q_INDEX; vsi 747 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->alloc_rxq; i++) { vsi 748 drivers/net/ethernet/intel/ice/ice_lib.c clear_bit(vsi->rxq_map[i], pf->avail_rxqs); vsi 749 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rxq_map[i] = ICE_INVAL_Q_INDEX; vsi 770 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_rss_clean(struct ice_vsi *vsi) vsi 774 drivers/net/ethernet/intel/ice/ice_lib.c pf = vsi->back; vsi 776 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rss_hkey_user) vsi 777 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->rss_hkey_user); vsi 778 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rss_lut_user) vsi 779 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&pf->pdev->dev, vsi->rss_lut_user); vsi 786 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_set_rss_params(struct ice_vsi *vsi) vsi 789 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 792 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_size = 1; vsi 797 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 800 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_table_size = cap->rss_table_size; vsi 801 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_size = min_t(int, num_online_cpus(), vsi 803 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_lut_type = ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_PF; vsi 809 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_table_size = ICE_VSIQF_HLUT_ARRAY_SIZE; vsi 810 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_size = min_t(int, num_online_cpus(), vsi 812 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_lut_type = ICE_AQC_GSET_RSS_LUT_TABLE_TYPE_VSI; vsi 818 drivers/net/ethernet/intel/ice/ice_lib.c vsi->type); vsi 868 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_setup_q_map(struct ice_vsi *vsi, struct ice_vsi_ctx *ctxt) vsi 871 drivers/net/ethernet/intel/ice/ice_lib.c u16 qcount_tx = vsi->alloc_txq; vsi 872 drivers/net/ethernet/intel/ice/ice_lib.c u16 qcount_rx = vsi->alloc_rxq; vsi 880 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tc_cfg.numtc) { vsi 881 drivers/net/ethernet/intel/ice/ice_lib.c if (!(vsi->tc_cfg.ena_tc & BIT(0))) vsi 888 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.numtc++; vsi 889 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.ena_tc |= 1; vsi 892 drivers/net/ethernet/intel/ice/ice_lib.c rx_numq_tc = qcount_rx / vsi->tc_cfg.numtc; vsi 895 drivers/net/ethernet/intel/ice/ice_lib.c tx_numq_tc = qcount_tx / vsi->tc_cfg.numtc; vsi 914 drivers/net/ethernet/intel/ice/ice_lib.c if (test_bit(ICE_FLAG_RSS_ENA, vsi->back->flags)) { vsi 915 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_PF || vsi->type == ICE_VSI_VF) { vsi 916 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_PF) vsi 921 drivers/net/ethernet/intel/ice/ice_lib.c qcount_rx = min_t(int, qcount_rx, vsi->rss_size); vsi 929 drivers/net/ethernet/intel/ice/ice_lib.c if (!(vsi->tc_cfg.ena_tc & BIT(i))) { vsi 931 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].qoffset = 0; vsi 932 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].qcount_rx = 1; vsi 933 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].qcount_tx = 1; vsi 934 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].netdev_tc = 0; vsi 940 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].qoffset = offset; vsi 941 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].qcount_rx = qcount_rx; vsi 942 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].qcount_tx = tx_numq_tc; vsi 943 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.tc_info[i].netdev_tc = netdev_tc++; vsi 961 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_rxq = offset; vsi 963 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_rxq = qcount_rx; vsi 965 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_txq = tx_count; vsi 967 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF && vsi->num_txq != vsi->num_rxq) { vsi 968 drivers/net/ethernet/intel/ice/ice_lib.c dev_dbg(&vsi->back->pdev->dev, "VF VSI should have same number of Tx and Rx queues. Hence making them equal\n"); vsi 972 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_txq = vsi->num_rxq; vsi 981 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->info.q_mapping[0] = cpu_to_le16(vsi->rxq_map[0]); vsi 982 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->info.q_mapping[1] = cpu_to_le16(vsi->num_rxq); vsi 990 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_set_rss_vsi_ctx(struct ice_vsi_ctx *ctxt, struct ice_vsi *vsi) vsi 995 drivers/net/ethernet/intel/ice/ice_lib.c pf = vsi->back; vsi 997 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 1009 drivers/net/ethernet/intel/ice/ice_lib.c dev_dbg(&pf->pdev->dev, "Unsupported VSI type %d\n", vsi->type); vsi 1012 drivers/net/ethernet/intel/ice/ice_lib.c dev_warn(&pf->pdev->dev, "Unknown VSI type %d\n", vsi->type); vsi 1029 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_init(struct ice_vsi *vsi) vsi 1031 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1040 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->info = vsi->info; vsi 1041 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 1050 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->vf_num = vsi->vf_id + hw->func_caps.vf_base_id; vsi 1058 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->vsw->bridge_mode == BRIDGE_MODE_VEB) vsi 1063 drivers/net/ethernet/intel/ice/ice_lib.c ice_set_rss_vsi_ctx(ctxt, vsi); vsi 1065 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->info.sw_id = vsi->port_info->sw_id; vsi 1066 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_setup_q_map(vsi, ctxt); vsi 1069 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF && pf->vf[vsi->vf_id].spoofchk) { vsi 1077 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_PF) { vsi 1083 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_add_vsi(hw, vsi->idx, ctxt, NULL); vsi 1091 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info = ctxt->info; vsi 1094 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num = ctxt->vsi_num; vsi 1105 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_free_q_vector(struct ice_vsi *vsi, int v_idx) vsi 1108 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1111 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->q_vectors[v_idx]) { vsi 1116 drivers/net/ethernet/intel/ice/ice_lib.c q_vector = vsi->q_vectors[v_idx]; vsi 1124 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->netdev) vsi 1128 drivers/net/ethernet/intel/ice/ice_lib.c vsi->q_vectors[v_idx] = NULL; vsi 1135 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_free_q_vectors(struct ice_vsi *vsi) vsi 1139 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, v_idx) vsi 1140 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_q_vector(vsi, v_idx); vsi 1150 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, int v_idx) vsi 1152 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1160 drivers/net/ethernet/intel/ice/ice_lib.c q_vector->vsi = vsi; vsi 1162 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 1172 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->netdev) vsi 1173 drivers/net/ethernet/intel/ice/ice_lib.c netif_napi_add(vsi->netdev, &q_vector->napi, ice_napi_poll, vsi 1178 drivers/net/ethernet/intel/ice/ice_lib.c vsi->q_vectors[v_idx] = q_vector; vsi 1190 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_alloc_q_vectors(struct ice_vsi *vsi) vsi 1192 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1196 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->q_vectors[0]) { vsi 1198 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num); vsi 1202 drivers/net/ethernet/intel/ice/ice_lib.c num_q_vectors = vsi->num_q_vectors; vsi 1205 drivers/net/ethernet/intel/ice/ice_lib.c err = ice_vsi_alloc_q_vector(vsi, v_idx); vsi 1214 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_q_vector(vsi, v_idx); vsi 1218 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_q_vectors, vsi->vsi_num, err); vsi 1219 drivers/net/ethernet/intel/ice/ice_lib.c vsi->num_q_vectors = 0; vsi 1233 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_setup_vector_base(struct ice_vsi *vsi) vsi 1235 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1239 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 1242 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->base_vector) { vsi 1244 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num, vsi->base_vector); vsi 1248 drivers/net/ethernet/intel/ice/ice_lib.c num_q_vectors = vsi->num_q_vectors; vsi 1250 drivers/net/ethernet/intel/ice/ice_lib.c vsi->base_vector = ice_get_res(pf, pf->irq_tracker, num_q_vectors, vsi 1251 drivers/net/ethernet/intel/ice/ice_lib.c vsi->idx); vsi 1252 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->base_vector < 0) { vsi 1255 drivers/net/ethernet/intel/ice/ice_lib.c num_q_vectors, vsi->vsi_num, vsi->base_vector); vsi 1267 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_clear_rings(struct ice_vsi *vsi) vsi 1271 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tx_rings) { vsi 1272 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->alloc_txq; i++) { vsi 1273 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tx_rings[i]) { vsi 1274 drivers/net/ethernet/intel/ice/ice_lib.c kfree_rcu(vsi->tx_rings[i], rcu); vsi 1275 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tx_rings[i] = NULL; vsi 1279 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rx_rings) { vsi 1280 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->alloc_rxq; i++) { vsi 1281 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rx_rings[i]) { vsi 1282 drivers/net/ethernet/intel/ice/ice_lib.c kfree_rcu(vsi->rx_rings[i], rcu); vsi 1283 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rx_rings[i] = NULL; vsi 1293 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_alloc_rings(struct ice_vsi *vsi) vsi 1295 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1299 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->alloc_txq; i++) { vsi 1309 drivers/net/ethernet/intel/ice/ice_lib.c ring->reg_idx = vsi->txq_map[i]; vsi 1311 drivers/net/ethernet/intel/ice/ice_lib.c ring->vsi = vsi; vsi 1313 drivers/net/ethernet/intel/ice/ice_lib.c ring->count = vsi->num_tx_desc; vsi 1314 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tx_rings[i] = ring; vsi 1318 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->alloc_rxq; i++) { vsi 1327 drivers/net/ethernet/intel/ice/ice_lib.c ring->reg_idx = vsi->rxq_map[i]; vsi 1329 drivers/net/ethernet/intel/ice/ice_lib.c ring->vsi = vsi; vsi 1330 drivers/net/ethernet/intel/ice/ice_lib.c ring->netdev = vsi->netdev; vsi 1332 drivers/net/ethernet/intel/ice/ice_lib.c ring->count = vsi->num_rx_desc; vsi 1333 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rx_rings[i] = ring; vsi 1339 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_clear_rings(vsi); vsi 1352 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_map_rings_to_vectors(struct ice_vsi *vsi) vsi 1354 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_map_rings_to_vectors(struct ice_vsi *vsi) vsi 1357 drivers/net/ethernet/intel/ice/ice_lib.c int q_vectors = vsi->num_q_vectors; vsi 1362 drivers/net/ethernet/intel/ice/ice_lib.c tx_rings_rem = vsi->num_txq; vsi 1363 drivers/net/ethernet/intel/ice/ice_lib.c rx_rings_rem = vsi->num_rxq; vsi 1366 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_q_vector *q_vector = vsi->q_vectors[v_id]; vsi 1374 drivers/net/ethernet/intel/ice/ice_lib.c q_base = vsi->num_txq - tx_rings_rem; vsi 1377 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_ring *tx_ring = vsi->tx_rings[q_id]; vsi 1390 drivers/net/ethernet/intel/ice/ice_lib.c q_base = vsi->num_rxq - rx_rings_rem; vsi 1393 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_ring *rx_ring = vsi->rx_rings[q_id]; vsi 1412 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_manage_rss_lut(struct ice_vsi *vsi, bool ena) vsi 1417 drivers/net/ethernet/intel/ice/ice_lib.c lut = devm_kzalloc(&vsi->back->pdev->dev, vsi->rss_table_size, vsi 1423 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rss_lut_user) vsi 1424 drivers/net/ethernet/intel/ice/ice_lib.c memcpy(lut, vsi->rss_lut_user, vsi->rss_table_size); vsi 1426 drivers/net/ethernet/intel/ice/ice_lib.c ice_fill_rss_lut(lut, vsi->rss_table_size, vsi 1427 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_size); vsi 1430 drivers/net/ethernet/intel/ice/ice_lib.c err = ice_set_rss(vsi, NULL, lut, vsi->rss_table_size); vsi 1431 drivers/net/ethernet/intel/ice/ice_lib.c devm_kfree(&vsi->back->pdev->dev, lut); vsi 1439 drivers/net/ethernet/intel/ice/ice_lib.c static int ice_vsi_cfg_rss_lut_key(struct ice_vsi *vsi) vsi 1442 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1447 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_size = min_t(int, vsi->rss_size, vsi->num_rxq); vsi 1449 drivers/net/ethernet/intel/ice/ice_lib.c lut = devm_kzalloc(&pf->pdev->dev, vsi->rss_table_size, GFP_KERNEL); vsi 1453 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rss_lut_user) vsi 1454 drivers/net/ethernet/intel/ice/ice_lib.c memcpy(lut, vsi->rss_lut_user, vsi->rss_table_size); vsi 1456 drivers/net/ethernet/intel/ice/ice_lib.c ice_fill_rss_lut(lut, vsi->rss_table_size, vsi->rss_size); vsi 1458 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_aq_set_rss_lut(&pf->hw, vsi->idx, vsi->rss_lut_type, lut, vsi 1459 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rss_table_size); vsi 1474 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rss_hkey_user) vsi 1476 drivers/net/ethernet/intel/ice/ice_lib.c (struct ice_aqc_get_set_rss_keys *)vsi->rss_hkey_user, vsi 1482 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_aq_set_rss_key(&pf->hw, vsi->idx, key); vsi 1506 drivers/net/ethernet/intel/ice/ice_lib.c int ice_add_mac_to_list(struct ice_vsi *vsi, struct list_head *add_list, vsi 1510 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1520 drivers/net/ethernet/intel/ice/ice_lib.c tmp->fltr_info.vsi_handle = vsi->idx; vsi 1533 drivers/net/ethernet/intel/ice/ice_lib.c void ice_update_eth_stats(struct ice_vsi *vsi) vsi 1536 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_hw *hw = &vsi->back->hw; vsi 1537 drivers/net/ethernet/intel/ice/ice_lib.c u16 vsi_num = vsi->vsi_num; /* HW absolute index of a VSI */ vsi 1539 drivers/net/ethernet/intel/ice/ice_lib.c prev_es = &vsi->eth_stats_prev; vsi 1540 drivers/net/ethernet/intel/ice/ice_lib.c cur_es = &vsi->eth_stats; vsi 1542 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_GORCL(vsi_num), vsi->stat_offsets_loaded, vsi 1545 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_UPRCL(vsi_num), vsi->stat_offsets_loaded, vsi 1548 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_MPRCL(vsi_num), vsi->stat_offsets_loaded, vsi 1551 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_BPRCL(vsi_num), vsi->stat_offsets_loaded, vsi 1554 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update32(hw, GLV_RDPC(vsi_num), vsi->stat_offsets_loaded, vsi 1557 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_GOTCL(vsi_num), vsi->stat_offsets_loaded, vsi 1560 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_UPTCL(vsi_num), vsi->stat_offsets_loaded, vsi 1563 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_MPTCL(vsi_num), vsi->stat_offsets_loaded, vsi 1566 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update40(hw, GLV_BPTCL(vsi_num), vsi->stat_offsets_loaded, vsi 1569 drivers/net/ethernet/intel/ice/ice_lib.c ice_stat_update32(hw, GLV_TEPC(vsi_num), vsi->stat_offsets_loaded, vsi 1572 drivers/net/ethernet/intel/ice/ice_lib.c vsi->stat_offsets_loaded = true; vsi 1598 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_add_vlan(struct ice_vsi *vsi, u16 vid) vsi 1601 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1614 drivers/net/ethernet/intel/ice/ice_lib.c tmp->fltr_info.vsi_handle = vsi->idx; vsi 1624 drivers/net/ethernet/intel/ice/ice_lib.c vid, vsi->vsi_num); vsi 1638 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_kill_vlan(struct ice_vsi *vsi, u16 vid) vsi 1641 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1651 drivers/net/ethernet/intel/ice/ice_lib.c list->fltr_info.vsi_handle = vsi->idx; vsi 1664 drivers/net/ethernet/intel/ice/ice_lib.c vid, vsi->vsi_num, status); vsi 1668 drivers/net/ethernet/intel/ice/ice_lib.c vid, vsi->vsi_num, status); vsi 1683 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_cfg_rxqs(struct ice_vsi *vsi) vsi 1687 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 1690 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->netdev && vsi->netdev->mtu > ETH_DATA_LEN) vsi 1691 drivers/net/ethernet/intel/ice/ice_lib.c vsi->max_frame = vsi->netdev->mtu + vsi 1694 drivers/net/ethernet/intel/ice/ice_lib.c vsi->max_frame = ICE_RXBUF_2048; vsi 1696 drivers/net/ethernet/intel/ice/ice_lib.c vsi->rx_buf_len = ICE_RXBUF_2048; vsi 1699 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->num_rxq; i++) { vsi 1702 drivers/net/ethernet/intel/ice/ice_lib.c err = ice_setup_rx_ctx(vsi->rx_rings[i]); vsi 1704 drivers/net/ethernet/intel/ice/ice_lib.c dev_err(&vsi->back->pdev->dev, vsi 1723 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_txq(struct ice_vsi *vsi, struct ice_ring *ring, u16 tc_q_idx, vsi 1728 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1750 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_ena_vsi_txq(vsi->port_info, vsi->idx, tc, ring->q_handle, vsi 1780 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_txqs(struct ice_vsi *vsi, struct ice_ring **rings, int offset) vsi 1783 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1796 drivers/net/ethernet/intel/ice/ice_lib.c if (!(vsi->tc_cfg.ena_tc & BIT(tc))) vsi 1799 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->tc_cfg.tc_info[tc].qcount_tx; i++) { vsi 1800 drivers/net/ethernet/intel/ice/ice_lib.c err = ice_vsi_cfg_txq(vsi, rings[q_idx], i + offset, vsi 1820 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_cfg_lan_txqs(struct ice_vsi *vsi) vsi 1822 drivers/net/ethernet/intel/ice/ice_lib.c return ice_vsi_cfg_txqs(vsi, vsi->tx_rings, 0); vsi 1927 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx) vsi 1930 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx) vsi 1933 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1942 drivers/net/ethernet/intel/ice/ice_lib.c wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), val); vsi 1957 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_rxq_interrupt(struct ice_vsi *vsi, u16 rxq, u16 msix_idx, u16 itr_idx) vsi 1960 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_rxq_interrupt(struct ice_vsi *vsi, u16 rxq, u16 msix_idx, u16 itr_idx) vsi 1963 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1972 drivers/net/ethernet/intel/ice/ice_lib.c wr32(hw, QINT_RQCTL(vsi->rxq_map[rxq]), val); vsi 1984 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_cfg_msix(struct ice_vsi *vsi) vsi 1986 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 1991 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->num_q_vectors; i++) { vsi 1992 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_q_vector *q_vector = vsi->q_vectors[i]; vsi 2012 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_txq_interrupt(vsi, txq, reg_idx, vsi 2018 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_rxq_interrupt(vsi, rxq, reg_idx, vsi 2029 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_manage_vlan_insertion(struct ice_vsi *vsi) vsi 2031 drivers/net/ethernet/intel/ice/ice_lib.c struct device *dev = &vsi->back->pdev->dev; vsi 2032 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_hw *hw = &vsi->back->hw; vsi 2048 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->info.vlan_flags |= (vsi->info.vlan_flags & vsi 2053 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_update_vsi(hw, vsi->idx, ctxt, NULL); vsi 2061 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info.vlan_flags = ctxt->info.vlan_flags; vsi 2072 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_manage_vlan_stripping(struct ice_vsi *vsi, bool ena) vsi 2074 drivers/net/ethernet/intel/ice/ice_lib.c struct device *dev = &vsi->back->pdev->dev; vsi 2075 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_hw *hw = &vsi->back->hw; vsi 2100 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_update_vsi(hw, vsi->idx, ctxt, NULL); vsi 2108 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info.vlan_flags = ctxt->info.vlan_flags; vsi 2120 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_start_rx_rings(struct ice_vsi *vsi) vsi 2122 drivers/net/ethernet/intel/ice/ice_lib.c return ice_vsi_ctrl_rx_rings(vsi, true); vsi 2131 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_stop_rx_rings(struct ice_vsi *vsi) vsi 2133 drivers/net/ethernet/intel/ice/ice_lib.c return ice_vsi_ctrl_rx_rings(vsi, false); vsi 2161 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_stop_tx_ring(struct ice_vsi *vsi, enum ice_disq_rst_src rst_src, vsi 2165 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 2186 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_dis_vsi_txq(vsi->port_info, txq_meta->vsi_idx, vsi 2197 drivers/net/ethernet/intel/ice/ice_lib.c dev_dbg(&vsi->back->pdev->dev, vsi 2200 drivers/net/ethernet/intel/ice/ice_lib.c dev_dbg(&vsi->back->pdev->dev, vsi 2203 drivers/net/ethernet/intel/ice/ice_lib.c dev_err(&vsi->back->pdev->dev, vsi 2224 drivers/net/ethernet/intel/ice/ice_lib.c ice_fill_txq_meta(struct ice_vsi *vsi, struct ice_ring *ring, vsi 2235 drivers/net/ethernet/intel/ice/ice_lib.c txq_meta->vsi_idx = vsi->idx; vsi 2247 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_stop_tx_rings(struct ice_vsi *vsi, enum ice_disq_rst_src rst_src, vsi 2254 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->num_txq > ICE_LAN_TXQ_MAX_QDIS) vsi 2259 drivers/net/ethernet/intel/ice/ice_lib.c if (!(vsi->tc_cfg.ena_tc & BIT(tc))) vsi 2262 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->tc_cfg.tc_info[tc].qcount_tx; i++) { vsi 2268 drivers/net/ethernet/intel/ice/ice_lib.c ice_fill_txq_meta(vsi, rings[q_idx], &txq_meta); vsi 2269 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_vsi_stop_tx_ring(vsi, rst_src, vsi 2290 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_stop_lan_tx_rings(struct ice_vsi *vsi, enum ice_disq_rst_src rst_src, vsi 2293 drivers/net/ethernet/intel/ice/ice_lib.c return ice_vsi_stop_tx_rings(vsi, rst_src, rel_vmvf_num, vsi->tx_rings); vsi 2304 drivers/net/ethernet/intel/ice/ice_lib.c int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena, bool vlan_promisc) vsi 2311 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi) vsi 2314 drivers/net/ethernet/intel/ice/ice_lib.c pf = vsi->back; vsi 2320 drivers/net/ethernet/intel/ice/ice_lib.c ctxt->info = vsi->info; vsi 2339 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_update_vsi(&pf->hw, vsi->idx, ctxt, NULL); vsi 2341 drivers/net/ethernet/intel/ice/ice_lib.c netdev_err(vsi->netdev, "%sabling VLAN pruning on VSI handle: %d, VSI HW ID: %d failed, err = %d, aq_err = %d\n", vsi 2342 drivers/net/ethernet/intel/ice/ice_lib.c ena ? "En" : "Dis", vsi->idx, vsi->vsi_num, status, vsi 2347 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info.sec_flags = ctxt->info.sec_flags; vsi 2348 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info.sw_flags2 = ctxt->info.sw_flags2; vsi 2358 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_set_tc_cfg(struct ice_vsi *vsi) vsi 2360 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_dcbx_cfg *cfg = &vsi->port_info->local_dcbx_cfg; vsi 2362 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.ena_tc = ice_dcb_get_ena_tc(cfg); vsi 2363 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.numtc = ice_dcb_get_num_tc(cfg); vsi 2371 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_q_vectors_reg_idx(struct ice_vsi *vsi) vsi 2375 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi || !vsi->q_vectors) vsi 2378 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, i) { vsi 2379 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_q_vector *q_vector = vsi->q_vectors[i]; vsi 2382 drivers/net/ethernet/intel/ice/ice_lib.c dev_err(&vsi->back->pdev->dev, vsi 2384 drivers/net/ethernet/intel/ice/ice_lib.c i, vsi->vsi_num); vsi 2388 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) { vsi 2389 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_vf *vf = &vsi->back->vf[vsi->vf_id]; vsi 2394 drivers/net/ethernet/intel/ice/ice_lib.c q_vector->v_idx + vsi->base_vector; vsi 2401 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, i) { vsi 2402 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_q_vector *q_vector = vsi->q_vectors[i]; vsi 2417 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_add_rem_eth_mac(struct ice_vsi *vsi, bool add_rule) vsi 2420 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 2432 drivers/net/ethernet/intel/ice/ice_lib.c list->fltr_info.vsi_handle = vsi->idx; vsi 2433 drivers/net/ethernet/intel/ice/ice_lib.c list->fltr_info.l_data.ethertype_mac.ethertype = vsi->ethtype; vsi 2446 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num, status); vsi 2457 drivers/net/ethernet/intel/ice/ice_lib.c void ice_cfg_sw_lldp(struct ice_vsi *vsi, bool tx, bool create) vsi 2460 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 2469 drivers/net/ethernet/intel/ice/ice_lib.c list->fltr_info.vsi_handle = vsi->idx; vsi 2494 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num, status); vsi 2520 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_vsi *vsi; vsi 2524 drivers/net/ethernet/intel/ice/ice_lib.c vsi = ice_vsi_alloc(pf, type, vf_id); vsi 2526 drivers/net/ethernet/intel/ice/ice_lib.c vsi = ice_vsi_alloc(pf, type, ICE_INVAL_VFID); vsi 2528 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi) { vsi 2533 drivers/net/ethernet/intel/ice/ice_lib.c vsi->port_info = pi; vsi 2534 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsw = pf->first_sw; vsi 2535 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_PF) vsi 2536 drivers/net/ethernet/intel/ice/ice_lib.c vsi->ethtype = ETH_P_PAUSE; vsi 2538 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 2539 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vf_id = vf_id; vsi 2541 drivers/net/ethernet/intel/ice/ice_lib.c if (ice_vsi_get_qs(vsi)) { vsi 2543 drivers/net/ethernet/intel/ice/ice_lib.c vsi->idx); vsi 2548 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_rss_params(vsi); vsi 2551 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_tc_cfg(vsi); vsi 2554 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_init(vsi); vsi 2558 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 2560 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_q_vectors(vsi); vsi 2564 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_setup_vector_base(vsi); vsi 2568 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_set_q_vectors_reg_idx(vsi); vsi 2572 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_rings(vsi); vsi 2576 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_map_rings_to_vectors(vsi); vsi 2583 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_rss_lut_key(vsi); vsi 2591 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_q_vectors(vsi); vsi 2595 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_rings(vsi); vsi 2599 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_set_q_vectors_reg_idx(vsi); vsi 2608 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_rss_lut_key(vsi); vsi 2611 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_rings(vsi); vsi 2621 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->tc_cfg.numtc; i++) vsi 2622 drivers/net/ethernet/intel/ice/ice_lib.c max_txqs[i] = vsi->alloc_txq; vsi 2624 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_cfg_vsi_lan(vsi->port_info, vsi->idx, vsi->tc_cfg.ena_tc, vsi 2629 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num, status); vsi 2644 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_PF) { vsi 2645 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_add_rem_eth_mac(vsi, true); vsi 2648 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_sw_lldp(vsi, true, true); vsi 2652 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_sw_lldp(vsi, false, true); vsi 2656 drivers/net/ethernet/intel/ice/ice_lib.c return vsi; vsi 2660 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_res(pf->irq_tracker, vsi->base_vector, vsi->idx); vsi 2661 drivers/net/ethernet/intel/ice/ice_lib.c pf->num_avail_sw_msix += vsi->num_q_vectors; vsi 2663 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_q_vectors(vsi); vsi 2665 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_delete(vsi); vsi 2667 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_put_qs(vsi); vsi 2668 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_clear(vsi); vsi 2677 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_release_msix(struct ice_vsi *vsi) vsi 2679 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 2685 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->num_q_vectors; i++) { vsi 2686 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_q_vector *q_vector = vsi->q_vectors[i]; vsi 2692 drivers/net/ethernet/intel/ice/ice_lib.c wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), 0); vsi 2697 drivers/net/ethernet/intel/ice/ice_lib.c wr32(hw, QINT_RQCTL(vsi->rxq_map[rxq]), 0); vsi 2709 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_free_irq(struct ice_vsi *vsi) vsi 2711 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 2712 drivers/net/ethernet/intel/ice/ice_lib.c int base = vsi->base_vector; vsi 2715 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->q_vectors || !vsi->irqs_ready) vsi 2718 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_release_msix(vsi); vsi 2719 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 2722 drivers/net/ethernet/intel/ice/ice_lib.c vsi->irqs_ready = false; vsi 2723 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, i) { vsi 2730 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->q_vectors[i] || vsi 2731 drivers/net/ethernet/intel/ice/ice_lib.c !(vsi->q_vectors[i]->num_ring_tx || vsi 2732 drivers/net/ethernet/intel/ice/ice_lib.c vsi->q_vectors[i]->num_ring_rx)) vsi 2742 drivers/net/ethernet/intel/ice/ice_lib.c vsi->q_vectors[i]); vsi 2750 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_free_tx_rings(struct ice_vsi *vsi) vsi 2754 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->tx_rings) vsi 2757 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_txq(vsi, i) vsi 2758 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tx_rings[i] && vsi->tx_rings[i]->desc) vsi 2759 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_tx_ring(vsi->tx_rings[i]); vsi 2766 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_free_rx_rings(struct ice_vsi *vsi) vsi 2770 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->rx_rings) vsi 2773 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_rxq(vsi, i) vsi 2774 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rx_rings[i] && vsi->rx_rings[i]->desc) vsi 2775 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_rx_ring(vsi->rx_rings[i]); vsi 2782 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_close(struct ice_vsi *vsi) vsi 2784 drivers/net/ethernet/intel/ice/ice_lib.c if (!test_and_set_bit(__ICE_DOWN, vsi->state)) vsi 2785 drivers/net/ethernet/intel/ice/ice_lib.c ice_down(vsi); vsi 2787 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_irq(vsi); vsi 2788 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_tx_rings(vsi); vsi 2789 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_rx_rings(vsi); vsi 2885 drivers/net/ethernet/intel/ice/ice_lib.c void ice_vsi_dis_irq(struct ice_vsi *vsi) vsi 2887 drivers/net/ethernet/intel/ice/ice_lib.c int base = vsi->base_vector; vsi 2888 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 2894 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tx_rings) { vsi 2895 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_txq(vsi, i) { vsi 2896 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->tx_rings[i]) { vsi 2899 drivers/net/ethernet/intel/ice/ice_lib.c reg = vsi->tx_rings[i]->reg_idx; vsi 2907 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rx_rings) { vsi 2908 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_rxq(vsi, i) { vsi 2909 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->rx_rings[i]) { vsi 2912 drivers/net/ethernet/intel/ice/ice_lib.c reg = vsi->rx_rings[i]->reg_idx; vsi 2921 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, i) { vsi 2922 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->q_vectors[i]) vsi 2924 drivers/net/ethernet/intel/ice/ice_lib.c wr32(hw, GLINT_DYN_CTL(vsi->q_vectors[i]->reg_idx), 0); vsi 2930 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 2933 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, i) vsi 2941 drivers/net/ethernet/intel/ice/ice_lib.c void ice_napi_del(struct ice_vsi *vsi) vsi 2945 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->netdev) vsi 2948 drivers/net/ethernet/intel/ice/ice_lib.c ice_for_each_q_vector(vsi, v_idx) vsi 2949 drivers/net/ethernet/intel/ice/ice_lib.c netif_napi_del(&vsi->q_vectors[v_idx]->napi); vsi 2958 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_release(struct ice_vsi *vsi) vsi 2962 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi->back) vsi 2964 drivers/net/ethernet/intel/ice/ice_lib.c pf = vsi->back; vsi 2972 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->netdev && !ice_is_reset_in_progress(pf->state)) vsi 2973 drivers/net/ethernet/intel/ice/ice_lib.c unregister_netdev(vsi->netdev); vsi 2976 drivers/net/ethernet/intel/ice/ice_lib.c ice_rss_clean(vsi); vsi 2979 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type != ICE_VSI_LB) vsi 2980 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_dis_irq(vsi); vsi 2981 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_close(vsi); vsi 2988 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type != ICE_VSI_VF) { vsi 2990 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_res(pf->irq_tracker, vsi->base_vector, vsi->idx); vsi 2991 drivers/net/ethernet/intel/ice/ice_lib.c pf->num_avail_sw_msix += vsi->num_q_vectors; vsi 2995 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_PF) { vsi 2996 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_add_rem_eth_mac(vsi, false); vsi 2997 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_sw_lldp(vsi, true, false); vsi 3002 drivers/net/ethernet/intel/ice/ice_lib.c ice_cfg_sw_lldp(vsi, false, false); vsi 3006 drivers/net/ethernet/intel/ice/ice_lib.c ice_remove_vsi_fltr(&pf->hw, vsi->idx); vsi 3007 drivers/net/ethernet/intel/ice/ice_lib.c ice_rm_vsi_lan_cfg(vsi->port_info, vsi->idx); vsi 3008 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_delete(vsi); vsi 3009 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_q_vectors(vsi); vsi 3012 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->netdev && test_bit(__ICE_DOWN, vsi->state)) { vsi 3013 drivers/net/ethernet/intel/ice/ice_lib.c free_netdev(vsi->netdev); vsi 3014 drivers/net/ethernet/intel/ice/ice_lib.c vsi->netdev = NULL; vsi 3017 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_clear_rings(vsi); vsi 3019 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_put_qs(vsi); vsi 3026 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_clear(vsi); vsi 3037 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_rebuild(struct ice_vsi *vsi) vsi 3045 drivers/net/ethernet/intel/ice/ice_lib.c if (!vsi) vsi 3048 drivers/net/ethernet/intel/ice/ice_lib.c pf = vsi->back; vsi 3049 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 3050 drivers/net/ethernet/intel/ice/ice_lib.c vf = &pf->vf[vsi->vf_id]; vsi 3052 drivers/net/ethernet/intel/ice/ice_lib.c ice_rm_vsi_lan_cfg(vsi->port_info, vsi->idx); vsi 3053 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_q_vectors(vsi); vsi 3060 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type != ICE_VSI_VF) { vsi 3062 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_res(pf->irq_tracker, vsi->base_vector, vsi->idx); vsi 3063 drivers/net/ethernet/intel/ice/ice_lib.c pf->num_avail_sw_msix += vsi->num_q_vectors; vsi 3064 drivers/net/ethernet/intel/ice/ice_lib.c vsi->base_vector = 0; vsi 3067 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_put_qs(vsi); vsi 3068 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_clear_rings(vsi); vsi 3069 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_arrays(vsi); vsi 3071 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->type == ICE_VSI_VF) vsi 3072 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_num_qs(vsi, vf->vf_id); vsi 3074 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_num_qs(vsi, ICE_INVAL_VFID); vsi 3076 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_arrays(vsi); vsi 3080 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_get_qs(vsi); vsi 3081 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_set_tc_cfg(vsi); vsi 3084 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_init(vsi); vsi 3089 drivers/net/ethernet/intel/ice/ice_lib.c switch (vsi->type) { vsi 3091 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_q_vectors(vsi); vsi 3095 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_setup_vector_base(vsi); vsi 3099 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_set_q_vectors_reg_idx(vsi); vsi 3103 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_rings(vsi); vsi 3107 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_map_rings_to_vectors(vsi); vsi 3113 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_rss_lut_key(vsi); vsi 3116 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_q_vectors(vsi); vsi 3120 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_set_q_vectors_reg_idx(vsi); vsi 3124 drivers/net/ethernet/intel/ice/ice_lib.c ret = ice_vsi_alloc_rings(vsi); vsi 3134 drivers/net/ethernet/intel/ice/ice_lib.c for (i = 0; i < vsi->tc_cfg.numtc; i++) vsi 3135 drivers/net/ethernet/intel/ice/ice_lib.c max_txqs[i] = vsi->alloc_txq; vsi 3137 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_cfg_vsi_lan(vsi->port_info, vsi->idx, vsi->tc_cfg.ena_tc, vsi 3142 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num, status); vsi 3148 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_free_q_vectors(vsi); vsi 3150 drivers/net/ethernet/intel/ice/ice_lib.c if (vsi->netdev) { vsi 3151 drivers/net/ethernet/intel/ice/ice_lib.c vsi->current_netdev_flags = 0; vsi 3152 drivers/net/ethernet/intel/ice/ice_lib.c unregister_netdev(vsi->netdev); vsi 3153 drivers/net/ethernet/intel/ice/ice_lib.c free_netdev(vsi->netdev); vsi 3154 drivers/net/ethernet/intel/ice/ice_lib.c vsi->netdev = NULL; vsi 3157 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_clear(vsi); vsi 3180 drivers/net/ethernet/intel/ice/ice_lib.c static void ice_vsi_update_q_map(struct ice_vsi *vsi, struct ice_vsi_ctx *ctx) vsi 3182 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info.mapping_flags = ctx->info.mapping_flags; vsi 3183 drivers/net/ethernet/intel/ice/ice_lib.c memcpy(&vsi->info.q_mapping, &ctx->info.q_mapping, vsi 3184 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(vsi->info.q_mapping)); vsi 3185 drivers/net/ethernet/intel/ice/ice_lib.c memcpy(&vsi->info.tc_mapping, ctx->info.tc_mapping, vsi 3186 drivers/net/ethernet/intel/ice/ice_lib.c sizeof(vsi->info.tc_mapping)); vsi 3196 drivers/net/ethernet/intel/ice/ice_lib.c int ice_vsi_cfg_tc(struct ice_vsi *vsi, u8 ena_tc) vsi 3200 drivers/net/ethernet/intel/ice/ice_lib.c struct ice_pf *pf = vsi->back; vsi 3210 drivers/net/ethernet/intel/ice/ice_lib.c max_txqs[i] = vsi->alloc_txq; vsi 3213 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.ena_tc = ena_tc; vsi 3214 drivers/net/ethernet/intel/ice/ice_lib.c vsi->tc_cfg.numtc = num_tc; vsi 3221 drivers/net/ethernet/intel/ice/ice_lib.c ctx->info = vsi->info; vsi 3223 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_setup_q_map(vsi, ctx); vsi 3227 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_update_vsi(&pf->hw, vsi->idx, ctx, NULL); vsi 3234 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_cfg_vsi_lan(vsi->port_info, vsi->idx, vsi->tc_cfg.ena_tc, vsi 3240 drivers/net/ethernet/intel/ice/ice_lib.c vsi->vsi_num, status); vsi 3244 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_update_q_map(vsi, ctx); vsi 3245 drivers/net/ethernet/intel/ice/ice_lib.c vsi->info.valid_sections = 0; vsi 3247 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_netdev_tc(vsi, ena_tc); vsi 3282 drivers/net/ethernet/intel/ice/ice_lib.c ice_vsi_cfg_mac_fltr(struct ice_vsi *vsi, const u8 *macaddr, bool set) vsi 3288 drivers/net/ethernet/intel/ice/ice_lib.c if (ice_add_mac_to_list(vsi, &tmp_add_list, macaddr)) { vsi 3294 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_add_mac(&vsi->back->hw, &tmp_add_list); vsi 3296 drivers/net/ethernet/intel/ice/ice_lib.c status = ice_remove_mac(&vsi->back->hw, &tmp_add_list); vsi 3299 drivers/net/ethernet/intel/ice/ice_lib.c ice_free_fltr_list(&vsi->back->pdev->dev, &tmp_add_list); vsi 23 drivers/net/ethernet/intel/ice/ice_lib.h ice_add_mac_to_list(struct ice_vsi *vsi, struct list_head *add_list, vsi 28 drivers/net/ethernet/intel/ice/ice_lib.h void ice_update_eth_stats(struct ice_vsi *vsi); vsi 30 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_cfg_rxqs(struct ice_vsi *vsi); vsi 32 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_cfg_lan_txqs(struct ice_vsi *vsi); vsi 34 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_cfg_msix(struct ice_vsi *vsi); vsi 38 drivers/net/ethernet/intel/ice/ice_lib.h ice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx); vsi 41 drivers/net/ethernet/intel/ice/ice_lib.h ice_cfg_rxq_interrupt(struct ice_vsi *vsi, u16 rxq, u16 msix_idx, u16 itr_idx); vsi 44 drivers/net/ethernet/intel/ice/ice_lib.h ice_vsi_stop_tx_ring(struct ice_vsi *vsi, enum ice_disq_rst_src rst_src, vsi 48 drivers/net/ethernet/intel/ice/ice_lib.h void ice_fill_txq_meta(struct ice_vsi *vsi, struct ice_ring *ring, vsi 51 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_ctrl_rx_ring(struct ice_vsi *vsi, bool ena, u16 rxq_idx); vsi 54 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_add_vlan(struct ice_vsi *vsi, u16 vid); vsi 56 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_kill_vlan(struct ice_vsi *vsi, u16 vid); vsi 58 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_manage_vlan_insertion(struct ice_vsi *vsi); vsi 60 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_manage_vlan_stripping(struct ice_vsi *vsi, bool ena); vsi 62 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_start_rx_rings(struct ice_vsi *vsi); vsi 64 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_stop_rx_rings(struct ice_vsi *vsi); vsi 67 drivers/net/ethernet/intel/ice/ice_lib.h ice_vsi_stop_lan_tx_rings(struct ice_vsi *vsi, enum ice_disq_rst_src rst_src, vsi 70 drivers/net/ethernet/intel/ice/ice_lib.h int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena, bool vlan_promisc); vsi 72 drivers/net/ethernet/intel/ice/ice_lib.h void ice_cfg_sw_lldp(struct ice_vsi *vsi, bool tx, bool create); vsi 74 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_delete(struct ice_vsi *vsi); vsi 76 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_clear(struct ice_vsi *vsi); vsi 79 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_cfg_tc(struct ice_vsi *vsi, u8 ena_tc); vsi 86 drivers/net/ethernet/intel/ice/ice_lib.h void ice_napi_del(struct ice_vsi *vsi); vsi 88 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_release(struct ice_vsi *vsi); vsi 90 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_close(struct ice_vsi *vsi); vsi 97 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_rebuild(struct ice_vsi *vsi); vsi 101 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_free_q_vectors(struct ice_vsi *vsi); vsi 105 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_put_qs(struct ice_vsi *vsi); vsi 108 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_map_rings_to_vectors(struct ice_vsi *vsi); vsi 111 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_dis_irq(struct ice_vsi *vsi); vsi 113 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_free_irq(struct ice_vsi *vsi); vsi 115 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_free_rx_rings(struct ice_vsi *vsi); vsi 117 drivers/net/ethernet/intel/ice/ice_lib.h void ice_vsi_free_tx_rings(struct ice_vsi *vsi); vsi 119 drivers/net/ethernet/intel/ice/ice_lib.h int ice_vsi_manage_rss_lut(struct ice_vsi *vsi, bool ena); vsi 126 drivers/net/ethernet/intel/ice/ice_lib.h ice_vsi_cfg_mac_fltr(struct ice_vsi *vsi, const u8 *macaddr, bool set); vsi 73 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = NULL; vsi 80 drivers/net/ethernet/intel/ice/ice_main.c if (pf->vsi[v] && pf->vsi[v]->type == ICE_VSI_PF) { vsi 81 drivers/net/ethernet/intel/ice/ice_main.c vsi = pf->vsi[v]; vsi 85 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi || test_bit(__ICE_DOWN, vsi->state)) vsi 88 drivers/net/ethernet/intel/ice/ice_main.c if (!(vsi->netdev && netif_carrier_ok(vsi->netdev))) vsi 91 drivers/net/ethernet/intel/ice/ice_main.c hw = &vsi->back->hw; vsi 93 drivers/net/ethernet/intel/ice/ice_main.c for (i = 0; i < vsi->num_txq; i++) { vsi 94 drivers/net/ethernet/intel/ice/ice_main.c struct ice_ring *tx_ring = vsi->tx_rings[i]; vsi 133 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi; vsi 135 drivers/net/ethernet/intel/ice/ice_main.c vsi = ice_get_main_vsi(pf); vsi 136 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi) vsi 144 drivers/net/ethernet/intel/ice/ice_main.c status = ice_vsi_cfg_mac_fltr(vsi, vsi->port_info->mac.perm_addr, true); vsi 152 drivers/net/ethernet/intel/ice/ice_main.c status = ice_vsi_cfg_mac_fltr(vsi, broadcast, true); vsi 161 drivers/net/ethernet/intel/ice/ice_main.c if (status && vsi->netdev->reg_state == NETREG_REGISTERED) { vsi 165 drivers/net/ethernet/intel/ice/ice_main.c unregister_netdev(vsi->netdev); vsi 166 drivers/net/ethernet/intel/ice/ice_main.c free_netdev(vsi->netdev); vsi 167 drivers/net/ethernet/intel/ice/ice_main.c vsi->netdev = NULL; vsi 186 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 188 drivers/net/ethernet/intel/ice/ice_main.c if (ice_add_mac_to_list(vsi, &vsi->tmp_sync_list, addr)) vsi 207 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 209 drivers/net/ethernet/intel/ice/ice_main.c if (ice_add_mac_to_list(vsi, &vsi->tmp_unsync_list, addr)) vsi 221 drivers/net/ethernet/intel/ice/ice_main.c static bool ice_vsi_fltr_changed(struct ice_vsi *vsi) vsi 223 drivers/net/ethernet/intel/ice/ice_main.c return test_bit(ICE_VSI_FLAG_UMAC_FLTR_CHANGED, vsi->flags) || vsi 224 drivers/net/ethernet/intel/ice/ice_main.c test_bit(ICE_VSI_FLAG_MMAC_FLTR_CHANGED, vsi->flags) || vsi 225 drivers/net/ethernet/intel/ice/ice_main.c test_bit(ICE_VSI_FLAG_VLAN_FLTR_CHANGED, vsi->flags); vsi 235 drivers/net/ethernet/intel/ice/ice_main.c static int ice_cfg_promisc(struct ice_vsi *vsi, u8 promisc_m, bool set_promisc) vsi 237 drivers/net/ethernet/intel/ice/ice_main.c struct ice_hw *hw = &vsi->back->hw; vsi 240 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->type != ICE_VSI_PF) vsi 243 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->vlan_ena) { vsi 244 drivers/net/ethernet/intel/ice/ice_main.c status = ice_set_vlan_vsi_promisc(hw, vsi->idx, promisc_m, vsi 248 drivers/net/ethernet/intel/ice/ice_main.c status = ice_set_vsi_promisc(hw, vsi->idx, promisc_m, vsi 251 drivers/net/ethernet/intel/ice/ice_main.c status = ice_clear_vsi_promisc(hw, vsi->idx, promisc_m, vsi 267 drivers/net/ethernet/intel/ice/ice_main.c static int ice_vsi_sync_fltr(struct ice_vsi *vsi) vsi 269 drivers/net/ethernet/intel/ice/ice_main.c struct device *dev = &vsi->back->pdev->dev; vsi 270 drivers/net/ethernet/intel/ice/ice_main.c struct net_device *netdev = vsi->netdev; vsi 272 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 279 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->netdev) vsi 282 drivers/net/ethernet/intel/ice/ice_main.c while (test_and_set_bit(__ICE_CFG_BUSY, vsi->state)) vsi 285 drivers/net/ethernet/intel/ice/ice_main.c changed_flags = vsi->current_netdev_flags ^ vsi->netdev->flags; vsi 286 drivers/net/ethernet/intel/ice/ice_main.c vsi->current_netdev_flags = vsi->netdev->flags; vsi 288 drivers/net/ethernet/intel/ice/ice_main.c INIT_LIST_HEAD(&vsi->tmp_sync_list); vsi 289 drivers/net/ethernet/intel/ice/ice_main.c INIT_LIST_HEAD(&vsi->tmp_unsync_list); vsi 291 drivers/net/ethernet/intel/ice/ice_main.c if (ice_vsi_fltr_changed(vsi)) { vsi 292 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(ICE_VSI_FLAG_UMAC_FLTR_CHANGED, vsi->flags); vsi 293 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(ICE_VSI_FLAG_MMAC_FLTR_CHANGED, vsi->flags); vsi 294 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(ICE_VSI_FLAG_VLAN_FLTR_CHANGED, vsi->flags); vsi 307 drivers/net/ethernet/intel/ice/ice_main.c status = ice_remove_mac(hw, &vsi->tmp_unsync_list); vsi 308 drivers/net/ethernet/intel/ice/ice_main.c ice_free_fltr_list(dev, &vsi->tmp_unsync_list); vsi 319 drivers/net/ethernet/intel/ice/ice_main.c status = ice_add_mac(hw, &vsi->tmp_sync_list); vsi 320 drivers/net/ethernet/intel/ice/ice_main.c ice_free_fltr_list(dev, &vsi->tmp_sync_list); vsi 333 drivers/net/ethernet/intel/ice/ice_main.c vsi->state)) { vsi 337 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 345 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->current_netdev_flags & IFF_ALLMULTI) { vsi 346 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->vlan_ena) vsi 351 drivers/net/ethernet/intel/ice/ice_main.c err = ice_cfg_promisc(vsi, promisc_m, true); vsi 354 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 355 drivers/net/ethernet/intel/ice/ice_main.c vsi->current_netdev_flags &= ~IFF_ALLMULTI; vsi 358 drivers/net/ethernet/intel/ice/ice_main.c } else if (!(vsi->current_netdev_flags & IFF_ALLMULTI)) { vsi 359 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->vlan_ena) vsi 364 drivers/net/ethernet/intel/ice/ice_main.c err = ice_cfg_promisc(vsi, promisc_m, false); vsi 367 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 368 drivers/net/ethernet/intel/ice/ice_main.c vsi->current_netdev_flags |= IFF_ALLMULTI; vsi 375 drivers/net/ethernet/intel/ice/ice_main.c test_bit(ICE_VSI_FLAG_PROMISC_CHANGED, vsi->flags)) { vsi 376 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(ICE_VSI_FLAG_PROMISC_CHANGED, vsi->flags); vsi 377 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->current_netdev_flags & IFF_PROMISC) { vsi 379 drivers/net/ethernet/intel/ice/ice_main.c status = ice_cfg_dflt_vsi(hw, vsi->idx, true, vsi 383 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 384 drivers/net/ethernet/intel/ice/ice_main.c vsi->current_netdev_flags &= ~IFF_PROMISC; vsi 390 drivers/net/ethernet/intel/ice/ice_main.c status = ice_cfg_dflt_vsi(hw, vsi->idx, false, vsi 394 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 395 drivers/net/ethernet/intel/ice/ice_main.c vsi->current_netdev_flags |= IFF_PROMISC; vsi 404 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_PROMISC_CHANGED, vsi->flags); vsi 408 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_UMAC_FLTR_CHANGED, vsi->flags); vsi 409 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_MMAC_FLTR_CHANGED, vsi->flags); vsi 411 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(__ICE_CFG_BUSY, vsi->state); vsi 429 drivers/net/ethernet/intel/ice/ice_main.c if (pf->vsi[v] && ice_vsi_fltr_changed(pf->vsi[v]) && vsi 430 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_sync_fltr(pf->vsi[v])) { vsi 442 drivers/net/ethernet/intel/ice/ice_main.c static void ice_dis_vsi(struct ice_vsi *vsi, bool locked) vsi 444 drivers/net/ethernet/intel/ice/ice_main.c if (test_bit(__ICE_DOWN, vsi->state)) vsi 447 drivers/net/ethernet/intel/ice/ice_main.c set_bit(__ICE_NEEDS_RESTART, vsi->state); vsi 449 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->type == ICE_VSI_PF && vsi->netdev) { vsi 450 drivers/net/ethernet/intel/ice/ice_main.c if (netif_running(vsi->netdev)) { vsi 454 drivers/net/ethernet/intel/ice/ice_main.c ice_stop(vsi->netdev); vsi 459 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_close(vsi); vsi 478 drivers/net/ethernet/intel/ice/ice_main.c if (pf->vsi[v]) vsi 479 drivers/net/ethernet/intel/ice/ice_main.c ice_dis_vsi(pf->vsi[v], locked); vsi 634 drivers/net/ethernet/intel/ice/ice_main.c static void ice_print_topo_conflict(struct ice_vsi *vsi) vsi 636 drivers/net/ethernet/intel/ice/ice_main.c switch (vsi->port_info->phy.link_info.topo_media_conflict) { vsi 639 drivers/net/ethernet/intel/ice/ice_main.c netdev_info(vsi->netdev, "Possible mis-configuration of the Ethernet port detected, please use the Intel(R) Ethernet Port Configuration Tool application to address the issue.\n"); vsi 651 drivers/net/ethernet/intel/ice/ice_main.c void ice_print_link_msg(struct ice_vsi *vsi, bool isup) vsi 661 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi) vsi 664 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->current_isup == isup) vsi 667 drivers/net/ethernet/intel/ice/ice_main.c vsi->current_isup = isup; vsi 670 drivers/net/ethernet/intel/ice/ice_main.c netdev_info(vsi->netdev, "NIC Link is Down\n"); vsi 674 drivers/net/ethernet/intel/ice/ice_main.c switch (vsi->port_info->phy.link_info.link_speed) { vsi 710 drivers/net/ethernet/intel/ice/ice_main.c switch (vsi->port_info->fc.current_mode) { vsi 729 drivers/net/ethernet/intel/ice/ice_main.c switch (vsi->port_info->phy.link_info.fec_info) { vsi 744 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->port_info->phy.link_info.an_info & ICE_AQ_AN_COMPLETED) vsi 750 drivers/net/ethernet/intel/ice/ice_main.c caps = devm_kzalloc(&vsi->back->pdev->dev, sizeof(*caps), GFP_KERNEL); vsi 756 drivers/net/ethernet/intel/ice/ice_main.c status = ice_aq_get_phy_caps(vsi->port_info, false, vsi 759 drivers/net/ethernet/intel/ice/ice_main.c netdev_info(vsi->netdev, "Get phy capability failed.\n"); vsi 770 drivers/net/ethernet/intel/ice/ice_main.c devm_kfree(&vsi->back->pdev->dev, caps); vsi 773 drivers/net/ethernet/intel/ice/ice_main.c netdev_info(vsi->netdev, "NIC Link is up %sbps, Requested FEC: %s, FEC: %s, Autoneg: %s, Flow Control: %s\n", vsi 775 drivers/net/ethernet/intel/ice/ice_main.c ice_print_topo_conflict(vsi); vsi 783 drivers/net/ethernet/intel/ice/ice_main.c static void ice_vsi_link_event(struct ice_vsi *vsi, bool link_up) vsi 785 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi) vsi 788 drivers/net/ethernet/intel/ice/ice_main.c if (test_bit(__ICE_DOWN, vsi->state) || !vsi->netdev) vsi 791 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->type == ICE_VSI_PF) { vsi 792 drivers/net/ethernet/intel/ice/ice_main.c if (link_up == netif_carrier_ok(vsi->netdev)) vsi 796 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_on(vsi->netdev); vsi 797 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_wake_all_queues(vsi->netdev); vsi 799 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_off(vsi->netdev); vsi 800 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_stop_all_queues(vsi->netdev); vsi 819 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi; vsi 843 drivers/net/ethernet/intel/ice/ice_main.c vsi = ice_get_main_vsi(pf); vsi 844 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi || !vsi->port_info) vsi 856 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, result); vsi 861 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_link_event(vsi, link_up); vsi 862 drivers/net/ethernet/intel/ice/ice_main.c ice_print_link_msg(vsi, link_up); vsi 895 drivers/net/ethernet/intel/ice/ice_main.c if (pf->vsi[i] && pf->vsi[i]->netdev) vsi 896 drivers/net/ethernet/intel/ice/ice_main.c ice_update_vsi_stats(pf->vsi[i]); vsi 1379 drivers/net/ethernet/intel/ice/ice_main.c static int ice_force_phys_link_state(struct ice_vsi *vsi, bool link_up) vsi 1387 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi || !vsi->port_info || !vsi->back) vsi 1389 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->type != ICE_VSI_PF) vsi 1392 drivers/net/ethernet/intel/ice/ice_main.c dev = &vsi->back->pdev->dev; vsi 1394 drivers/net/ethernet/intel/ice/ice_main.c pi = vsi->port_info; vsi 1405 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, retcode); vsi 1433 drivers/net/ethernet/intel/ice/ice_main.c retcode = ice_aq_set_phy_cfg(&vsi->back->hw, pi->lport, cfg, NULL); vsi 1436 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, retcode); vsi 1453 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi; vsi 1456 drivers/net/ethernet/intel/ice/ice_main.c vsi = ice_get_main_vsi(pf); vsi 1457 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi) vsi 1464 drivers/net/ethernet/intel/ice/ice_main.c test_bit(__ICE_DOWN, vsi->state)) vsi 1468 drivers/net/ethernet/intel/ice/ice_main.c pi = vsi->port_info; vsi 1474 drivers/net/ethernet/intel/ice/ice_main.c err = ice_force_phys_link_state(vsi, true); vsi 1585 drivers/net/ethernet/intel/ice/ice_main.c static int ice_vsi_ena_irq(struct ice_vsi *vsi) vsi 1587 drivers/net/ethernet/intel/ice/ice_main.c struct ice_hw *hw = &vsi->back->hw; vsi 1590 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_q_vector(vsi, i) vsi 1591 drivers/net/ethernet/intel/ice/ice_main.c ice_irq_dynamic_ena(hw, vsi, vsi->q_vectors[i]); vsi 1602 drivers/net/ethernet/intel/ice/ice_main.c static int ice_vsi_req_irq_msix(struct ice_vsi *vsi, char *basename) vsi 1604 drivers/net/ethernet/intel/ice/ice_main.c int q_vectors = vsi->num_q_vectors; vsi 1605 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 1606 drivers/net/ethernet/intel/ice/ice_main.c int base = vsi->base_vector; vsi 1613 drivers/net/ethernet/intel/ice/ice_main.c struct ice_q_vector *q_vector = vsi->q_vectors[vector]; vsi 1632 drivers/net/ethernet/intel/ice/ice_main.c vsi->irq_handler, 0, vsi 1635 drivers/net/ethernet/intel/ice/ice_main.c netdev_err(vsi->netdev, vsi 1649 drivers/net/ethernet/intel/ice/ice_main.c vsi->irqs_ready = true; vsi 1658 drivers/net/ethernet/intel/ice/ice_main.c devm_free_irq(&pf->pdev->dev, irq_num, &vsi->q_vectors[vector]); vsi 1941 drivers/net/ethernet/intel/ice/ice_main.c static void ice_napi_add(struct ice_vsi *vsi) vsi 1945 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->netdev) vsi 1948 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_q_vector(vsi, v_idx) vsi 1949 drivers/net/ethernet/intel/ice/ice_main.c netif_napi_add(vsi->netdev, &vsi->q_vectors[v_idx]->napi, vsi 2024 drivers/net/ethernet/intel/ice/ice_main.c static int ice_cfg_netdev(struct ice_vsi *vsi) vsi 2026 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 2032 drivers/net/ethernet/intel/ice/ice_main.c netdev = alloc_etherdev_mqs(sizeof(*np), vsi->alloc_txq, vsi 2033 drivers/net/ethernet/intel/ice/ice_main.c vsi->alloc_rxq); vsi 2037 drivers/net/ethernet/intel/ice/ice_main.c vsi->netdev = netdev; vsi 2039 drivers/net/ethernet/intel/ice/ice_main.c np->vsi = vsi; vsi 2045 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->type == ICE_VSI_PF) { vsi 2047 drivers/net/ethernet/intel/ice/ice_main.c ether_addr_copy(mac_addr, vsi->port_info->mac.perm_addr); vsi 2055 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_cfg_netdev_tc(vsi, vsi->tc_cfg.ena_tc); vsi 2063 drivers/net/ethernet/intel/ice/ice_main.c err = register_netdev(vsi->netdev); vsi 2067 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_off(vsi->netdev); vsi 2070 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_stop_all_queues(vsi->netdev); vsi 2130 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 2139 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->info.pvid) vsi 2144 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_cfg_vlan_pruning(vsi, true, false); vsi 2153 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_add_vlan(vsi, vid); vsi 2155 drivers/net/ethernet/intel/ice/ice_main.c vsi->vlan_ena = true; vsi 2156 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_VLAN_FLTR_CHANGED, vsi->flags); vsi 2175 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 2178 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->info.pvid) vsi 2184 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_kill_vlan(vsi, vid); vsi 2190 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_cfg_vlan_pruning(vsi, false, false); vsi 2192 drivers/net/ethernet/intel/ice/ice_main.c vsi->vlan_ena = false; vsi 2193 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_VLAN_FLTR_CHANGED, vsi->flags); vsi 2205 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi; vsi 2211 drivers/net/ethernet/intel/ice/ice_main.c vsi = ice_pf_vsi_setup(pf, pf->hw.port_info); vsi 2212 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi) { vsi 2217 drivers/net/ethernet/intel/ice/ice_main.c status = ice_cfg_netdev(vsi); vsi 2227 drivers/net/ethernet/intel/ice/ice_main.c ice_napi_add(vsi); vsi 2236 drivers/net/ethernet/intel/ice/ice_main.c if (vsi) { vsi 2237 drivers/net/ethernet/intel/ice/ice_main.c ice_napi_del(vsi); vsi 2238 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev) { vsi 2239 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev->reg_state == NETREG_REGISTERED) vsi 2240 drivers/net/ethernet/intel/ice/ice_main.c unregister_netdev(vsi->netdev); vsi 2241 drivers/net/ethernet/intel/ice/ice_main.c free_netdev(vsi->netdev); vsi 2242 drivers/net/ethernet/intel/ice/ice_main.c vsi->netdev = NULL; vsi 2247 drivers/net/ethernet/intel/ice/ice_main.c if (vsi) { vsi 2248 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_free_q_vectors(vsi); vsi 2249 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_delete(vsi); vsi 2250 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_put_qs(vsi); vsi 2251 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_clear(vsi); vsi 2892 drivers/net/ethernet/intel/ice/ice_main.c pf->vsi = devm_kcalloc(dev, pf->num_alloc_vsi, sizeof(*pf->vsi), vsi 2894 drivers/net/ethernet/intel/ice/ice_main.c if (!pf->vsi) { vsi 2989 drivers/net/ethernet/intel/ice/ice_main.c devm_kfree(dev, pf->vsi); vsi 3024 drivers/net/ethernet/intel/ice/ice_main.c if (!pf->vsi[i]) vsi 3026 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_free_q_vectors(pf->vsi[i]); vsi 3256 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 3257 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 3289 drivers/net/ethernet/intel/ice/ice_main.c status = ice_vsi_cfg_mac_fltr(vsi, netdev->dev_addr, false); vsi 3295 drivers/net/ethernet/intel/ice/ice_main.c status = ice_vsi_cfg_mac_fltr(vsi, mac, true); vsi 3310 drivers/net/ethernet/intel/ice/ice_main.c netdev_dbg(vsi->netdev, "updated MAC address to %pM\n", vsi 3330 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 3332 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi) vsi 3339 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_UMAC_FLTR_CHANGED, vsi->flags); vsi 3340 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_VSI_FLAG_MMAC_FLTR_CHANGED, vsi->flags); vsi 3341 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_FLAG_FLTR_SYNC, vsi->back->flags); vsi 3346 drivers/net/ethernet/intel/ice/ice_main.c ice_service_task_schedule(vsi->back); vsi 3428 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 3432 drivers/net/ethernet/intel/ice/ice_main.c if (ice_is_safe_mode(vsi->back)) { vsi 3433 drivers/net/ethernet/intel/ice/ice_main.c dev_err(&vsi->back->pdev->dev, vsi 3442 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_rss_lut(vsi, true); vsi 3445 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_rss_lut(vsi, false); vsi 3449 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_vlan_stripping(vsi, true); vsi 3452 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_vlan_stripping(vsi, false); vsi 3456 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_vlan_insertion(vsi); vsi 3459 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_vlan_insertion(vsi); vsi 3463 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_cfg_vlan_pruning(vsi, true, false); vsi 3466 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_cfg_vlan_pruning(vsi, false, false); vsi 3475 drivers/net/ethernet/intel/ice/ice_main.c static int ice_vsi_vlan_setup(struct ice_vsi *vsi) vsi 3479 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev->features & NETIF_F_HW_VLAN_CTAG_RX) vsi 3480 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_vlan_stripping(vsi, true); vsi 3481 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev->features & NETIF_F_HW_VLAN_CTAG_TX) vsi 3482 drivers/net/ethernet/intel/ice/ice_main.c ret = ice_vsi_manage_vlan_insertion(vsi); vsi 3493 drivers/net/ethernet/intel/ice/ice_main.c int ice_vsi_cfg(struct ice_vsi *vsi) vsi 3497 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev) { vsi 3498 drivers/net/ethernet/intel/ice/ice_main.c ice_set_rx_mode(vsi->netdev); vsi 3500 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_vlan_setup(vsi); vsi 3505 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_cfg_dcb_rings(vsi); vsi 3507 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_cfg_lan_txqs(vsi); vsi 3509 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_cfg_rxqs(vsi); vsi 3518 drivers/net/ethernet/intel/ice/ice_main.c static void ice_napi_enable_all(struct ice_vsi *vsi) vsi 3522 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->netdev) vsi 3525 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_q_vector(vsi, q_idx) { vsi 3526 drivers/net/ethernet/intel/ice/ice_main.c struct ice_q_vector *q_vector = vsi->q_vectors[q_idx]; vsi 3539 drivers/net/ethernet/intel/ice/ice_main.c static int ice_up_complete(struct ice_vsi *vsi) vsi 3541 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 3544 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_cfg_msix(vsi); vsi 3550 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_start_rx_rings(vsi); vsi 3554 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(__ICE_DOWN, vsi->state); vsi 3555 drivers/net/ethernet/intel/ice/ice_main.c ice_napi_enable_all(vsi); vsi 3556 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_ena_irq(vsi); vsi 3558 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->port_info && vsi 3559 drivers/net/ethernet/intel/ice/ice_main.c (vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) && vsi 3560 drivers/net/ethernet/intel/ice/ice_main.c vsi->netdev) { vsi 3561 drivers/net/ethernet/intel/ice/ice_main.c ice_print_link_msg(vsi, true); vsi 3562 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_start_all_queues(vsi->netdev); vsi 3563 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_on(vsi->netdev); vsi 3575 drivers/net/ethernet/intel/ice/ice_main.c int ice_up(struct ice_vsi *vsi) vsi 3579 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_cfg(vsi); vsi 3581 drivers/net/ethernet/intel/ice/ice_main.c err = ice_up_complete(vsi); vsi 3615 drivers/net/ethernet/intel/ice/ice_main.c static void ice_update_vsi_ring_stats(struct ice_vsi *vsi) vsi 3617 drivers/net/ethernet/intel/ice/ice_main.c struct rtnl_link_stats64 *vsi_stats = &vsi->net_stats; vsi 3629 drivers/net/ethernet/intel/ice/ice_main.c vsi->tx_restart = 0; vsi 3630 drivers/net/ethernet/intel/ice/ice_main.c vsi->tx_busy = 0; vsi 3631 drivers/net/ethernet/intel/ice/ice_main.c vsi->tx_linearize = 0; vsi 3632 drivers/net/ethernet/intel/ice/ice_main.c vsi->rx_buf_failed = 0; vsi 3633 drivers/net/ethernet/intel/ice/ice_main.c vsi->rx_page_failed = 0; vsi 3638 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_txq(vsi, i) { vsi 3639 drivers/net/ethernet/intel/ice/ice_main.c ring = READ_ONCE(vsi->tx_rings[i]); vsi 3643 drivers/net/ethernet/intel/ice/ice_main.c vsi->tx_restart += ring->tx_stats.restart_q; vsi 3644 drivers/net/ethernet/intel/ice/ice_main.c vsi->tx_busy += ring->tx_stats.tx_busy; vsi 3645 drivers/net/ethernet/intel/ice/ice_main.c vsi->tx_linearize += ring->tx_stats.tx_linearize; vsi 3649 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_rxq(vsi, i) { vsi 3650 drivers/net/ethernet/intel/ice/ice_main.c ring = READ_ONCE(vsi->rx_rings[i]); vsi 3654 drivers/net/ethernet/intel/ice/ice_main.c vsi->rx_buf_failed += ring->rx_stats.alloc_buf_failed; vsi 3655 drivers/net/ethernet/intel/ice/ice_main.c vsi->rx_page_failed += ring->rx_stats.alloc_page_failed; vsi 3665 drivers/net/ethernet/intel/ice/ice_main.c void ice_update_vsi_stats(struct ice_vsi *vsi) vsi 3667 drivers/net/ethernet/intel/ice/ice_main.c struct rtnl_link_stats64 *cur_ns = &vsi->net_stats; vsi 3668 drivers/net/ethernet/intel/ice/ice_main.c struct ice_eth_stats *cur_es = &vsi->eth_stats; vsi 3669 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 3671 drivers/net/ethernet/intel/ice/ice_main.c if (test_bit(__ICE_DOWN, vsi->state) || vsi 3676 drivers/net/ethernet/intel/ice/ice_main.c ice_update_vsi_ring_stats(vsi); vsi 3679 drivers/net/ethernet/intel/ice/ice_main.c ice_update_eth_stats(vsi); vsi 3687 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->type == ICE_VSI_PF) { vsi 3849 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 3851 drivers/net/ethernet/intel/ice/ice_main.c vsi_stats = &vsi->net_stats; vsi 3853 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->num_txq || !vsi->num_rxq) vsi 3861 drivers/net/ethernet/intel/ice/ice_main.c if (!test_bit(__ICE_DOWN, vsi->state)) vsi 3862 drivers/net/ethernet/intel/ice/ice_main.c ice_update_vsi_ring_stats(vsi); vsi 3885 drivers/net/ethernet/intel/ice/ice_main.c static void ice_napi_disable_all(struct ice_vsi *vsi) vsi 3889 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->netdev) vsi 3892 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_q_vector(vsi, q_idx) { vsi 3893 drivers/net/ethernet/intel/ice/ice_main.c struct ice_q_vector *q_vector = vsi->q_vectors[q_idx]; vsi 3904 drivers/net/ethernet/intel/ice/ice_main.c int ice_down(struct ice_vsi *vsi) vsi 3911 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev) { vsi 3912 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_off(vsi->netdev); vsi 3913 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_disable(vsi->netdev); vsi 3916 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_dis_irq(vsi); vsi 3918 drivers/net/ethernet/intel/ice/ice_main.c tx_err = ice_vsi_stop_lan_tx_rings(vsi, ICE_NO_RESET, 0); vsi 3920 drivers/net/ethernet/intel/ice/ice_main.c netdev_err(vsi->netdev, vsi 3922 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, tx_err); vsi 3924 drivers/net/ethernet/intel/ice/ice_main.c rx_err = ice_vsi_stop_rx_rings(vsi); vsi 3926 drivers/net/ethernet/intel/ice/ice_main.c netdev_err(vsi->netdev, vsi 3928 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, rx_err); vsi 3930 drivers/net/ethernet/intel/ice/ice_main.c ice_napi_disable_all(vsi); vsi 3932 drivers/net/ethernet/intel/ice/ice_main.c if (test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, vsi->back->flags)) { vsi 3933 drivers/net/ethernet/intel/ice/ice_main.c link_err = ice_force_phys_link_state(vsi, false); vsi 3935 drivers/net/ethernet/intel/ice/ice_main.c netdev_err(vsi->netdev, vsi 3937 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, link_err); vsi 3940 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_txq(vsi, i) vsi 3941 drivers/net/ethernet/intel/ice/ice_main.c ice_clean_tx_ring(vsi->tx_rings[i]); vsi 3943 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_rxq(vsi, i) vsi 3944 drivers/net/ethernet/intel/ice/ice_main.c ice_clean_rx_ring(vsi->rx_rings[i]); vsi 3947 drivers/net/ethernet/intel/ice/ice_main.c netdev_err(vsi->netdev, vsi 3949 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, vsi->vsw->sw_id); vsi 3962 drivers/net/ethernet/intel/ice/ice_main.c int ice_vsi_setup_tx_rings(struct ice_vsi *vsi) vsi 3966 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->num_txq) { vsi 3967 drivers/net/ethernet/intel/ice/ice_main.c dev_err(&vsi->back->pdev->dev, "VSI %d has 0 Tx queues\n", vsi 3968 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 3972 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_txq(vsi, i) { vsi 3973 drivers/net/ethernet/intel/ice/ice_main.c struct ice_ring *ring = vsi->tx_rings[i]; vsi 3978 drivers/net/ethernet/intel/ice/ice_main.c ring->netdev = vsi->netdev; vsi 3993 drivers/net/ethernet/intel/ice/ice_main.c int ice_vsi_setup_rx_rings(struct ice_vsi *vsi) vsi 3997 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi->num_rxq) { vsi 3998 drivers/net/ethernet/intel/ice/ice_main.c dev_err(&vsi->back->pdev->dev, "VSI %d has 0 Rx queues\n", vsi 3999 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num); vsi 4003 drivers/net/ethernet/intel/ice/ice_main.c ice_for_each_rxq(vsi, i) { vsi 4004 drivers/net/ethernet/intel/ice/ice_main.c struct ice_ring *ring = vsi->rx_rings[i]; vsi 4009 drivers/net/ethernet/intel/ice/ice_main.c ring->netdev = vsi->netdev; vsi 4026 drivers/net/ethernet/intel/ice/ice_main.c static int ice_vsi_open(struct ice_vsi *vsi) vsi 4029 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 4033 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_setup_tx_rings(vsi); vsi 4037 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_setup_rx_rings(vsi); vsi 4041 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_cfg(vsi); vsi 4046 drivers/net/ethernet/intel/ice/ice_main.c dev_driver_string(&pf->pdev->dev), vsi->netdev->name); vsi 4047 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_req_irq_msix(vsi, int_name); vsi 4052 drivers/net/ethernet/intel/ice/ice_main.c err = netif_set_real_num_tx_queues(vsi->netdev, vsi->num_txq); vsi 4056 drivers/net/ethernet/intel/ice/ice_main.c err = netif_set_real_num_rx_queues(vsi->netdev, vsi->num_rxq); vsi 4060 drivers/net/ethernet/intel/ice/ice_main.c err = ice_up_complete(vsi); vsi 4067 drivers/net/ethernet/intel/ice/ice_main.c ice_down(vsi); vsi 4069 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_free_irq(vsi); vsi 4071 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_free_rx_rings(vsi); vsi 4073 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_free_tx_rings(vsi); vsi 4086 drivers/net/ethernet/intel/ice/ice_main.c if (!pf->vsi) vsi 4090 drivers/net/ethernet/intel/ice/ice_main.c if (!pf->vsi[i]) vsi 4093 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_release(pf->vsi[i]); vsi 4097 drivers/net/ethernet/intel/ice/ice_main.c i, err, pf->vsi[i]->vsi_num); vsi 4106 drivers/net/ethernet/intel/ice/ice_main.c static int ice_ena_vsi(struct ice_vsi *vsi, bool locked) vsi 4110 drivers/net/ethernet/intel/ice/ice_main.c if (!test_bit(__ICE_NEEDS_RESTART, vsi->state)) vsi 4113 drivers/net/ethernet/intel/ice/ice_main.c clear_bit(__ICE_NEEDS_RESTART, vsi->state); vsi 4115 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->netdev && vsi->type == ICE_VSI_PF) { vsi 4116 drivers/net/ethernet/intel/ice/ice_main.c if (netif_running(vsi->netdev)) { vsi 4120 drivers/net/ethernet/intel/ice/ice_main.c err = ice_open(vsi->netdev); vsi 4141 drivers/net/ethernet/intel/ice/ice_main.c if (pf->vsi[v]) vsi 4142 drivers/net/ethernet/intel/ice/ice_main.c if (ice_ena_vsi(pf->vsi[v], locked)) vsi 4162 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = pf->vsi[i]; vsi 4164 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi || vsi->type != type) vsi 4168 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_rebuild(vsi); vsi 4172 drivers/net/ethernet/intel/ice/ice_main.c err, vsi->idx, type); vsi 4177 drivers/net/ethernet/intel/ice/ice_main.c status = ice_replay_vsi(&pf->hw, vsi->idx); vsi 4181 drivers/net/ethernet/intel/ice/ice_main.c status, vsi->idx, type); vsi 4188 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num = ice_get_hw_vsi_num(&pf->hw, vsi->idx); vsi 4191 drivers/net/ethernet/intel/ice/ice_main.c err = ice_ena_vsi(vsi, false); vsi 4195 drivers/net/ethernet/intel/ice/ice_main.c err, vsi->idx, type); vsi 4200 drivers/net/ethernet/intel/ice/ice_main.c vsi->idx, type); vsi 4216 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = pf->vsi[i]; vsi 4218 drivers/net/ethernet/intel/ice/ice_main.c if (!vsi || vsi->type != ICE_VSI_PF) vsi 4221 drivers/net/ethernet/intel/ice/ice_main.c ice_get_link_status(pf->vsi[i]->port_info, &link_up); vsi 4223 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_on(pf->vsi[i]->netdev); vsi 4224 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_wake_all_queues(pf->vsi[i]->netdev); vsi 4226 drivers/net/ethernet/intel/ice/ice_main.c netif_carrier_off(pf->vsi[i]->netdev); vsi 4227 drivers/net/ethernet/intel/ice/ice_main.c netif_tx_stop_all_queues(pf->vsi[i]->netdev); vsi 4351 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 4352 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 4388 drivers/net/ethernet/intel/ice/ice_main.c if (!test_and_set_bit(__ICE_DOWN, vsi->state)) { vsi 4391 drivers/net/ethernet/intel/ice/ice_main.c err = ice_down(vsi); vsi 4397 drivers/net/ethernet/intel/ice/ice_main.c err = ice_up(vsi); vsi 4417 drivers/net/ethernet/intel/ice/ice_main.c int ice_set_rss(struct ice_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size) vsi 4419 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 4427 drivers/net/ethernet/intel/ice/ice_main.c status = ice_aq_set_rss_key(hw, vsi->idx, buf); vsi 4438 drivers/net/ethernet/intel/ice/ice_main.c status = ice_aq_set_rss_lut(hw, vsi->idx, vsi->rss_lut_type, vsi 4460 drivers/net/ethernet/intel/ice/ice_main.c int ice_get_rss(struct ice_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size) vsi 4462 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 4470 drivers/net/ethernet/intel/ice/ice_main.c status = ice_aq_get_rss_key(hw, vsi->idx, buf); vsi 4480 drivers/net/ethernet/intel/ice/ice_main.c status = ice_aq_get_rss_lut(hw, vsi->idx, vsi->rss_lut_type, vsi 4509 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 4510 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 4526 drivers/net/ethernet/intel/ice/ice_main.c static int ice_vsi_update_bridge_mode(struct ice_vsi *vsi, u16 bmode) vsi 4528 drivers/net/ethernet/intel/ice/ice_main.c struct device *dev = &vsi->back->pdev->dev; vsi 4530 drivers/net/ethernet/intel/ice/ice_main.c struct ice_hw *hw = &vsi->back->hw; vsi 4535 drivers/net/ethernet/intel/ice/ice_main.c vsi_props = &vsi->info; vsi 4541 drivers/net/ethernet/intel/ice/ice_main.c ctxt->info = vsi->info; vsi 4551 drivers/net/ethernet/intel/ice/ice_main.c status = ice_update_vsi(hw, vsi->idx, ctxt, NULL); vsi 4584 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = np->vsi->back; vsi 4610 drivers/net/ethernet/intel/ice/ice_main.c if (!pf->vsi[v]) vsi 4612 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_update_bridge_mode(pf->vsi[v], mode); vsi 4644 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 4645 drivers/net/ethernet/intel/ice/ice_main.c struct ice_pf *pf = vsi->back; vsi 4670 drivers/net/ethernet/intel/ice/ice_main.c for (i = 0; i < vsi->num_txq; i++) vsi 4671 drivers/net/ethernet/intel/ice/ice_main.c if (vsi->tx_rings[i] && vsi->tx_rings[i]->desc) vsi 4672 drivers/net/ethernet/intel/ice/ice_main.c if (hung_queue == vsi->tx_rings[i]->q_index) { vsi 4673 drivers/net/ethernet/intel/ice/ice_main.c tx_ring = vsi->tx_rings[i]; vsi 4690 drivers/net/ethernet/intel/ice/ice_main.c head = (rd32(hw, QTX_COMM_HEAD(vsi->txq_map[hung_queue])) & vsi 4696 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, hung_queue, tx_ring->next_to_clean, vsi 4717 drivers/net/ethernet/intel/ice/ice_main.c set_bit(__ICE_NEEDS_RESTART, vsi->state); vsi 4741 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 4745 drivers/net/ethernet/intel/ice/ice_main.c if (test_bit(__ICE_NEEDS_RESTART, vsi->back->state)) { vsi 4752 drivers/net/ethernet/intel/ice/ice_main.c pi = vsi->port_info; vsi 4762 drivers/net/ethernet/intel/ice/ice_main.c err = ice_force_phys_link_state(vsi, true); vsi 4773 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, err); vsi 4776 drivers/net/ethernet/intel/ice/ice_main.c set_bit(ICE_FLAG_NO_MEDIA, vsi->back->flags); vsi 4779 drivers/net/ethernet/intel/ice/ice_main.c err = ice_vsi_open(vsi); vsi 4782 drivers/net/ethernet/intel/ice/ice_main.c vsi->vsi_num, vsi->vsw->sw_id); vsi 4799 drivers/net/ethernet/intel/ice/ice_main.c struct ice_vsi *vsi = np->vsi; vsi 4801 drivers/net/ethernet/intel/ice/ice_main.c ice_vsi_close(vsi); vsi 49 drivers/net/ethernet/intel/ice/ice_switch.c sizeof(((struct ice_sw_rule_vsi_list *)0)->vsi) + \ vsi 50 drivers/net/ethernet/intel/ice/ice_switch.c ((n) * sizeof(((struct ice_sw_rule_vsi_list *)0)->vsi))) vsi 326 drivers/net/ethernet/intel/ice/ice_switch.c ice_save_vsi_ctx(struct ice_hw *hw, u16 vsi_handle, struct ice_vsi_ctx *vsi) vsi 328 drivers/net/ethernet/intel/ice/ice_switch.c hw->vsi_ctx[vsi_handle] = vsi; vsi 338 drivers/net/ethernet/intel/ice/ice_switch.c struct ice_vsi_ctx *vsi; vsi 341 drivers/net/ethernet/intel/ice/ice_switch.c vsi = ice_get_vsi_ctx(hw, vsi_handle); vsi 342 drivers/net/ethernet/intel/ice/ice_switch.c if (!vsi) vsi 345 drivers/net/ethernet/intel/ice/ice_switch.c if (vsi->lan_q_ctx[i]) { vsi 346 drivers/net/ethernet/intel/ice/ice_switch.c devm_kfree(ice_hw_to_dev(hw), vsi->lan_q_ctx[i]); vsi 347 drivers/net/ethernet/intel/ice/ice_switch.c vsi->lan_q_ctx[i] = NULL; vsi 361 drivers/net/ethernet/intel/ice/ice_switch.c struct ice_vsi_ctx *vsi; vsi 363 drivers/net/ethernet/intel/ice/ice_switch.c vsi = ice_get_vsi_ctx(hw, vsi_handle); vsi 364 drivers/net/ethernet/intel/ice/ice_switch.c if (vsi) { vsi 366 drivers/net/ethernet/intel/ice/ice_switch.c devm_kfree(ice_hw_to_dev(hw), vsi); vsi 1028 drivers/net/ethernet/intel/ice/ice_switch.c s_rule->pdata.vsi_list.vsi[i] = vsi 107 drivers/net/ethernet/intel/ice/ice_txrx.c struct ice_vsi *vsi = tx_ring->vsi; vsi 116 drivers/net/ethernet/intel/ice/ice_txrx.c prefetch(&vsi->state); vsi 210 drivers/net/ethernet/intel/ice/ice_txrx.c !test_bit(__ICE_DOWN, vsi->state)) { vsi 948 drivers/net/ethernet/intel/ice/ice_txrx.c ring->vsi->back->hw_csum_rx_error++; vsi 1229 drivers/net/ethernet/intel/ice/ice_txrx.c prefetch(q_vector->vsi->port_info); vsi 1314 drivers/net/ethernet/intel/ice/ice_txrx.c itr = ice_adjust_itr_by_size_and_speed(q_vector->vsi->port_info, vsi 1366 drivers/net/ethernet/intel/ice/ice_txrx.c struct ice_vsi *vsi = q_vector->vsi; vsi 1375 drivers/net/ethernet/intel/ice/ice_txrx.c wr32(&vsi->back->hw, GLINT_DYN_CTL(q_vector->reg_idx), itr_val); vsi 1424 drivers/net/ethernet/intel/ice/ice_txrx.c if (!test_bit(__ICE_DOWN, q_vector->vsi->state)) vsi 1425 drivers/net/ethernet/intel/ice/ice_txrx.c wr32(&q_vector->vsi->back->hw, vsi 1446 drivers/net/ethernet/intel/ice/ice_txrx.c struct ice_vsi *vsi = q_vector->vsi; vsi 1453 drivers/net/ethernet/intel/ice/ice_txrx.c wr32(&vsi->back->hw, GLINT_DYN_CTL(q_vector->reg_idx), vsi 1458 drivers/net/ethernet/intel/ice/ice_txrx.c wr32(&vsi->back->hw, GLINT_DYN_CTL(q_vector->reg_idx), vsi 2110 drivers/net/ethernet/intel/ice/ice_txrx.c struct ice_vsi *vsi = tx_ring->vsi; vsi 2160 drivers/net/ethernet/intel/ice/ice_txrx.c vsi->type == ICE_VSI_PF && vsi 2161 drivers/net/ethernet/intel/ice/ice_txrx.c vsi->port_info->is_sw_lldp)) vsi 2200 drivers/net/ethernet/intel/ice/ice_txrx.c struct ice_vsi *vsi = np->vsi; vsi 2203 drivers/net/ethernet/intel/ice/ice_txrx.c tx_ring = vsi->tx_rings[skb->queue_mapping]; vsi 171 drivers/net/ethernet/intel/ice/ice_txrx.h struct ice_vsi *vsi; /* Backreference to associated VSI */ vsi 162 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_release(pf->vsi[vf->lan_vsi_idx]); vsi 186 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 191 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 208 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (vsi->tx_mapping_mode == ICE_VSI_MAP_CONTIG) vsi 214 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (vsi->rx_mapping_mode == ICE_VSI_MAP_CONTIG) vsi 277 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 279 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 281 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_stop_lan_tx_rings(vsi, ICE_NO_RESET, vf->vf_id); vsi 282 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_stop_rx_rings(vsi); vsi 459 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c static int ice_vsi_manage_pvid(struct ice_vsi *vsi, u16 vid, bool enable) vsi 461 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct device *dev = &vsi->back->pdev->dev; vsi 462 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_hw *hw = &vsi->back->hw; vsi 471 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ctxt->info = vsi->info; vsi 477 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_update_vsi(hw, vsi->idx, ctxt, NULL); vsi 485 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->info = ctxt->info; vsi 534 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 540 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = ice_vf_vsi_setup(pf, pf->hw.port_info, vf->vf_id); vsi 541 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 546 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf->lan_vsi_idx = vsi->idx; vsi 547 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf->lan_vsi_num = vsi->vsi_num; vsi 551 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_manage_pvid(vsi, vf->port_vlan_id, true); vsi 552 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_add_vlan(vsi, vf->port_vlan_id & ICE_VLAN_M); vsi 557 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_add_mac_to_list(vsi, &tmp_add_list, broadcast); vsi 562 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_add_mac_to_list(vsi, &tmp_add_list, vsi 637 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 643 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 678 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (vsi->tx_mapping_mode == ICE_VSI_MAP_CONTIG) { vsi 683 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c reg = (((vsi->txq_map[0] << VPLAN_TX_QBASE_VFFIRSTQ_S) & vsi 685 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c (((vsi->alloc_txq - 1) << VPLAN_TX_QBASE_VFNUMQ_S) & vsi 697 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (vsi->rx_mapping_mode == ICE_VSI_MAP_CONTIG) { vsi 702 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c reg = (((vsi->rxq_map[0] << VPLAN_RX_QBASE_VFFIRSTQ_S) & vsi 704 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c (((vsi->alloc_txq - 1) << VPLAN_RX_QBASE_VFNUMQ_S) & vsi 985 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vf_set_vsi_promisc(struct ice_vf *vf, struct ice_vsi *vsi, u8 promisc_m, vsi 994 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_set_vlan_vsi_promisc(hw, vsi->idx, promisc_m, vsi 998 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_clear_vsi_promisc(hw, vsi->idx, promisc_m, vsi 1001 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_set_vsi_promisc(hw, vsi->idx, promisc_m, vsi 1005 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_clear_vsi_promisc(hw, vsi->idx, promisc_m, vsi 1008 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_set_vsi_promisc(hw, vsi->idx, promisc_m, vsi 1087 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 1090 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1093 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_dis_vsi_txq(vsi->port_info, vsi->idx, 0, 0, NULL, NULL, vsi 1164 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 1186 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1194 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_dis_vsi_txq(vsi->port_info, vsi->idx, 0, 0, NULL, NULL, vsi 1233 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1234 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vf_set_vsi_promisc(vf, vsi, promisc_m, true)) vsi 1602 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 1627 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1628 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 1633 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi->info.pvid) vsi 1668 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vfres->num_queue_pairs = vsi->num_txq; vsi 1675 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vfres->vsi_res[0].num_queue_pairs = vsi->num_txq; vsi 1716 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (pf->vsi[i] && pf->vsi[i]->vsi_num == id) vsi 1717 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c return pf->vsi[i]; vsi 1732 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 1734 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = ice_find_vsi_from_id(pf, vsi_id); vsi 1736 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c return (vsi && (vsi->vf_id == vf->vf_id)); vsi 1749 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = ice_find_vsi_from_id(vf->pf, vsi_id); vsi 1751 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c return (vsi && (qid < vsi->alloc_txq)); vsi 1782 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = NULL; vsi 1804 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1805 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 1810 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_set_rss(vsi, vrk->key, NULL, 0)) vsi 1829 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = NULL; vsi 1851 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1852 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 1857 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_set_rss(vsi, NULL, vrl->lut, ICE_VSIQF_HLUT_ARRAY_SIZE)) vsi 1878 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 1890 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1891 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 1896 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_update_eth_stats(vsi); vsi 1898 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c stats = vsi->eth_stats; vsi 1919 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 1944 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 1945 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 1965 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_ctrl_rx_ring(vsi, true, vf_q_id)) { vsi 1966 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c dev_err(&vsi->back->pdev->dev, vsi 1968 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf_q_id, vsi->vsi_num); vsi 1977 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2017 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2043 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2044 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 2053 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_ring *ring = vsi->tx_rings[vf_q_id]; vsi 2065 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_fill_txq_meta(vsi, ring, &txq_meta); vsi 2067 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_stop_tx_ring(vsi, ICE_NO_RESET, vf->vf_id, vsi 2069 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c dev_err(&vsi->back->pdev->dev, vsi 2071 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf_q_id, vsi->vsi_num); vsi 2095 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_ctrl_rx_ring(vsi, false, vf_q_id)) { vsi 2096 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c dev_err(&vsi->back->pdev->dev, vsi 2098 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf_q_id, vsi->vsi_num); vsi 2134 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2152 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2153 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 2180 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c q_vector = vsi->q_vectors[vector_id - ICE_NONQ_VECS_VF]; vsi 2196 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->rx_rings[vsi_q_id]->q_vector = q_vector; vsi 2197 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_cfg_rxq_interrupt(vsi, vsi_q_id, vector_id, vsi 2210 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->tx_rings[vsi_q_id]->q_vector = q_vector; vsi 2211 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_cfg_txq_interrupt(vsi, vsi_q_id, vector_id, vsi 2237 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2250 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2251 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 2257 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c qci->num_queue_pairs > min_t(u16, vsi->alloc_txq, vsi->alloc_rxq)) { vsi 2260 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf->vf_id, min_t(u16, vsi->alloc_txq, vsi->alloc_rxq)); vsi 2280 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->tx_rings[i]->dma = qpi->txq.dma_ring_addr; vsi 2281 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->tx_rings[i]->count = qpi->txq.ring_len; vsi 2287 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->rx_rings[i]->dma = qpi->rxq.dma_ring_addr; vsi 2288 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->rx_rings[i]->count = qpi->rxq.ring_len; vsi 2296 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->rx_buf_len = qpi->rxq.databuffer_size; vsi 2297 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->rx_rings[i]->rx_buf_len = vsi->rx_buf_len; vsi 2305 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->max_frame = qpi->rxq.max_pkt_size; vsi 2311 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->num_txq = num_txq; vsi 2312 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->num_rxq = num_rxq; vsi 2314 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->tc_cfg.tc_info[0].qcount_tx = num_txq; vsi 2315 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->tc_cfg.tc_info[0].qcount_rx = num_rxq; vsi 2317 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_cfg_lan_txqs(vsi) || ice_vsi_cfg_rxqs(vsi)) vsi 2370 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2397 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2398 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 2444 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_vsi_cfg_mac_fltr(vsi, maddr, set); vsi 2575 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_pf *pf = np->vsi->back; vsi 2576 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2597 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2603 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (le16_to_cpu(vsi->info.pvid) == vlanprio) { vsi 2611 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (vsi->info.pvid) vsi 2612 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_kill_vlan(vsi, (le16_to_cpu(vsi->info.pvid) & vsi 2616 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ret = ice_vsi_manage_pvid(vsi, vlanprio, true); vsi 2620 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_vsi_manage_pvid(vsi, 0, false); vsi 2621 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->info.pvid = 0; vsi 2629 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ret = ice_vsi_add_vlan(vsi, vlan_id); vsi 2637 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vf->port_vlan_id = le16_to_cpu(vsi->info.pvid); vsi 2658 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2695 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2696 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 2701 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (vsi->info.pvid) { vsi 2706 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_manage_vlan_stripping(vsi, add_v)) { vsi 2709 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c add_v ? "en" : "dis", vsi->vsi_num); vsi 2734 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_add_vlan(vsi, vid)) { vsi 2742 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_cfg_vlan_pruning(vsi, true, false); vsi 2755 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_set_vsi_promisc(hw, vsi->idx, vsi 2782 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_kill_vlan(vsi, vid)) { vsi 2790 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_cfg_vlan_pruning(vsi, false, false); vsi 2797 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ice_clear_vsi_promisc(hw, vsi->idx, vsi 2847 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2854 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2855 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_manage_vlan_stripping(vsi, true)) vsi 2873 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi; vsi 2880 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 2881 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (!vsi) { vsi 2886 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c if (ice_vsi_manage_vlan_stripping(vsi, false)) vsi 3027 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = np->vsi; vsi 3028 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_pf *pf = vsi->back; vsi 3038 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi = pf->vsi[vf->lan_vsi_idx]; vsi 3049 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ivi->vlan = le16_to_cpu(vsi->info.pvid) & ICE_VLAN_M; vsi 3050 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c ivi->qos = (le16_to_cpu(vsi->info.pvid) & ICE_PRIORITY_M) >> vsi 3077 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = np->vsi; vsi 3078 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_pf *pf = vsi->back; vsi 3113 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c status = ice_update_vsi(&pf->hw, vsi->idx, ctx, NULL); vsi 3122 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->info.sec_flags = ctx->info.sec_flags; vsi 3123 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c vsi->info.sw_flags2 = ctx->info.sw_flags2; vsi 3140 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = np->vsi; vsi 3141 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_pf *pf = vsi->back; vsi 3188 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_vsi *vsi = np->vsi; vsi 3189 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_pf *pf = vsi->back; vsi 3227 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c struct ice_pf *pf = np->vsi->back; vsi 772 kernel/bpf/btf.c const struct btf_var_secinfo *vsi, vsi 784 kernel/bpf/btf.c vsi->type, vsi->offset, vsi->size); vsi 2641 kernel/bpf/btf.c const struct btf_var_secinfo *vsi; vsi 2645 kernel/bpf/btf.c meta_needed = btf_type_vlen(t) * sizeof(*vsi); vsi 2676 kernel/bpf/btf.c for_each_vsi(i, t, vsi) { vsi 2678 kernel/bpf/btf.c if (!vsi->type || !BTF_TYPE_ID_VALID(vsi->type)) { vsi 2679 kernel/bpf/btf.c btf_verifier_log_vsi(env, t, vsi, vsi 2684 kernel/bpf/btf.c if (vsi->offset < last_vsi_end_off || vsi->offset >= t->size) { vsi 2685 kernel/bpf/btf.c btf_verifier_log_vsi(env, t, vsi, vsi 2690 kernel/bpf/btf.c if (!vsi->size || vsi->size > t->size) { vsi 2691 kernel/bpf/btf.c btf_verifier_log_vsi(env, t, vsi, vsi 2696 kernel/bpf/btf.c last_vsi_end_off = vsi->offset + vsi->size; vsi 2698 kernel/bpf/btf.c btf_verifier_log_vsi(env, t, vsi, vsi 2703 kernel/bpf/btf.c btf_verifier_log_vsi(env, t, vsi, NULL); vsi 2704 kernel/bpf/btf.c sum += vsi->size; vsi 2718 kernel/bpf/btf.c const struct btf_var_secinfo *vsi; vsi 2722 kernel/bpf/btf.c for_each_vsi_from(i, v->next_member, v->t, vsi) { vsi 2723 kernel/bpf/btf.c u32 var_type_id = vsi->type, type_id, type_size = 0; vsi 2727 kernel/bpf/btf.c btf_verifier_log_vsi(env, v->t, vsi, vsi 2740 kernel/bpf/btf.c btf_verifier_log_vsi(env, v->t, vsi, "Invalid type"); vsi 2744 kernel/bpf/btf.c if (vsi->size < type_size) { vsi 2745 kernel/bpf/btf.c btf_verifier_log_vsi(env, v->t, vsi, "Invalid size"); vsi 2765 kernel/bpf/btf.c const struct btf_var_secinfo *vsi; vsi 2770 kernel/bpf/btf.c for_each_vsi(i, t, vsi) { vsi 2771 kernel/bpf/btf.c var = btf_type_by_id(btf, vsi->type); vsi 2774 kernel/bpf/btf.c btf_type_ops(var)->seq_show(btf, var, vsi->type, vsi 2775 kernel/bpf/btf.c data + vsi->offset, bits_offset, m); vsi 329 tools/bpf/bpftool/btf_dumper.c struct btf_var_secinfo *vsi; vsi 338 tools/bpf/bpftool/btf_dumper.c vsi = (struct btf_var_secinfo *)(t + 1); vsi 344 tools/bpf/bpftool/btf_dumper.c ret = btf_dumper_do_type(d, vsi[i].type, 0, data + vsi[i].offset); vsi 511 tools/lib/bpf/btf.c struct btf_var_secinfo *vsi; vsi 528 tools/lib/bpf/btf.c for (i = 0, vsi = btf_var_secinfos(t); i < vars; i++, vsi++) { vsi 529 tools/lib/bpf/btf.c t_var = btf__type_by_id(btf, vsi->type); vsi 553 tools/lib/bpf/btf.c vsi->offset = off; vsi 556 tools/lib/bpf/btf.c qsort(t + 1, vars, sizeof(*vsi), compare_vsi_off);