Lines Matching refs:req
55 first_tlv->resp_msg_offset = sizeof(bp->vf2pf_mbox->req); in bnx2x_vfpf_prep()
226 struct vfpf_acquire_tlv *req = &bp->vf2pf_mbox->req.acquire; in bnx2x_vfpf_acquire() local
234 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_ACQUIRE, sizeof(*req)); in bnx2x_vfpf_acquire()
241 req->vfdev_info.vf_id = vf_id; in bnx2x_vfpf_acquire()
242 req->vfdev_info.vf_os = 0; in bnx2x_vfpf_acquire()
243 req->vfdev_info.fp_hsi_ver = ETH_FP_HSI_VERSION; in bnx2x_vfpf_acquire()
245 req->resc_request.num_rxqs = rx_count; in bnx2x_vfpf_acquire()
246 req->resc_request.num_txqs = tx_count; in bnx2x_vfpf_acquire()
247 req->resc_request.num_sbs = bp->igu_sb_cnt; in bnx2x_vfpf_acquire()
248 req->resc_request.num_mac_filters = VF_ACQUIRE_MAC_FILTERS; in bnx2x_vfpf_acquire()
249 req->resc_request.num_mc_filters = VF_ACQUIRE_MC_FILTERS; in bnx2x_vfpf_acquire()
250 req->resc_request.num_vlan_filters = VF_ACQUIRE_VLAN_FILTERS; in bnx2x_vfpf_acquire()
253 req->bulletin_addr = bp->pf2vf_bulletin_mapping; in bnx2x_vfpf_acquire()
256 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, in bnx2x_vfpf_acquire()
260 req->vfdev_info.caps |= VF_CAP_SUPPORT_EXT_BULLETIN; in bnx2x_vfpf_acquire()
262 req->vfdev_info.caps |= VF_CAP_SUPPORT_VLAN_FILTER; in bnx2x_vfpf_acquire()
265 bnx2x_add_tlv(bp, req, in bnx2x_vfpf_acquire()
266 req->first_tlv.tl.length + sizeof(struct channel_tlv), in bnx2x_vfpf_acquire()
271 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_acquire()
303 req->resc_request.num_txqs = in bnx2x_vfpf_acquire()
304 min(req->resc_request.num_txqs, in bnx2x_vfpf_acquire()
306 req->resc_request.num_rxqs = in bnx2x_vfpf_acquire()
307 min(req->resc_request.num_rxqs, in bnx2x_vfpf_acquire()
309 req->resc_request.num_sbs = in bnx2x_vfpf_acquire()
310 min(req->resc_request.num_sbs, in bnx2x_vfpf_acquire()
312 req->resc_request.num_mac_filters = in bnx2x_vfpf_acquire()
313 min(req->resc_request.num_mac_filters, in bnx2x_vfpf_acquire()
315 req->resc_request.num_vlan_filters = in bnx2x_vfpf_acquire()
316 min(req->resc_request.num_vlan_filters, in bnx2x_vfpf_acquire()
318 req->resc_request.num_mc_filters = in bnx2x_vfpf_acquire()
319 min(req->resc_request.num_mc_filters, in bnx2x_vfpf_acquire()
360 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_acquire()
392 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_acquire()
398 struct vfpf_release_tlv *req = &bp->vf2pf_mbox->req.release; in bnx2x_vfpf_release() local
403 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_RELEASE, sizeof(*req)); in bnx2x_vfpf_release()
410 req->vf_id = vf_id; in bnx2x_vfpf_release()
413 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_release()
417 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_release()
437 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_release()
445 struct vfpf_init_tlv *req = &bp->vf2pf_mbox->req.init; in bnx2x_vfpf_init() local
450 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_INIT, sizeof(*req)); in bnx2x_vfpf_init()
454 req->sb_addr[i] = (dma_addr_t)bnx2x_fp(bp, i, in bnx2x_vfpf_init()
458 req->stats_addr = bp->fw_stats_data_mapping + in bnx2x_vfpf_init()
461 req->stats_stride = sizeof(struct per_queue_stats); in bnx2x_vfpf_init()
464 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_init()
468 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_init()
483 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_init()
491 struct vfpf_close_tlv *req = &bp->vf2pf_mbox->req.close; in bnx2x_vfpf_close_vf() local
510 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_CLOSE, sizeof(*req)); in bnx2x_vfpf_close_vf()
512 req->vf_id = vf_id; in bnx2x_vfpf_close_vf()
515 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_close_vf()
519 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_close_vf()
530 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_close_vf()
603 struct vfpf_setup_q_tlv *req = &bp->vf2pf_mbox->req.setup_q; in bnx2x_vfpf_setup_q() local
610 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_SETUP_Q, sizeof(*req)); in bnx2x_vfpf_setup_q()
630 req->vf_qid = fp_idx; in bnx2x_vfpf_setup_q()
631 req->param_valid = VFPF_RXQ_VALID | VFPF_TXQ_VALID; in bnx2x_vfpf_setup_q()
634 req->rxq.rcq_addr = fp->rx_comp_mapping; in bnx2x_vfpf_setup_q()
635 req->rxq.rcq_np_addr = fp->rx_comp_mapping + BCM_PAGE_SIZE; in bnx2x_vfpf_setup_q()
636 req->rxq.rxq_addr = fp->rx_desc_mapping; in bnx2x_vfpf_setup_q()
637 req->rxq.sge_addr = fp->rx_sge_mapping; in bnx2x_vfpf_setup_q()
638 req->rxq.vf_sb = fp_idx; in bnx2x_vfpf_setup_q()
639 req->rxq.sb_index = HC_INDEX_ETH_RX_CQ_CONS; in bnx2x_vfpf_setup_q()
640 req->rxq.hc_rate = bp->rx_ticks ? 1000000/bp->rx_ticks : 0; in bnx2x_vfpf_setup_q()
641 req->rxq.mtu = bp->dev->mtu; in bnx2x_vfpf_setup_q()
642 req->rxq.buf_sz = fp->rx_buf_size; in bnx2x_vfpf_setup_q()
643 req->rxq.sge_buf_sz = BCM_PAGE_SIZE * PAGES_PER_SGE; in bnx2x_vfpf_setup_q()
644 req->rxq.tpa_agg_sz = tpa_agg_size; in bnx2x_vfpf_setup_q()
645 req->rxq.max_sge_pkt = SGE_PAGE_ALIGN(bp->dev->mtu) >> SGE_PAGE_SHIFT; in bnx2x_vfpf_setup_q()
646 req->rxq.max_sge_pkt = ((req->rxq.max_sge_pkt + PAGES_PER_SGE - 1) & in bnx2x_vfpf_setup_q()
648 req->rxq.flags = flags; in bnx2x_vfpf_setup_q()
649 req->rxq.drop_flags = 0; in bnx2x_vfpf_setup_q()
650 req->rxq.cache_line_log = BNX2X_RX_ALIGN_SHIFT; in bnx2x_vfpf_setup_q()
651 req->rxq.stat_id = -1; /* No stats at the moment */ in bnx2x_vfpf_setup_q()
654 req->txq.txq_addr = fp->txdata_ptr[FIRST_TX_COS_INDEX]->tx_desc_mapping; in bnx2x_vfpf_setup_q()
655 req->txq.vf_sb = fp_idx; in bnx2x_vfpf_setup_q()
656 req->txq.sb_index = HC_INDEX_ETH_TX_CQ_CONS_COS0; in bnx2x_vfpf_setup_q()
657 req->txq.hc_rate = bp->tx_ticks ? 1000000/bp->tx_ticks : 0; in bnx2x_vfpf_setup_q()
658 req->txq.flags = flags; in bnx2x_vfpf_setup_q()
659 req->txq.traffic_type = LLFC_TRAFFIC_TYPE_NW; in bnx2x_vfpf_setup_q()
662 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_setup_q()
666 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_setup_q()
679 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_setup_q()
686 struct vfpf_q_op_tlv *req = &bp->vf2pf_mbox->req.q_op; in bnx2x_vfpf_teardown_queue() local
691 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_TEARDOWN_Q, in bnx2x_vfpf_teardown_queue()
692 sizeof(*req)); in bnx2x_vfpf_teardown_queue()
694 req->vf_qid = qidx; in bnx2x_vfpf_teardown_queue()
697 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_teardown_queue()
701 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_teardown_queue()
719 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_teardown_queue()
727 struct vfpf_set_q_filters_tlv *req = &bp->vf2pf_mbox->req.set_q_filters; in bnx2x_vfpf_config_mac() local
733 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_SET_Q_FILTERS, in bnx2x_vfpf_config_mac()
734 sizeof(*req)); in bnx2x_vfpf_config_mac()
736 req->flags = VFPF_SET_Q_FILTERS_MAC_VLAN_CHANGED; in bnx2x_vfpf_config_mac()
737 req->vf_qid = vf_qid; in bnx2x_vfpf_config_mac()
738 req->n_mac_vlan_filters = 1; in bnx2x_vfpf_config_mac()
740 req->filters[0].flags = VFPF_Q_FILTER_DEST_MAC_VALID; in bnx2x_vfpf_config_mac()
742 req->filters[0].flags |= VFPF_Q_FILTER_SET; in bnx2x_vfpf_config_mac()
748 memcpy(req->filters[0].mac, addr, ETH_ALEN); in bnx2x_vfpf_config_mac()
751 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_config_mac()
755 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_config_mac()
775 memcpy(req->filters[0].mac, bp->dev->dev_addr, in bnx2x_vfpf_config_mac()
792 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_config_mac()
802 struct vfpf_rss_tlv *req = &bp->vf2pf_mbox->req.update_rss; in bnx2x_vfpf_config_rss() local
806 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_UPDATE_RSS, in bnx2x_vfpf_config_rss()
807 sizeof(*req)); in bnx2x_vfpf_config_rss()
810 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_config_rss()
813 memcpy(req->ind_table, params->ind_table, T_ETH_INDIRECTION_TABLE_SIZE); in bnx2x_vfpf_config_rss()
814 memcpy(req->rss_key, params->rss_key, sizeof(params->rss_key)); in bnx2x_vfpf_config_rss()
815 req->ind_table_size = T_ETH_INDIRECTION_TABLE_SIZE; in bnx2x_vfpf_config_rss()
816 req->rss_key_size = T_ETH_RSS_KEY; in bnx2x_vfpf_config_rss()
817 req->rss_result_mask = params->rss_result_mask; in bnx2x_vfpf_config_rss()
821 req->rss_flags |= VFPF_RSS_MODE_DISABLED; in bnx2x_vfpf_config_rss()
823 req->rss_flags |= VFPF_RSS_MODE_REGULAR; in bnx2x_vfpf_config_rss()
825 req->rss_flags |= VFPF_RSS_SET_SRCH; in bnx2x_vfpf_config_rss()
827 req->rss_flags |= VFPF_RSS_IPV4; in bnx2x_vfpf_config_rss()
829 req->rss_flags |= VFPF_RSS_IPV4_TCP; in bnx2x_vfpf_config_rss()
831 req->rss_flags |= VFPF_RSS_IPV4_UDP; in bnx2x_vfpf_config_rss()
833 req->rss_flags |= VFPF_RSS_IPV6; in bnx2x_vfpf_config_rss()
835 req->rss_flags |= VFPF_RSS_IPV6_TCP; in bnx2x_vfpf_config_rss()
837 req->rss_flags |= VFPF_RSS_IPV6_UDP; in bnx2x_vfpf_config_rss()
839 DP(BNX2X_MSG_IOV, "rss flags %x\n", req->rss_flags); in bnx2x_vfpf_config_rss()
842 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_config_rss()
861 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_config_rss()
869 struct vfpf_set_q_filters_tlv *req = &bp->vf2pf_mbox->req.set_q_filters; in bnx2x_vfpf_set_mcast() local
880 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_SET_Q_FILTERS, in bnx2x_vfpf_set_mcast()
881 sizeof(*req)); in bnx2x_vfpf_set_mcast()
889 memcpy(req->multicast[i], bnx2x_mc_addr(ha), ETH_ALEN); in bnx2x_vfpf_set_mcast()
903 req->n_multicast = i; in bnx2x_vfpf_set_mcast()
904 req->flags |= VFPF_SET_Q_FILTERS_MULTICAST_CHANGED; in bnx2x_vfpf_set_mcast()
905 req->vf_qid = 0; in bnx2x_vfpf_set_mcast()
908 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_set_mcast()
912 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_set_mcast()
925 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_set_mcast()
933 struct vfpf_set_q_filters_tlv *req = &bp->vf2pf_mbox->req.set_q_filters; in bnx2x_vfpf_update_vlan() local
943 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_SET_Q_FILTERS, in bnx2x_vfpf_update_vlan()
944 sizeof(*req)); in bnx2x_vfpf_update_vlan()
946 req->flags = VFPF_SET_Q_FILTERS_MAC_VLAN_CHANGED; in bnx2x_vfpf_update_vlan()
947 req->vf_qid = vf_qid; in bnx2x_vfpf_update_vlan()
948 req->n_mac_vlan_filters = 1; in bnx2x_vfpf_update_vlan()
950 req->filters[0].flags = VFPF_Q_FILTER_VLAN_TAG_VALID; in bnx2x_vfpf_update_vlan()
953 req->filters[0].flags |= VFPF_Q_FILTER_SET; in bnx2x_vfpf_update_vlan()
964 req->filters[0].vlan_tag = vid; in bnx2x_vfpf_update_vlan()
967 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_update_vlan()
971 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_update_vlan()
986 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_update_vlan()
994 struct vfpf_set_q_filters_tlv *req = &bp->vf2pf_mbox->req.set_q_filters; in bnx2x_vfpf_storm_rx_mode() local
999 bnx2x_vfpf_prep(bp, &req->first_tlv, CHANNEL_TLV_SET_Q_FILTERS, in bnx2x_vfpf_storm_rx_mode()
1000 sizeof(*req)); in bnx2x_vfpf_storm_rx_mode()
1006 req->rx_mask = VFPF_RX_MASK_ACCEPT_NONE; in bnx2x_vfpf_storm_rx_mode()
1011 req->rx_mask = VFPF_RX_MASK_ACCEPT_MATCHED_MULTICAST; in bnx2x_vfpf_storm_rx_mode()
1012 req->rx_mask |= VFPF_RX_MASK_ACCEPT_MATCHED_UNICAST; in bnx2x_vfpf_storm_rx_mode()
1013 req->rx_mask |= VFPF_RX_MASK_ACCEPT_BROADCAST; in bnx2x_vfpf_storm_rx_mode()
1015 req->rx_mask |= VFPF_RX_MASK_ACCEPT_ANY_VLAN; in bnx2x_vfpf_storm_rx_mode()
1019 req->rx_mask |= VFPF_RX_MASK_ACCEPT_ANY_VLAN; in bnx2x_vfpf_storm_rx_mode()
1021 req->flags |= VFPF_SET_Q_FILTERS_RX_MASK_CHANGED; in bnx2x_vfpf_storm_rx_mode()
1022 req->vf_qid = 0; in bnx2x_vfpf_storm_rx_mode()
1025 bnx2x_add_tlv(bp, req, req->first_tlv.tl.length, CHANNEL_TLV_LIST_END, in bnx2x_vfpf_storm_rx_mode()
1029 bnx2x_dp_tlv_list(bp, req); in bnx2x_vfpf_storm_rx_mode()
1040 bnx2x_vfpf_finalize(bp, &req->first_tlv); in bnx2x_vfpf_storm_rx_mode()
1347 if (bnx2x_search_tlv_list(bp, &mbx->msg->req, in bnx2x_vf_mbx_acquire_resp()
1388 if (bnx2x_search_tlv_list(bp, &mbx->msg->req, in bnx2x_vf_mbx_acquire_chk_dorq()
1393 if (bnx2x_vf_mbx_is_windows_vm(bp, &mbx->msg->req.acquire)) in bnx2x_vf_mbx_acquire_chk_dorq()
1403 struct vfpf_acquire_tlv *acquire = &mbx->msg->req.acquire; in bnx2x_vf_mbx_acquire()
1429 if (bnx2x_vf_mbx_is_windows_vm(bp, &mbx->msg->req.acquire)) in bnx2x_vf_mbx_acquire()
1472 struct vfpf_init_tlv *init = &mbx->msg->req.init; in bnx2x_vf_mbx_init_vf()
1523 struct vfpf_setup_q_tlv *setup_q = &mbx->msg->req.setup_q; in bnx2x_vf_mbx_setup_q()
1742 &BP_VF_MBX(bp, vf->index)->msg->req.set_q_filters; in bnx2x_vf_mbx_qfilters()
1910 struct vfpf_set_q_filters_tlv *filters = &mbx->msg->req.set_q_filters; in bnx2x_vf_mbx_set_q_filters()
1936 int qid = mbx->msg->req.q_op.vf_qid; in bnx2x_vf_mbx_teardown_q()
1972 struct vfpf_rss_tlv *rss_tlv = &mbx->msg->req.update_rss; in bnx2x_vf_mbx_update_rss()
2056 struct vfpf_tpa_tlv *tpa_tlv = &mbx->msg->req.update_tpa; in bnx2x_vf_mbx_update_tpa()
2149 mbx->msg->req.tlv_buf_size.tlv_buffer[i]); in bnx2x_vf_mbx_request()
2240 mbx->first_tlv = mbx->msg->req.first_tlv; in bnx2x_vf_mbx()