Lines Matching refs:mbx
56 static void nic_send_msg_to_vf(struct nicpf *nic, int vf, union nic_mbx *mbx) in nic_send_msg_to_vf() argument
59 u64 *msg = (u64 *)mbx; in nic_send_msg_to_vf()
79 union nic_mbx mbx = {}; in nic_mbx_send_ready() local
83 mbx.nic_cfg.msg = NIC_MBOX_MSG_READY; in nic_mbx_send_ready()
84 mbx.nic_cfg.vf_id = vf; in nic_mbx_send_ready()
87 mbx.nic_cfg.tns_mode = NIC_TNS_MODE; in nic_mbx_send_ready()
89 mbx.nic_cfg.tns_mode = NIC_TNS_BYPASS_MODE; in nic_mbx_send_ready()
97 memcpy((u8 *)&mbx.nic_cfg.mac_addr, mac, 6); in nic_mbx_send_ready()
107 mbx.nic_cfg.sqs_mode = (vf >= nic->num_vf_en) ? true : false; in nic_mbx_send_ready()
109 mbx.nic_cfg.node_id = nic->node; in nic_mbx_send_ready()
111 mbx.nic_cfg.loopback_supported = vf < nic->num_vf_en; in nic_mbx_send_ready()
113 nic_send_msg_to_vf(nic, vf, &mbx); in nic_mbx_send_ready()
121 union nic_mbx mbx = {}; in nic_mbx_send_ack() local
123 mbx.msg.msg = NIC_MBOX_MSG_ACK; in nic_mbx_send_ack()
124 nic_send_msg_to_vf(nic, vf, &mbx); in nic_mbx_send_ack()
133 union nic_mbx mbx = {}; in nic_mbx_send_nack() local
135 mbx.msg.msg = NIC_MBOX_MSG_NACK; in nic_mbx_send_nack()
136 nic_send_msg_to_vf(nic, vf, &mbx); in nic_mbx_send_nack()
157 union nic_mbx mbx = {}; in nic_handle_mbx_intr() local
169 mbx_data = (u64 *)&mbx; in nic_handle_mbx_intr()
177 debug("%s: Mailbox msg %d from VF%d\n", __func__, mbx.msg.msg, vf); in nic_handle_mbx_intr()
178 switch (mbx.msg.msg) { in nic_handle_mbx_intr()
190 (mbx.qs.num << NIC_QS_ID_SHIFT); in nic_handle_mbx_intr()
191 cfg = mbx.qs.cfg; in nic_handle_mbx_intr()
204 (mbx.rq.qs_num << NIC_QS_ID_SHIFT) | in nic_handle_mbx_intr()
205 (mbx.rq.rq_num << NIC_Q_NUM_SHIFT); in nic_handle_mbx_intr()
206 nic_reg_write(nic, reg_addr, mbx.rq.cfg); in nic_handle_mbx_intr()
217 (mbx.rq.qs_num << NIC_QS_ID_SHIFT) | in nic_handle_mbx_intr()
218 (mbx.rq.rq_num << NIC_Q_NUM_SHIFT); in nic_handle_mbx_intr()
219 nic_reg_write(nic, reg_addr, mbx.rq.cfg); in nic_handle_mbx_intr()
226 (mbx.rq.qs_num << NIC_QS_ID_SHIFT) | in nic_handle_mbx_intr()
227 (mbx.rq.rq_num << NIC_Q_NUM_SHIFT); in nic_handle_mbx_intr()
228 nic_reg_write(nic, reg_addr, mbx.rq.cfg); in nic_handle_mbx_intr()
232 (mbx.sq.qs_num << NIC_QS_ID_SHIFT) | in nic_handle_mbx_intr()
233 (mbx.sq.sq_num << NIC_Q_NUM_SHIFT); in nic_handle_mbx_intr()
234 nic_reg_write(nic, reg_addr, mbx.sq.cfg); in nic_handle_mbx_intr()
235 nic_tx_channel_cfg(nic, mbx.qs.num, in nic_handle_mbx_intr()
236 (struct sq_cfg_msg *)&mbx.sq); in nic_handle_mbx_intr()
243 lmac = mbx.mac.vf_id; in nic_handle_mbx_intr()
246 bgx_set_lmac_mac(nic->node, bgx, lmac, mbx.mac.mac_addr); in nic_handle_mbx_intr()
249 ret = nic_update_hw_frs(nic, mbx.frs.max_frs, in nic_handle_mbx_intr()
250 mbx.frs.vf_id); in nic_handle_mbx_intr()
253 nic_config_cpi(nic, &mbx.cpi_cfg); in nic_handle_mbx_intr()
261 nic_config_rss(nic, &mbx.rss_cfg); in nic_handle_mbx_intr()
293 nic_alloc_sqs(nic, &mbx.sqs_alloc); in nic_handle_mbx_intr()
296 nic->nicvf[vf] = mbx.nicvf.nicvf; in nic_handle_mbx_intr()
302 nic_send_snicvf(nic, &mbx.nicvf); in nic_handle_mbx_intr()
306 ret = nic_config_loopback(nic, &mbx.lbk); in nic_handle_mbx_intr()
309 printf("Invalid msg from VF%d, msg 0x%x\n", vf, mbx.msg.msg); in nic_handle_mbx_intr()
315 else if (mbx.msg.msg != NIC_MBOX_MSG_READY) in nic_handle_mbx_intr()