mbx 361 drivers/atm/zatm.c static void poll_rx(struct atm_dev *dev,int mbx) mbx 370 drivers/atm/zatm.c pos = (zatm_dev->mbx_start[mbx] & ~0xffffUL) | zin(MTA(mbx)); mbx 371 drivers/atm/zatm.c while (x = zin(MWA(mbx)), (pos & 0xffff) != x) { mbx 379 drivers/atm/zatm.c if (((pos += 16) & 0xffff) == zatm_dev->mbx_end[mbx]) mbx 380 drivers/atm/zatm.c pos = zatm_dev->mbx_start[mbx]; mbx 476 drivers/atm/zatm.c zout(pos & 0xffff,MTA(mbx)); mbx 744 drivers/atm/zatm.c static void poll_tx(struct atm_dev *dev,int mbx) mbx 752 drivers/atm/zatm.c pos = (zatm_dev->mbx_start[mbx] & ~0xffffUL) | zin(MTA(mbx)); mbx 753 drivers/atm/zatm.c while (x = zin(MWA(mbx)), (pos & 0xffff) != x) { mbx 768 drivers/atm/zatm.c chan = (zatm_dev->mbx_start[mbx][pos >> 2] & uPD98401_TXI_CONN) mbx 778 drivers/atm/zatm.c if (((pos += 4) & 0xffff) == zatm_dev->mbx_end[mbx]) mbx 779 drivers/atm/zatm.c pos = zatm_dev->mbx_start[mbx]; mbx 781 drivers/atm/zatm.c zout(pos & 0xffff,MTA(mbx)); mbx 1308 drivers/atm/zatm.c void *mbx; mbx 1313 drivers/atm/zatm.c mbx = dma_alloc_coherent(&pdev->dev, mbx 1315 drivers/atm/zatm.c if (!mbx) { mbx 1323 drivers/atm/zatm.c if (((unsigned long)mbx ^ mbx_dma) & 0xffff) { mbx 1326 drivers/atm/zatm.c dma_free_coherent(&pdev->dev, 2*MBX_SIZE(i), mbx, mbx_dma); mbx 1330 drivers/atm/zatm.c DPRINTK("mbx@0x%08lx-0x%08lx\n", mbx, mbx + MBX_SIZE(i)); mbx 1331 drivers/atm/zatm.c zatm_dev->mbx_start[i] = (unsigned long)mbx; mbx 1338 drivers/atm/zatm.c zout((unsigned long)mbx & 0xffff, MTA(i)); mbx 1339 drivers/atm/zatm.c zout((unsigned long)mbx & 0xffff, MWA(i)); mbx 60 drivers/crypto/cavium/cpt/cptpf.h void cpt_mbox_intr_handler(struct cpt_device *cpt, int mbx); mbx 9 drivers/crypto/cavium/cpt/cptpf_mbox.c struct cpt_mbox *mbx) mbx 13 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx->data); mbx 14 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_write_csr64(cpt->reg_base, CPTX_PF_VFX_MBOXX(0, vf, 0), mbx->msg); mbx 21 drivers/crypto/cavium/cpt/cptpf_mbox.c struct cpt_mbox *mbx) mbx 23 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx->data = 0ull; mbx 24 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx->msg = CPT_MBOX_MSG_TYPE_ACK; mbx 25 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_send_msg_to_vf(cpt, vf, mbx); mbx 89 drivers/crypto/cavium/cpt/cptpf_mbox.c struct cpt_mbox mbx = {}; mbx 96 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx.msg = cpt_read_csr64(cpt->reg_base, CPTX_PF_VFX_MBOXX(0, vf, 0)); mbx 97 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx.data = cpt_read_csr64(cpt->reg_base, CPTX_PF_VFX_MBOXX(0, vf, 1)); mbx 98 drivers/crypto/cavium/cpt/cptpf_mbox.c dev_dbg(dev, "%s: Mailbox msg 0x%llx from VF%d", __func__, mbx.msg, vf); mbx 99 drivers/crypto/cavium/cpt/cptpf_mbox.c switch (mbx.msg) { mbx 103 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_mbox_send_ack(cpt, vf, &mbx); mbx 106 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx.msg = CPT_MSG_READY; mbx 107 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx.data = vf; mbx 108 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_send_msg_to_vf(cpt, vf, &mbx); mbx 114 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_mbox_send_ack(cpt, vf, &mbx); mbx 117 drivers/crypto/cavium/cpt/cptpf_mbox.c vfx->qlen = mbx.data; mbx 119 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_mbox_send_ack(cpt, vf, &mbx); mbx 122 drivers/crypto/cavium/cpt/cptpf_mbox.c vftype = cpt_bind_vq_to_grp(cpt, vf, (u8)mbx.data); mbx 125 drivers/crypto/cavium/cpt/cptpf_mbox.c vf, mbx.data); mbx 128 drivers/crypto/cavium/cpt/cptpf_mbox.c vf, mbx.data); mbx 129 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx.msg = CPT_MSG_QBIND_GRP; mbx 130 drivers/crypto/cavium/cpt/cptpf_mbox.c mbx.data = vftype; mbx 131 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_send_msg_to_vf(cpt, vf, &mbx); mbx 135 drivers/crypto/cavium/cpt/cptpf_mbox.c vfx->priority = mbx.data; mbx 137 drivers/crypto/cavium/cpt/cptpf_mbox.c cpt_mbox_send_ack(cpt, vf, &mbx); mbx 141 drivers/crypto/cavium/cpt/cptpf_mbox.c vf, mbx.msg); mbx 146 drivers/crypto/cavium/cpt/cptpf_mbox.c void cpt_mbox_intr_handler (struct cpt_device *cpt, int mbx) mbx 152 drivers/crypto/cavium/cpt/cptpf_mbox.c dev_dbg(&cpt->pdev->dev, "PF interrupt Mbox%d 0x%llx\n", mbx, intr); mbx 8 drivers/crypto/cavium/cpt/cptvf_mbox.c static void cptvf_send_msg_to_pf(struct cpt_vf *cptvf, struct cpt_mbox *mbx) mbx 12 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx->msg); mbx 14 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx->data); mbx 20 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 26 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = cpt_read_csr64(cptvf->reg_base, CPTX_VFX_PF_MBOXX(0, 0, 0)); mbx 27 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.data = cpt_read_csr64(cptvf->reg_base, CPTX_VFX_PF_MBOXX(0, 0, 1)); mbx 29 drivers/crypto/cavium/cpt/cptvf_mbox.c __func__, mbx.msg); mbx 30 drivers/crypto/cavium/cpt/cptvf_mbox.c switch (mbx.msg) { mbx 34 drivers/crypto/cavium/cpt/cptvf_mbox.c cptvf->vfid = mbx.data; mbx 40 drivers/crypto/cavium/cpt/cptvf_mbox.c cptvf->vftype = mbx.data; mbx 42 drivers/crypto/cavium/cpt/cptvf_mbox.c cptvf->vfid, ((mbx.data == SE_TYPES) ? "SE" : "AE"), mbx 53 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg); mbx 59 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox *mbx) mbx 66 drivers/crypto/cavium/cpt/cptvf_mbox.c cptvf_send_msg_to_pf(cptvf, mbx); mbx 77 drivers/crypto/cavium/cpt/cptvf_mbox.c (mbx->msg & 0xFF), cptvf->vfid); mbx 92 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 94 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = CPT_MSG_READY; mbx 95 drivers/crypto/cavium/cpt/cptvf_mbox.c if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { mbx 110 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 112 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = CPT_MSG_QLEN; mbx 113 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.data = cptvf->qsize; mbx 114 drivers/crypto/cavium/cpt/cptvf_mbox.c if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { mbx 128 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 130 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = CPT_MSG_QBIND_GRP; mbx 132 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.data = cptvf->vfgrp; mbx 133 drivers/crypto/cavium/cpt/cptvf_mbox.c if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { mbx 147 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 149 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = CPT_MSG_VQ_PRIORITY; mbx 151 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.data = cptvf->priority; mbx 152 drivers/crypto/cavium/cpt/cptvf_mbox.c if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { mbx 165 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 167 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = CPT_MSG_VF_UP; mbx 168 drivers/crypto/cavium/cpt/cptvf_mbox.c if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { mbx 182 drivers/crypto/cavium/cpt/cptvf_mbox.c struct cpt_mbox mbx = {}; mbx 184 drivers/crypto/cavium/cpt/cptvf_mbox.c mbx.msg = CPT_MSG_VF_DOWN; mbx 185 drivers/crypto/cavium/cpt/cptvf_mbox.c if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { mbx 194 drivers/net/can/ti_hecc.c void __iomem *mbx; mbx 230 drivers/net/can/ti_hecc.c __raw_writel(val, priv->mbx + mbxno * 0x10 + reg); mbx 235 drivers/net/can/ti_hecc.c return __raw_readl(priv->mbx + mbxno * 0x10 + reg); mbx 899 drivers/net/can/ti_hecc.c priv->mbx = devm_ioremap_resource(&pdev->dev, res); mbx 900 drivers/net/can/ti_hecc.c if (IS_ERR(priv->mbx)) { mbx 902 drivers/net/can/ti_hecc.c return PTR_ERR(priv->mbx); mbx 1126 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx = BP_VF_MBX(bp, vf->index); mbx 1130 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c type = mbx->first_tlv.tl.type; mbx 1134 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_add_tlv(bp, &mbx->msg->resp, 0, type, length); mbx 1135 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_add_tlv(bp, &mbx->msg->resp, length, CHANNEL_TLV_LIST_END, mbx 1143 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx = BP_VF_MBX(bp, vf->index); mbx 1144 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pfvf_general_resp_tlv *resp = &mbx->msg->resp.general_resp; mbx 1151 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->vf_addr_hi, mbx->vf_addr_lo, mbx->first_tlv.resp_msg_offset); mbx 1156 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c vf_addr = HILO_U64(mbx->vf_addr_hi, mbx->vf_addr_lo) + mbx 1157 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->first_tlv.resp_msg_offset; mbx 1158 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c pf_addr = mbx->msg_mapping + mbx 1190 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_unlock_vf_pf_channel(bp, vf, mbx->first_tlv.tl.type); mbx 1255 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx, int vfop_status) mbx 1258 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pfvf_acquire_resp_tlv *resp = &mbx->msg->resp.acquire_resp; mbx 1339 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_add_tlv(bp, &mbx->msg->resp, 0, CHANNEL_TLV_ACQUIRE, length); mbx 1345 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bnx2x_search_tlv_list(bp, &mbx->msg->req, mbx 1347 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_resp_phys_port(bp, vf, &mbx->msg->resp, &length); mbx 1353 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_resp_fp_hsi_ver(bp, vf, &mbx->msg->resp, &length); mbx 1355 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_add_tlv(bp, &mbx->msg->resp, length, CHANNEL_TLV_LIST_END, mbx 1381 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1386 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bnx2x_search_tlv_list(bp, &mbx->msg->req, mbx 1391 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bnx2x_vf_mbx_is_windows_vm(bp, &mbx->msg->req.acquire)) mbx 1398 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1401 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct vfpf_acquire_tlv *acquire = &mbx->msg->req.acquire; mbx 1416 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c rc = bnx2x_vf_mbx_acquire_chk_dorq(bp, vf, mbx); mbx 1427 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bnx2x_vf_mbx_is_windows_vm(bp, &mbx->msg->req.acquire)) mbx 1464 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_acquire_resp(bp, vf, mbx, rc); mbx 1468 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1470 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct vfpf_init_tlv *init = &mbx->msg->req.init; mbx 1519 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1521 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct vfpf_setup_q_tlv *setup_q = &mbx->msg->req.setup_q; mbx 1919 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1921 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct vfpf_set_q_filters_tlv *filters = &mbx->msg->req.set_q_filters; mbx 1945 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1947 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c int qid = mbx->msg->req.q_op.vf_qid; mbx 1958 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1969 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1980 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 1983 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct vfpf_rss_tlv *rss_tlv = &mbx->msg->req.update_rss; mbx 2064 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 2067 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct vfpf_tpa_tlv *tpa_tlv = &mbx->msg->req.update_tpa; mbx 2106 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx) mbx 2123 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bnx2x_tlv_supported(mbx->first_tlv.tl.type)) { mbx 2127 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_lock_vf_pf_channel(bp, vf, mbx->first_tlv.tl.type); mbx 2130 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c switch (mbx->first_tlv.tl.type) { mbx 2132 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_acquire(bp, vf, mbx); mbx 2135 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_init_vf(bp, vf, mbx); mbx 2138 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_setup_q(bp, vf, mbx); mbx 2141 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_set_q_filters(bp, vf, mbx); mbx 2144 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_teardown_q(bp, vf, mbx); mbx 2147 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_close_vf(bp, vf, mbx); mbx 2150 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_release_vf(bp, vf, mbx); mbx 2153 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_update_rss(bp, vf, mbx); mbx 2156 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_update_tpa(bp, vf, mbx); mbx 2168 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->first_tlv.tl.type, mbx->first_tlv.tl.length, mbx 2172 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->msg->req.tlv_buf_size.tlv_buffer[i]); mbx 2186 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_unlock_vf_pf_channel(bp, vf, mbx->first_tlv.tl.type); mbx 2239 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct bnx2x_vf_mbx *mbx = BP_VF_MBX(bp, vf_idx); mbx 2248 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c vf_idx, mbx->vf_addr_hi, mbx->vf_addr_lo, mbx 2249 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->first_tlv.resp_msg_offset); mbx 2252 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c rc = bnx2x_copy32_vf_dmae(bp, true, mbx->msg_mapping, mbx 2253 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c vf->abs_vfid, mbx->vf_addr_hi, mbx 2254 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->vf_addr_lo, mbx 2264 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c mbx->first_tlv = mbx->msg->req.first_tlv; mbx 2269 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c memset(&mbx->msg->resp, 0, sizeof(union pfvf_tlvs)); mbx 2272 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_mbx_request(bp, vf, mbx); mbx 631 drivers/net/ethernet/cavium/thunder/nic.h int nicvf_send_msg_to_pf(struct nicvf *vf, union nic_mbx *mbx); mbx 133 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_send_msg_to_vf(struct nicpf *nic, int vf, union nic_mbx *mbx) mbx 136 drivers/net/ethernet/cavium/thunder/nic_main.c u64 *msg = (u64 *)mbx; mbx 160 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 164 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nic_cfg.msg = NIC_MBOX_MSG_READY; mbx 165 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nic_cfg.vf_id = vf; mbx 167 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nic_cfg.tns_mode = NIC_TNS_BYPASS_MODE; mbx 175 drivers/net/ethernet/cavium/thunder/nic_main.c ether_addr_copy((u8 *)&mbx.nic_cfg.mac_addr, mac); mbx 177 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nic_cfg.sqs_mode = (vf >= nic->num_vf_en) ? true : false; mbx 178 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nic_cfg.node_id = nic->node; mbx 180 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nic_cfg.loopback_supported = vf < nic->num_vf_en; mbx 182 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, vf, &mbx); mbx 190 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 192 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.msg.msg = NIC_MBOX_MSG_ACK; mbx 193 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, vf, &mbx); mbx 202 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 204 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.msg.msg = NIC_MBOX_MSG_NACK; mbx 205 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, vf, &mbx); mbx 234 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 239 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.bgx_stats.msg = NIC_MBOX_MSG_BGX_STATS; mbx 240 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.bgx_stats.vf_id = bgx->vf_id; mbx 241 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.bgx_stats.rx = bgx->rx; mbx 242 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.bgx_stats.idx = bgx->idx; mbx 244 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.bgx_stats.stats = bgx_get_rx_stats(nic->node, bgx_idx, mbx 247 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.bgx_stats.stats = bgx_get_tx_stats(nic->node, bgx_idx, mbx 249 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, bgx->vf_id, &mbx); mbx 552 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 554 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.rss_size.msg = NIC_MBOX_MSG_RSS_SIZE; mbx 555 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.rss_size.ind_tbl_size = nic->hw->rss_ind_tbl_size; mbx 556 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, vf, &mbx); mbx 698 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 700 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nicvf.msg = NIC_MBOX_MSG_PNICVF_PTR; mbx 701 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nicvf.nicvf = nic->nicvf[nic->pqs_vf[sqs]]; mbx 702 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, sqs, &mbx); mbx 708 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 711 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nicvf.msg = NIC_MBOX_MSG_SNICVF_PTR; mbx 712 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nicvf.sqs_id = nicvf->sqs_id; mbx 713 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.nicvf.nicvf = nic->nicvf[sqs_id]; mbx 714 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, nicvf->vf_id, &mbx); mbx 737 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 754 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.sqs_alloc.msg = NIC_MBOX_MSG_ALLOC_SQS; mbx 755 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.sqs_alloc.vf_id = sqs->vf_id; mbx 756 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.sqs_alloc.qs_count = alloc_qs; mbx 757 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, sqs->vf_id, &mbx); mbx 865 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 874 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.pfc.msg = NIC_MBOX_MSG_PFC; mbx 875 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.pfc.autoneg = pfc.autoneg; mbx 876 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.pfc.fc_rx = pfc.fc_rx; mbx 877 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.pfc.fc_tx = pfc.fc_tx; mbx 878 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, vf, &mbx); mbx 929 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 933 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.link_status.msg = NIC_MBOX_MSG_BGX_LINK_CHANGE; mbx 943 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.link_status.link_up = link.link_up; mbx 944 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.link_status.duplex = link.duplex; mbx 945 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.link_status.speed = link.speed; mbx 946 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.link_status.mac_type = link.mac_type; mbx 949 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_msg_to_vf(nic, vf, &mbx); mbx 955 drivers/net/ethernet/cavium/thunder/nic_main.c union nic_mbx mbx = {}; mbx 965 drivers/net/ethernet/cavium/thunder/nic_main.c mbx_data = (u64 *)&mbx; mbx 974 drivers/net/ethernet/cavium/thunder/nic_main.c __func__, mbx.msg.msg, vf); mbx 975 drivers/net/ethernet/cavium/thunder/nic_main.c switch (mbx.msg.msg) { mbx 981 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.qs.num << NIC_QS_ID_SHIFT); mbx 982 drivers/net/ethernet/cavium/thunder/nic_main.c cfg = mbx.qs.cfg; mbx 993 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.rq.qs_num << NIC_QS_ID_SHIFT) | mbx 994 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.rq.rq_num << NIC_Q_NUM_SHIFT); mbx 995 drivers/net/ethernet/cavium/thunder/nic_main.c nic_reg_write(nic, reg_addr, mbx.rq.cfg); mbx 1008 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.rq.qs_num << NIC_QS_ID_SHIFT) | mbx 1009 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.rq.rq_num << NIC_Q_NUM_SHIFT); mbx 1010 drivers/net/ethernet/cavium/thunder/nic_main.c nic_reg_write(nic, reg_addr, mbx.rq.cfg); mbx 1017 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.rq.qs_num << NIC_QS_ID_SHIFT) | mbx 1018 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.rq.rq_num << NIC_Q_NUM_SHIFT); mbx 1019 drivers/net/ethernet/cavium/thunder/nic_main.c nic_reg_write(nic, reg_addr, mbx.rq.cfg); mbx 1023 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.sq.qs_num << NIC_QS_ID_SHIFT) | mbx 1024 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx.sq.sq_num << NIC_Q_NUM_SHIFT); mbx 1025 drivers/net/ethernet/cavium/thunder/nic_main.c nic_reg_write(nic, reg_addr, mbx.sq.cfg); mbx 1026 drivers/net/ethernet/cavium/thunder/nic_main.c nic_tx_channel_cfg(nic, mbx.qs.num, &mbx.sq); mbx 1033 drivers/net/ethernet/cavium/thunder/nic_main.c lmac = mbx.mac.vf_id; mbx 1036 drivers/net/ethernet/cavium/thunder/nic_main.c bgx_set_lmac_mac(nic->node, bgx, lmac, mbx.mac.mac_addr); mbx 1039 drivers/net/ethernet/cavium/thunder/nic_main.c ret = nic_update_hw_frs(nic, mbx.frs.max_frs, mbx 1040 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.frs.vf_id); mbx 1043 drivers/net/ethernet/cavium/thunder/nic_main.c nic_config_cpi(nic, &mbx.cpi_cfg); mbx 1050 drivers/net/ethernet/cavium/thunder/nic_main.c nic_config_rss(nic, &mbx.rss_cfg); mbx 1064 drivers/net/ethernet/cavium/thunder/nic_main.c nic_alloc_sqs(nic, &mbx.sqs_alloc); mbx 1067 drivers/net/ethernet/cavium/thunder/nic_main.c nic->nicvf[vf] = mbx.nicvf.nicvf; mbx 1073 drivers/net/ethernet/cavium/thunder/nic_main.c nic_send_snicvf(nic, &mbx.nicvf); mbx 1076 drivers/net/ethernet/cavium/thunder/nic_main.c nic_get_bgx_stats(nic, &mbx.bgx_stats); mbx 1079 drivers/net/ethernet/cavium/thunder/nic_main.c ret = nic_config_loopback(nic, &mbx.lbk); mbx 1082 drivers/net/ethernet/cavium/thunder/nic_main.c ret = nic_reset_stat_counters(nic, vf, &mbx.reset_stat); mbx 1085 drivers/net/ethernet/cavium/thunder/nic_main.c nic_pause_frame(nic, vf, &mbx.pfc); mbx 1088 drivers/net/ethernet/cavium/thunder/nic_main.c nic_config_timestamp(nic, vf, &mbx.ptp); mbx 1110 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.xcast.mac, mbx 1122 drivers/net/ethernet/cavium/thunder/nic_main.c bgx_set_xcast_mode(nic->node, bgx, lmac, mbx.xcast.mode); mbx 1133 drivers/net/ethernet/cavium/thunder/nic_main.c "Invalid msg from VF%d, msg 0x%x\n", vf, mbx.msg.msg); mbx 1139 drivers/net/ethernet/cavium/thunder/nic_main.c } else if (mbx.msg.msg != NIC_MBOX_MSG_READY) { mbx 1141 drivers/net/ethernet/cavium/thunder/nic_main.c mbx.msg.msg, vf); mbx 1149 drivers/net/ethernet/cavium/thunder/nic_main.c int mbx; mbx 1154 drivers/net/ethernet/cavium/thunder/nic_main.c mbx = 0; mbx 1156 drivers/net/ethernet/cavium/thunder/nic_main.c mbx = 1; mbx 1158 drivers/net/ethernet/cavium/thunder/nic_main.c intr = nic_reg_read(nic, NIC_PF_MAILBOX_INT + (mbx << 3)); mbx 1159 drivers/net/ethernet/cavium/thunder/nic_main.c dev_dbg(&nic->pdev->dev, "PF interrupt Mbox%d 0x%llx\n", mbx, intr); mbx 1163 drivers/net/ethernet/cavium/thunder/nic_main.c vf + (mbx * NIC_VF_PER_MBX_REG)); mbx 1166 drivers/net/ethernet/cavium/thunder/nic_main.c (mbx * NIC_VF_PER_MBX_REG)); mbx 1167 drivers/net/ethernet/cavium/thunder/nic_main.c nic_clear_mbx_intr(nic, vf, mbx); mbx 782 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c union nic_mbx mbx = {}; mbx 790 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c mbx.pfc.msg = NIC_MBOX_MSG_PFC; mbx 791 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c mbx.pfc.get = 1; mbx 792 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c if (!nicvf_send_msg_to_pf(nic, &mbx)) { mbx 803 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c union nic_mbx mbx = {}; mbx 814 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c mbx.pfc.msg = NIC_MBOX_MSG_PFC; mbx 815 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c mbx.pfc.get = 0; mbx 816 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c mbx.pfc.fc_rx = pause->rx_pause; mbx 817 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c mbx.pfc.fc_tx = pause->tx_pause; mbx 818 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c if (nicvf_send_msg_to_pf(nic, &mbx)) mbx 119 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_write_to_mbx(struct nicvf *nic, union nic_mbx *mbx) mbx 121 drivers/net/ethernet/cavium/thunder/nicvf_main.c u64 *msg = (u64 *)mbx; mbx 127 drivers/net/ethernet/cavium/thunder/nicvf_main.c int nicvf_send_msg_to_pf(struct nicvf *nic, union nic_mbx *mbx) mbx 138 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_write_to_mbx(nic, mbx); mbx 145 drivers/net/ethernet/cavium/thunder/nicvf_main.c (mbx->msg.msg & 0xFF), nic->vf_id); mbx 156 drivers/net/ethernet/cavium/thunder/nicvf_main.c (mbx->msg.msg & 0xFF), nic->vf_id); mbx 170 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 172 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.msg.msg = NIC_MBOX_MSG_READY; mbx 173 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx)) { mbx 184 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 186 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.msg.msg = NIC_MBOX_MSG_CFG_DONE; mbx 187 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx)) { mbx 203 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 209 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx_data = (u64 *)&mbx; mbx 217 drivers/net/ethernet/cavium/thunder/nicvf_main.c netdev_dbg(nic->netdev, "Mbox message: msg: 0x%x\n", mbx.msg.msg); mbx 218 drivers/net/ethernet/cavium/thunder/nicvf_main.c switch (mbx.msg.msg) { mbx 221 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->vf_id = mbx.nic_cfg.vf_id & 0x7F; mbx 222 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->tns_mode = mbx.nic_cfg.tns_mode & 0x7F; mbx 223 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->node = mbx.nic_cfg.node_id; mbx 226 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nic_cfg.mac_addr); mbx 227 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->sqs_mode = mbx.nic_cfg.sqs_mode; mbx 228 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->loopback_supported = mbx.nic_cfg.loopback_supported; mbx 240 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->rss_info.rss_size = mbx.rss_size.ind_tbl_size; mbx 244 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_read_bgx_stats(nic, &mbx.bgx_stats); mbx 249 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nic->link_up != mbx.link_status.link_up) { mbx 250 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->link_up = mbx.link_status.link_up; mbx 251 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->duplex = mbx.link_status.duplex; mbx 252 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->speed = mbx.link_status.speed; mbx 253 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->mac_type = mbx.link_status.mac_type; mbx 270 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->sqs_count = mbx.sqs_alloc.qs_count; mbx 277 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->snicvf[mbx.nicvf.sqs_id] = mbx 278 drivers/net/ethernet/cavium/thunder/nicvf_main.c (struct nicvf *)mbx.nicvf.nicvf; mbx 286 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->pnicvf = (struct nicvf *)mbx.nicvf.nicvf; mbx 290 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->pfc.autoneg = mbx.pfc.autoneg; mbx 291 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->pfc.fc_rx = mbx.pfc.fc_rx; mbx 292 drivers/net/ethernet/cavium/thunder/nicvf_main.c nic->pfc.fc_tx = mbx.pfc.fc_tx; mbx 297 drivers/net/ethernet/cavium/thunder/nicvf_main.c "Invalid message from PF, msg 0x%x\n", mbx.msg.msg); mbx 305 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 307 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.mac.msg = NIC_MBOX_MSG_SET_MAC; mbx 308 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.mac.vf_id = nic->vf_id; mbx 309 drivers/net/ethernet/cavium/thunder/nicvf_main.c ether_addr_copy(mbx.mac.mac_addr, netdev->dev_addr); mbx 311 drivers/net/ethernet/cavium/thunder/nicvf_main.c return nicvf_send_msg_to_pf(nic, &mbx); mbx 316 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 318 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.cpi_cfg.msg = NIC_MBOX_MSG_CPI_CFG; mbx 319 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.cpi_cfg.vf_id = nic->vf_id; mbx 320 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.cpi_cfg.cpi_alg = nic->cpi_alg; mbx 321 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.cpi_cfg.rq_cnt = nic->qs->rq_cnt; mbx 323 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 328 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 330 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_size.msg = NIC_MBOX_MSG_RSS_SIZE; mbx 331 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_size.vf_id = nic->vf_id; mbx 332 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 337 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 342 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_cfg.vf_id = nic->vf_id; mbx 343 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_cfg.hash_bits = rss->hash_bits; mbx 345 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_cfg.tbl_offset = nextq; mbx 346 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_cfg.tbl_len = min(ind_tbl_len, mbx 348 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_cfg.msg = mbx.rss_cfg.tbl_offset ? mbx 351 drivers/net/ethernet/cavium/thunder/nicvf_main.c for (i = 0; i < mbx.rss_cfg.tbl_len; i++) mbx 352 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.rss_cfg.ind_tbl[i] = rss->ind_tbl[nextq++]; mbx 354 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 356 drivers/net/ethernet/cavium/thunder/nicvf_main.c ind_tbl_len -= mbx.rss_cfg.tbl_len; mbx 405 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 414 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.sqs_alloc.msg = NIC_MBOX_MSG_ALLOC_SQS; mbx 415 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.sqs_alloc.vf_id = nic->vf_id; mbx 416 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.sqs_alloc.qs_count = nic->sqs_count; mbx 417 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx)) { mbx 436 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.msg = NIC_MBOX_MSG_SNICVF_PTR; mbx 437 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.vf_id = nic->vf_id; mbx 438 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.sqs_id = sqs; mbx 439 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 477 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 479 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.msg = NIC_MBOX_MSG_NICVF_PTR; mbx 480 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.sqs_mode = nic->sqs_mode; mbx 481 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.nicvf = (u64)nic; mbx 482 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 487 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 489 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.nicvf.msg = NIC_MBOX_MSG_PNICVF_PTR; mbx 490 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 1333 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 1341 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.msg.msg = NIC_MBOX_MSG_SHUTDOWN; mbx 1342 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 1421 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 1423 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.ptp.msg = NIC_MBOX_MSG_PTP_CFG; mbx 1424 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.ptp.enable = enable; mbx 1426 drivers/net/ethernet/cavium/thunder/nicvf_main.c return nicvf_send_msg_to_pf(nic, &mbx); mbx 1431 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 1433 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.frs.msg = NIC_MBOX_MSG_SET_MAX_FRS; mbx 1434 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.frs.max_frs = mtu; mbx 1435 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.frs.vf_id = nic->vf_id; mbx 1437 drivers/net/ethernet/cavium/thunder/nicvf_main.c return nicvf_send_msg_to_pf(nic, &mbx); mbx 1445 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 1446 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.msg.msg = NIC_MBOX_MSG_BGX_LINK_CHANGE; mbx 1447 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 1634 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 1639 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.bgx_stats.msg = NIC_MBOX_MSG_BGX_STATS; mbx 1640 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.bgx_stats.vf_id = nic->vf_id; mbx 1642 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.bgx_stats.rx = 1; mbx 1644 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.bgx_stats.idx = stat; mbx 1645 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx)) mbx 1653 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.bgx_stats.rx = 0; mbx 1655 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.bgx_stats.idx = stat; mbx 1656 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx)) mbx 1771 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 1773 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.lbk.msg = NIC_MBOX_MSG_LOOPBACK; mbx 1774 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.lbk.vf_id = nic->vf_id; mbx 1775 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.lbk.enable = (features & NETIF_F_LOOPBACK) != 0; mbx 1777 drivers/net/ethernet/cavium/thunder/nicvf_main.c return nicvf_send_msg_to_pf(nic, &mbx); mbx 1992 drivers/net/ethernet/cavium/thunder/nicvf_main.c union nic_mbx mbx = {}; mbx 2002 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.msg = NIC_MBOX_MSG_RESET_XCAST; mbx 2003 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx) < 0) mbx 2010 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.msg = NIC_MBOX_MSG_ADD_MCAST; mbx 2011 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.mac = 0; mbx 2012 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx) < 0) mbx 2020 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.msg = NIC_MBOX_MSG_ADD_MCAST; mbx 2021 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.mac = mc_addrs->mc[idx]; mbx 2022 drivers/net/ethernet/cavium/thunder/nicvf_main.c if (nicvf_send_msg_to_pf(nic, &mbx) < 0) mbx 2028 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.msg = NIC_MBOX_MSG_SET_XCAST; mbx 2029 drivers/net/ethernet/cavium/thunder/nicvf_main.c mbx.xcast.mode = mode; mbx 2031 drivers/net/ethernet/cavium/thunder/nicvf_main.c nicvf_send_msg_to_pf(nic, &mbx); mbx 641 drivers/net/ethernet/cavium/thunder/nicvf_queues.c union nic_mbx mbx = {}; mbx 644 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.msg.msg = NIC_MBOX_MSG_RQ_SW_SYNC; mbx 645 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 732 drivers/net/ethernet/cavium/thunder/nicvf_queues.c union nic_mbx mbx = {}; mbx 735 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.reset_stat.msg = NIC_MBOX_MSG_RESET_STAT_COUNTER; mbx 736 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.reset_stat.rx_stat_mask = 0x3FFF; mbx 737 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.reset_stat.tx_stat_mask = 0x1F; mbx 738 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.reset_stat.rq_stat_mask = 0xFFFF; mbx 739 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.reset_stat.sq_stat_mask = 0xFFFF; mbx 740 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 747 drivers/net/ethernet/cavium/thunder/nicvf_queues.c union nic_mbx mbx = {}; mbx 776 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.msg = NIC_MBOX_MSG_RQ_CFG; mbx 777 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.qs_num = qs->vnic_id; mbx 778 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.rq_num = qidx; mbx 779 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.cfg = (rq->caching << 26) | (rq->cq_qs << 19) | mbx 783 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 785 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.msg = NIC_MBOX_MSG_RQ_BP_CFG; mbx 786 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.cfg = BIT_ULL(63) | BIT_ULL(62) | mbx 789 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 794 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.msg = NIC_MBOX_MSG_RQ_DROP_CFG; mbx 795 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.rq.cfg = BIT_ULL(63) | BIT_ULL(62) | mbx 798 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 861 drivers/net/ethernet/cavium/thunder/nicvf_queues.c union nic_mbx mbx = {}; mbx 880 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.sq.msg = NIC_MBOX_MSG_SQ_CFG; mbx 881 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.sq.qs_num = qs->vnic_id; mbx 882 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.sq.sq_num = qidx; mbx 883 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.sq.sqs_mode = nic->sqs_mode; mbx 884 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.sq.cfg = (sq->cq_qs << 3) | sq->cq_idx; mbx 885 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 955 drivers/net/ethernet/cavium/thunder/nicvf_queues.c union nic_mbx mbx = {}; mbx 969 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.qs.msg = NIC_MBOX_MSG_QS_CFG; mbx 970 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.qs.num = qs->vnic_id; mbx 971 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.qs.sqs_count = nic->sqs_count; mbx 973 drivers/net/ethernet/cavium/thunder/nicvf_queues.c mbx.qs.cfg = 0; mbx 974 drivers/net/ethernet/cavium/thunder/nicvf_queues.c qs_cfg = (struct qs_cfg *)&mbx.qs.cfg; mbx 985 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_send_msg_to_pf(nic, &mbx); mbx 476 drivers/net/ethernet/intel/fm10k/fm10k_common.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 482 drivers/net/ethernet/intel/fm10k/fm10k_common.c mbx->ops.process(hw, mbx); mbx 499 drivers/net/ethernet/intel/fm10k/fm10k_common.c if (!mbx->timeout) { mbx 505 drivers/net/ethernet/intel/fm10k/fm10k_common.c if (mbx->state != FM10K_STATE_OPEN) mbx 274 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c fm10k_add_ethtool_stats(&data, &interface->hw.mbx, mbx 886 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 903 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c mbx->test_result = FM10K_NOT_IMPLEMENTED; mbx 904 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c err = mbx->ops.enqueue_tx(hw, mbx, test_msg); mbx 916 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c mbx->ops.process(hw, mbx); mbx 919 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c err = mbx->test_result; mbx 9 drivers/net/ethernet/intel/fm10k/fm10k_iov.c struct fm10k_mbx_info *mbx) mbx 11 drivers/net/ethernet/intel/fm10k/fm10k_iov.c struct fm10k_vf_info *vf_info = (struct fm10k_vf_info *)mbx; mbx 18 drivers/net/ethernet/intel/fm10k/fm10k_iov.c return fm10k_tlv_msg_error(hw, results, mbx); mbx 34 drivers/net/ethernet/intel/fm10k/fm10k_iov.c struct fm10k_mbx_info *mbx) mbx 36 drivers/net/ethernet/intel/fm10k/fm10k_iov.c struct fm10k_vf_info *vf_info = (struct fm10k_vf_info *)mbx; mbx 188 drivers/net/ethernet/intel/fm10k/fm10k_iov.c vf_info->mbx.ops.connect(hw, &vf_info->mbx); mbx 228 drivers/net/ethernet/intel/fm10k/fm10k_iov.c struct fm10k_mbx_info *mbx = &vf_info->mbx; mbx 232 drivers/net/ethernet/intel/fm10k/fm10k_iov.c hw->mbx.ops.process(hw, &hw->mbx); mbx 241 drivers/net/ethernet/intel/fm10k/fm10k_iov.c if (!mbx->timeout) { mbx 243 drivers/net/ethernet/intel/fm10k/fm10k_iov.c mbx->ops.connect(hw, mbx); mbx 247 drivers/net/ethernet/intel/fm10k/fm10k_iov.c if (hw->mbx.state == FM10K_STATE_OPEN && mbx 248 drivers/net/ethernet/intel/fm10k/fm10k_iov.c !hw->mbx.ops.tx_ready(&hw->mbx, FM10K_VFMBX_MSG_MTU)) { mbx 259 drivers/net/ethernet/intel/fm10k/fm10k_iov.c mbx->ops.process(hw, mbx); mbx 377 drivers/net/ethernet/intel/fm10k/fm10k_iov.c vf_info->mbx.ops.connect(hw, &vf_info->mbx); mbx 462 drivers/net/ethernet/intel/fm10k/fm10k_iov.c err = fm10k_pfvf_mbx_init(hw, &vf_info->mbx, iov_mbx_data, i); mbx 132 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_index_len(struct fm10k_mbx_info *mbx, u16 head, u16 tail) mbx 140 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return len & ((mbx->mbmem_len << 1) - 1); mbx 151 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_tail_add(struct fm10k_mbx_info *mbx, u16 offset) mbx 153 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 tail = (mbx->tail + offset + 1) & ((mbx->mbmem_len << 1) - 1); mbx 156 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return (tail > mbx->tail) ? --tail : ++tail; mbx 167 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_tail_sub(struct fm10k_mbx_info *mbx, u16 offset) mbx 169 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 tail = (mbx->tail - offset - 1) & ((mbx->mbmem_len << 1) - 1); mbx 172 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return (tail < mbx->tail) ? ++tail : --tail; mbx 183 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_head_add(struct fm10k_mbx_info *mbx, u16 offset) mbx 185 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 head = (mbx->head + offset + 1) & ((mbx->mbmem_len << 1) - 1); mbx 188 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return (head > mbx->head) ? --head : ++head; mbx 199 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_head_sub(struct fm10k_mbx_info *mbx, u16 offset) mbx 201 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 head = (mbx->head - offset - 1) & ((mbx->mbmem_len << 1) - 1); mbx 204 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return (head < mbx->head) ? ++head : --head; mbx 214 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_pushed_tail_len(struct fm10k_mbx_info *mbx) mbx 216 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u32 *tail = mbx->rx.buffer + fm10k_fifo_tail_offset(&mbx->rx, 0); mbx 219 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!mbx->pushed) mbx 296 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static u16 fm10k_mbx_validate_msg_size(struct fm10k_mbx_info *mbx, u16 len) mbx 298 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->rx; mbx 302 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len += mbx->pushed; mbx 314 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if ((len < total_len) && (msg_len <= mbx->max_size)) mbx 331 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 333 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->tx; mbx 334 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u32 mbmem = mbx->mbmem_reg; mbx 338 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!mbx->tail_len) mbx 342 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mask = mbx->mbmem_len - 1; mbx 343 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = mbx->tail_len; mbx 344 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c tail = fm10k_mbx_tail_sub(mbx, len); mbx 349 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c end = fm10k_fifo_head_offset(fifo, mbx->pulled); mbx 363 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tx_mbmem_pulled++; mbx 383 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, u16 head) mbx 385 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 mbmem_len, len, ack = fm10k_mbx_index_len(mbx, head, mbx->tail); mbx 386 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->tx; mbx 389 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pulled += mbx->tail_len - ack; mbx 392 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbmem_len = mbx->mbmem_len - 1; mbx 393 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = fm10k_fifo_used(fifo) - mbx->pulled; mbx 398 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = fm10k_mbx_tail_add(mbx, len - ack); mbx 399 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail_len = len; mbx 403 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len && (mbx->pulled >= len); mbx 405 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pulled -= fm10k_fifo_head_drop(fifo); mbx 406 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tx_messages++; mbx 407 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tx_dwords += len; mbx 411 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_write_copy(hw, mbx); mbx 424 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 426 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->rx; mbx 427 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u32 mbmem = mbx->mbmem_reg ^ mbx->mbmem_len; mbx 432 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = mbx->head_len; mbx 433 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c head = fm10k_mbx_head_sub(mbx, len); mbx 434 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (head >= mbx->mbmem_len) mbx 438 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c end = fm10k_fifo_tail_offset(fifo, mbx->pushed); mbx 445 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c head &= mbx->mbmem_len - 1; mbx 449 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->rx_mbmem_pushed++; mbx 472 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, mbx 475 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->rx; mbx 476 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 len, seq = fm10k_mbx_index_len(mbx, mbx->head, tail); mbx 479 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = fm10k_fifo_unused(fifo) - mbx->pushed; mbx 484 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head = fm10k_mbx_head_add(mbx, len); mbx 485 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head_len = len; mbx 492 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_read_copy(hw, mbx); mbx 495 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (fm10k_mbx_validate_msg_size(mbx, len)) mbx 499 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pushed += len; mbx 502 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c for (len = fm10k_mbx_pushed_tail_len(mbx); mbx 503 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len && (mbx->pushed >= len); mbx 504 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = fm10k_mbx_pushed_tail_len(mbx)) { mbx 506 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pushed -= len; mbx 507 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->rx_messages++; mbx 508 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->rx_dwords += len; mbx 617 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_update_local_crc(struct fm10k_mbx_info *mbx, u16 head) mbx 619 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 len = mbx->tail_len - fm10k_mbx_index_len(mbx, head, mbx->tail); mbx 622 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c head = fm10k_fifo_head_offset(&mbx->tx, mbx->pulled); mbx 625 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = fm10k_fifo_crc(&mbx->tx, head, len, mbx->local); mbx 638 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_mbx_verify_remote_crc(struct fm10k_mbx_info *mbx) mbx 640 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->rx; mbx 641 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 len = mbx->head_len; mbx 642 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 offset = fm10k_fifo_tail_offset(fifo, mbx->pushed) - len; mbx 647 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = fm10k_fifo_crc(fifo, offset, len, mbx->remote); mbx 650 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c crc = fm10k_crc_16b(&mbx->mbx_hdr, mbx->remote, 1); mbx 662 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static bool fm10k_mbx_rx_ready(struct fm10k_mbx_info *mbx) mbx 664 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 msg_size = fm10k_fifo_head_len(&mbx->rx); mbx 666 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return msg_size && (fm10k_fifo_used(&mbx->rx) >= msg_size); mbx 676 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static bool fm10k_mbx_tx_ready(struct fm10k_mbx_info *mbx, u16 len) mbx 678 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 fifo_unused = fm10k_fifo_unused(&mbx->tx); mbx 680 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return (mbx->state == FM10K_STATE_OPEN) && (fifo_unused >= len); mbx 689 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static bool fm10k_mbx_tx_complete(struct fm10k_mbx_info *mbx) mbx 691 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return fm10k_fifo_empty(&mbx->tx); mbx 703 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 705 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->rx; mbx 712 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx, mbx->msg_data); mbx 714 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->rx_parse_err++; mbx 720 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c memmove(fifo->buffer, fifo->buffer + fifo->tail, mbx->pushed << 2); mbx 740 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, const u32 *msg) mbx 742 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u32 countdown = mbx->timeout; mbx 745 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c switch (mbx->state) { mbx 754 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_fifo_enqueue(&mbx->tx, msg); mbx 759 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c udelay(mbx->udelay); mbx 760 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.process(hw, mbx); mbx 761 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_fifo_enqueue(&mbx->tx, msg); mbx 766 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->timeout = 0; mbx 767 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tx_busy++; mbx 774 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!mbx->tail_len) mbx 775 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.process(hw, mbx); mbx 787 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_mbx_read(struct fm10k_hw *hw, struct fm10k_mbx_info *mbx) mbx 790 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->mbx_hdr) mbx 794 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (fm10k_read_reg(hw, mbx->mbx_reg) & FM10K_MBX_REQ_INTERRUPT) mbx 795 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock = FM10K_MBX_ACK; mbx 798 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbx_reg, mbx 802 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = fm10k_read_reg(hw, mbx->mbmem_reg ^ mbx->mbmem_len); mbx 814 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_write(struct fm10k_hw *hw, struct fm10k_mbx_info *mbx) mbx 816 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u32 mbmem = mbx->mbmem_reg; mbx 819 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbmem, mbx->mbx_hdr); mbx 822 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->mbx_lock) mbx 823 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbx_reg, mbx->mbx_lock); mbx 826 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = 0; mbx 827 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock = 0; mbx 836 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_create_connect_hdr(struct fm10k_mbx_info *mbx) mbx 838 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_REQ; mbx 840 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = FM10K_MSG_HDR_FIELD_SET(FM10K_MSG_CONNECT, TYPE) | mbx 841 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, HEAD) | mbx 842 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->rx.size - 1, CONNECT_SIZE); mbx 851 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_create_data_hdr(struct fm10k_mbx_info *mbx) mbx 854 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->tail, TAIL) | mbx 855 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, HEAD); mbx 856 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->tx; mbx 859 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail_len) mbx 860 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_REQ; mbx 863 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c crc = fm10k_fifo_crc(fifo, fm10k_fifo_head_offset(fifo, mbx->pulled), mbx 864 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail_len, mbx->local); mbx 868 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = hdr | FM10K_MSG_HDR_FIELD_SET(crc, CRC); mbx 877 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_create_disconnect_hdr(struct fm10k_mbx_info *mbx) mbx 880 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->tail, TAIL) | mbx 881 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, HEAD); mbx 882 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 crc = fm10k_crc_16b(&hdr, mbx->local, 1); mbx 884 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_ACK; mbx 887 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = hdr | FM10K_MSG_HDR_FIELD_SET(crc, CRC); mbx 898 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_create_fake_disconnect_hdr(struct fm10k_mbx_info *mbx) mbx 901 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, TAIL) | mbx 902 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->tail, HEAD); mbx 903 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 crc = fm10k_crc_16b(&hdr, mbx->local, 1); mbx 905 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_ACK; mbx 908 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = hdr | FM10K_MSG_HDR_FIELD_SET(crc, CRC); mbx 920 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_create_error_msg(struct fm10k_mbx_info *mbx, s32 err) mbx 935 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_REQ; mbx 937 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = FM10K_MSG_HDR_FIELD_SET(FM10K_MSG_ERROR, TYPE) | mbx 939 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, HEAD); mbx 950 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_mbx_validate_msg_hdr(struct fm10k_mbx_info *mbx) mbx 953 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 967 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (tail != mbx->head) mbx 975 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (fm10k_mbx_index_len(mbx, head, mbx->tail) > mbx->tail_len) mbx 981 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (fm10k_mbx_index_len(mbx, mbx->head, tail) < mbx->mbmem_len) mbx 1018 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, u16 head) mbx 1020 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c switch (mbx->state) { mbx 1024 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_update_local_crc(mbx, head); mbx 1027 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_pull_head(hw, mbx, head); mbx 1030 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail_len || (mbx->state == FM10K_STATE_OPEN)) mbx 1031 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_data_hdr(mbx); mbx 1033 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_disconnect_hdr(mbx); mbx 1037 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_connect_hdr(mbx); mbx 1041 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_disconnect_hdr(mbx); mbx 1057 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_reset_work(struct fm10k_mbx_info *mbx) mbx 1062 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->max_size = mbx->rx.size - 1; mbx 1065 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c head = FM10K_MSG_HDR_FIELD_GET(mbx->mbx_hdr, HEAD); mbx 1066 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c ack = fm10k_mbx_index_len(mbx, head, mbx->tail); mbx 1067 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pulled += mbx->tail_len - ack; mbx 1070 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c while (fm10k_fifo_head_len(&mbx->tx) && mbx->pulled) { mbx 1071 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = fm10k_fifo_head_drop(&mbx->tx); mbx 1072 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tx_dropped++; mbx 1073 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->pulled >= len) mbx 1074 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pulled -= len; mbx 1076 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pulled = 0; mbx 1080 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pushed = 0; mbx 1081 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pulled = 0; mbx 1082 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail_len = 0; mbx 1083 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head_len = 0; mbx 1084 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->rx.tail = 0; mbx 1085 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->rx.head = 0; mbx 1099 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_update_max_size(struct fm10k_mbx_info *mbx, u16 size) mbx 1103 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->max_size = size; mbx 1106 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c for (len = fm10k_fifo_head_len(&mbx->tx); mbx 1108 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = fm10k_fifo_head_len(&mbx->tx)) { mbx 1109 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_head_drop(&mbx->tx); mbx 1110 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tx_dropped++; mbx 1121 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_mbx_connect_reset(struct fm10k_mbx_info *mbx) mbx 1124 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_reset_work(mbx); mbx 1127 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_MBX_CRC_SEED; mbx 1128 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = FM10K_MBX_CRC_SEED; mbx 1131 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state == FM10K_STATE_OPEN) mbx 1132 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CONNECT; mbx 1134 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CLOSED; mbx 1147 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1149 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const enum fm10k_mbx_state state = mbx->state; mbx 1150 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 1161 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_connect_reset(mbx); mbx 1165 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (size > mbx->rx.size) { mbx 1166 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->max_size = mbx->rx.size - 1; mbx 1169 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_OPEN; mbx 1171 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_update_max_size(mbx, size); mbx 1179 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = head; mbx 1181 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return fm10k_mbx_create_reply(hw, mbx, head); mbx 1194 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1196 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 1205 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state == FM10K_STATE_CONNECT) { mbx 1206 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = head; mbx 1207 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_OPEN; mbx 1211 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_push_tail(hw, mbx, tail); mbx 1216 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_verify_remote_crc(mbx); mbx 1221 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_dequeue_rx(hw, mbx); mbx 1223 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return fm10k_mbx_create_reply(hw, mbx, head); mbx 1236 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1238 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const enum fm10k_mbx_state state = mbx->state; mbx 1239 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 1247 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->pushed) mbx 1251 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head_len = 0; mbx 1254 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_verify_remote_crc(mbx); mbx 1262 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!fm10k_mbx_tx_complete(mbx)) mbx 1266 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (head != mbx->tail) mbx 1270 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_connect_reset(mbx); mbx 1276 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return fm10k_mbx_create_reply(hw, mbx, head); mbx 1289 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1291 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 1297 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c switch (mbx->state) { mbx 1301 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_reset_work(mbx); mbx 1304 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_MBX_CRC_SEED; mbx 1305 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = FM10K_MBX_CRC_SEED; mbx 1308 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = head; mbx 1311 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state == FM10K_STATE_OPEN) { mbx 1312 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CONNECT; mbx 1317 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_connect_hdr(mbx); mbx 1323 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c return fm10k_mbx_create_reply(hw, mbx, mbx->tail); mbx 1336 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1341 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state == FM10K_STATE_CLOSED) mbx 1345 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_read(hw, mbx); mbx 1350 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_validate_msg_hdr(mbx); mbx 1354 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c switch (FM10K_MSG_HDR_FIELD_GET(mbx->mbx_hdr, TYPE)) { mbx 1356 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_process_connect(hw, mbx); mbx 1359 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_process_data(hw, mbx); mbx 1362 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_process_disconnect(hw, mbx); mbx 1365 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_process_error(hw, mbx); mbx 1375 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_error_msg(mbx, err); mbx 1378 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_write(hw, mbx); mbx 1397 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1399 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c int timeout = mbx->timeout ? FM10K_MBX_DISCONNECT_TIMEOUT : 0; mbx 1402 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_DISCONNECT; mbx 1405 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbx_reg, FM10K_MBX_REQ | mbx 1409 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.process(hw, mbx); mbx 1411 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c } while ((timeout > 0) && (mbx->state != FM10K_STATE_CLOSED)); mbx 1416 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_connect_reset(mbx); mbx 1417 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_drop_all(&mbx->tx); mbx 1419 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbmem_reg, 0); mbx 1435 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_mbx_connect(struct fm10k_hw *hw, struct fm10k_mbx_info *mbx) mbx 1438 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!mbx->rx.buffer) mbx 1442 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state != FM10K_STATE_CLOSED) mbx 1446 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->timeout = FM10K_MBX_INIT_TIMEOUT; mbx 1449 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CONNECT; mbx 1451 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_reset_work(mbx); mbx 1454 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_fake_disconnect_hdr(mbx); mbx 1455 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbmem_reg ^ mbx->mbmem_len, mbx->mbx_hdr); mbx 1458 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock = FM10K_MBX_REQ_INTERRUPT | FM10K_MBX_ACK_INTERRUPT | mbx 1462 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_create_connect_hdr(mbx); mbx 1463 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_write(hw, mbx); mbx 1530 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_mbx_register_handlers(struct fm10k_mbx_info *mbx, mbx 1538 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->msg_data = msg_data; mbx 1557 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c s32 fm10k_pfvf_mbx_init(struct fm10k_hw *hw, struct fm10k_mbx_info *mbx, mbx 1563 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_reg = FM10K_VFMBX; mbx 1564 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbmem_reg = FM10K_VFMBMEM(FM10K_VFMBMEM_VF_XOR); mbx 1569 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_reg = FM10K_MBX(id); mbx 1570 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbmem_reg = FM10K_MBMEM_VF(id, 0); mbx 1579 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CLOSED; mbx 1586 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->msg_data = msg_data; mbx 1591 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->timeout = 0; mbx 1592 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->udelay = FM10K_MBX_INIT_DELAY; mbx 1595 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = 1; mbx 1596 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head = 1; mbx 1599 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_MBX_CRC_SEED; mbx 1600 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = FM10K_MBX_CRC_SEED; mbx 1603 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->max_size = FM10K_MBX_MSG_MAX_SIZE; mbx 1604 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbmem_len = FM10K_VFMBMEM_VF_XOR; mbx 1607 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_init(&mbx->tx, mbx->buffer, FM10K_MBX_TX_BUFFER_SIZE); mbx 1608 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_init(&mbx->rx, &mbx->buffer[FM10K_MBX_TX_BUFFER_SIZE], mbx 1612 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.connect = fm10k_mbx_connect; mbx 1613 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.disconnect = fm10k_mbx_disconnect; mbx 1614 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.rx_ready = fm10k_mbx_rx_ready; mbx 1615 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.tx_ready = fm10k_mbx_tx_ready; mbx 1616 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.tx_complete = fm10k_mbx_tx_complete; mbx 1617 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.enqueue_tx = fm10k_mbx_enqueue_tx; mbx 1618 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.process = fm10k_mbx_process; mbx 1619 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.register_handlers = fm10k_mbx_register_handlers; mbx 1630 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_sm_mbx_create_data_hdr(struct fm10k_mbx_info *mbx) mbx 1632 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail_len) mbx 1633 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_REQ; mbx 1635 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = FM10K_MSG_HDR_FIELD_SET(mbx->tail, SM_TAIL) | mbx 1636 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->remote, SM_VER) | mbx 1637 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, SM_HEAD); mbx 1647 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_sm_mbx_create_connect_hdr(struct fm10k_mbx_info *mbx, u8 err) mbx 1649 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->local) mbx 1650 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock |= FM10K_MBX_REQ; mbx 1652 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_hdr = FM10K_MSG_HDR_FIELD_SET(mbx->tail, SM_TAIL) | mbx 1653 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->remote, SM_VER) | mbx 1654 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c FM10K_MSG_HDR_FIELD_SET(mbx->head, SM_HEAD) | mbx 1664 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_sm_mbx_connect_reset(struct fm10k_mbx_info *mbx) mbx 1667 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_reset_work(mbx); mbx 1670 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = FM10K_SM_MBX_VERSION; mbx 1671 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = 0; mbx 1674 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = 1; mbx 1675 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head = 1; mbx 1678 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CONNECT; mbx 1693 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_sm_mbx_connect(struct fm10k_hw *hw, struct fm10k_mbx_info *mbx) mbx 1696 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!mbx->rx.buffer) mbx 1700 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state != FM10K_STATE_CLOSED) mbx 1704 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->timeout = FM10K_MBX_INIT_TIMEOUT; mbx 1707 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CONNECT; mbx 1708 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->max_size = FM10K_MBX_MSG_MAX_SIZE; mbx 1711 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_connect_reset(mbx); mbx 1714 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_lock = FM10K_MBX_REQ_INTERRUPT | FM10K_MBX_ACK_INTERRUPT | mbx 1718 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_connect_hdr(mbx, 0); mbx 1719 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_write(hw, mbx); mbx 1738 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 1740 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c int timeout = mbx->timeout ? FM10K_MBX_DISCONNECT_TIMEOUT : 0; mbx 1743 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_DISCONNECT; mbx 1746 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbx_reg, FM10K_MBX_REQ | mbx 1750 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.process(hw, mbx); mbx 1752 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c } while ((timeout > 0) && (mbx->state != FM10K_STATE_CLOSED)); mbx 1755 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CLOSED; mbx 1756 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = 0; mbx 1757 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_reset_work(mbx); mbx 1758 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_drop_all(&mbx->tx); mbx 1760 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_write_reg(hw, mbx->mbmem_reg, 0); mbx 1771 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static s32 fm10k_sm_mbx_validate_fifo_hdr(struct fm10k_mbx_info *mbx) mbx 1773 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 1788 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail < head) mbx 1789 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c head += mbx->mbmem_len - 1; mbx 1790 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (tail < mbx->head) mbx 1791 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c tail += mbx->mbmem_len - 1; mbx 1792 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (fm10k_mbx_index_len(mbx, head, mbx->tail) > mbx->tail_len) mbx 1794 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (fm10k_mbx_index_len(mbx, mbx->head, tail) < mbx->mbmem_len) mbx 1813 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_sm_mbx_process_error(struct fm10k_mbx_info *mbx) mbx 1815 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const enum fm10k_mbx_state state = mbx->state; mbx 1820 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = 0; mbx 1824 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_connect_reset(mbx); mbx 1828 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->remote) { mbx 1829 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c while (mbx->local > 1) mbx 1830 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local--; mbx 1831 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = 0; mbx 1838 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_connect_hdr(mbx, 0); mbx 1849 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c static void fm10k_sm_mbx_create_error_msg(struct fm10k_mbx_info *mbx, s32 err) mbx 1864 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_process_error(mbx); mbx 1865 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_connect_hdr(mbx, 1); mbx 1878 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, mbx 1882 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 mbmem_len = mbx->mbmem_len - 1; mbx 1886 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (tail < mbx->head) mbx 1890 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_push_tail(hw, mbx, tail); mbx 1895 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_dequeue_rx(hw, mbx); mbx 1898 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head = fm10k_mbx_head_sub(mbx, mbx->pushed); mbx 1899 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->pushed = 0; mbx 1902 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->head > mbmem_len) mbx 1903 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->head -= mbmem_len; mbx 1918 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, u16 head) mbx 1920 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_fifo *fifo = &mbx->tx; mbx 1922 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c u16 mbmem_len = mbx->mbmem_len - 1; mbx 1926 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail < head) mbx 1929 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_pull_head(hw, mbx, head); mbx 1938 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c } while ((len <= mbx->tail_len) && (len < mbmem_len)); mbx 1941 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail_len > tail_len) { mbx 1942 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail = fm10k_mbx_tail_sub(mbx, mbx->tail_len - tail_len); mbx 1943 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail_len = tail_len; mbx 1947 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail > mbmem_len) mbx 1948 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->tail -= mbmem_len; mbx 1963 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, u16 head) mbx 1965 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c switch (mbx->state) { mbx 1969 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_transmit(hw, mbx, head); mbx 1972 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->tail_len || (mbx->state == FM10K_STATE_OPEN)) { mbx 1973 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_data_hdr(mbx); mbx 1975 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = 0; mbx 1976 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_connect_hdr(mbx, 0); mbx 1981 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_connect_hdr(mbx, 0); mbx 2000 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 2003 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const enum fm10k_mbx_state state = mbx->state; mbx 2008 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CLOSED; mbx 2009 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = 0; mbx 2010 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->local = 0; mbx 2014 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_connect_reset(mbx); mbx 2019 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->remote = mbx->local; mbx 2024 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_reply(hw, mbx, mbx->tail); mbx 2038 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 2040 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c const u32 *hdr = &mbx->mbx_hdr; mbx 2049 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state == FM10K_STATE_CONNECT) { mbx 2050 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (!mbx->remote) mbx 2052 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->remote != 1) mbx 2055 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_OPEN; mbx 2060 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c len = fm10k_sm_mbx_receive(hw, mbx, tail); mbx 2068 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_reply(hw, mbx, head); mbx 2083 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx) mbx 2088 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (mbx->state == FM10K_STATE_CLOSED) mbx 2092 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_mbx_read(hw, mbx); mbx 2096 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_sm_mbx_validate_fifo_hdr(mbx); mbx 2100 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c if (FM10K_MSG_HDR_FIELD_GET(mbx->mbx_hdr, SM_ERR)) { mbx 2101 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_process_error(mbx); mbx 2105 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c switch (FM10K_MSG_HDR_FIELD_GET(mbx->mbx_hdr, SM_VER)) { mbx 2107 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_sm_mbx_process_reset(hw, mbx); mbx 2110 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c err = fm10k_sm_mbx_process_version_1(hw, mbx); mbx 2116 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_sm_mbx_create_error_msg(mbx, err); mbx 2119 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_mbx_write(hw, mbx); mbx 2138 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c struct fm10k_mbx_info *mbx, mbx 2141 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbx_reg = FM10K_GMBX; mbx 2142 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbmem_reg = FM10K_MBMEM_PF(0); mbx 2145 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->state = FM10K_STATE_CLOSED; mbx 2152 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->msg_data = msg_data; mbx 2157 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->timeout = 0; mbx 2158 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->udelay = FM10K_MBX_INIT_DELAY; mbx 2161 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->max_size = FM10K_MBX_MSG_MAX_SIZE; mbx 2162 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->mbmem_len = FM10K_MBMEM_PF_XOR; mbx 2165 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_init(&mbx->tx, mbx->buffer, FM10K_MBX_TX_BUFFER_SIZE); mbx 2166 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c fm10k_fifo_init(&mbx->rx, &mbx->buffer[FM10K_MBX_TX_BUFFER_SIZE], mbx 2170 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.connect = fm10k_sm_mbx_connect; mbx 2171 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.disconnect = fm10k_sm_mbx_disconnect; mbx 2172 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.rx_ready = fm10k_mbx_rx_ready; mbx 2173 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.tx_ready = fm10k_mbx_tx_ready; mbx 2174 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.tx_complete = fm10k_mbx_tx_complete; mbx 2175 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.enqueue_tx = fm10k_mbx_enqueue_tx; mbx 2176 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.process = fm10k_sm_mbx_process; mbx 2177 drivers/net/ethernet/intel/fm10k/fm10k_mbx.c mbx->ops.register_handlers = fm10k_mbx_register_handlers; mbx 801 drivers/net/ethernet/intel/fm10k/fm10k_pci.c if (!hw->mbx.ops.tx_ready(&hw->mbx, FM10K_VFMBX_MSG_MTU + 5)) { mbx 802 drivers/net/ethernet/intel/fm10k/fm10k_pci.c hw->mbx.ops.process(hw, &hw->mbx); mbx 1197 drivers/net/ethernet/intel/fm10k/fm10k_pci.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 1206 drivers/net/ethernet/intel/fm10k/fm10k_pci.c mbx->ops.process(hw, mbx); mbx 1298 drivers/net/ethernet/intel/fm10k/fm10k_pci.c vf_info->mbx.ops.connect(hw, &vf_info->mbx); mbx 1370 drivers/net/ethernet/intel/fm10k/fm10k_pci.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 1388 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = mbx->ops.process(hw, mbx); mbx 1434 drivers/net/ethernet/intel/fm10k/fm10k_pci.c hw->mbx.ops.disconnect(hw, &hw->mbx); mbx 1458 drivers/net/ethernet/intel/fm10k/fm10k_pci.c struct fm10k_mbx_info *mbx) mbx 1465 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = fm10k_msg_mac_vlan_vf(hw, results, mbx); mbx 1486 drivers/net/ethernet/intel/fm10k/fm10k_pci.c struct fm10k_mbx_info __always_unused *mbx) mbx 1518 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = hw->mbx.ops.register_handlers(&hw->mbx, vf_mbx_data); mbx 1541 drivers/net/ethernet/intel/fm10k/fm10k_pci.c struct fm10k_mbx_info *mbx) mbx 1549 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = fm10k_msg_err_pf(hw, results, mbx); mbx 1576 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = fm10k_msg_lport_map_pf(hw, results, mbx); mbx 1590 drivers/net/ethernet/intel/fm10k/fm10k_pci.c struct fm10k_mbx_info __always_unused *mbx) mbx 1652 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = hw->mbx.ops.register_handlers(&hw->mbx, pf_mbx_data); mbx 1705 drivers/net/ethernet/intel/fm10k/fm10k_pci.c err = hw->mbx.ops.connect(hw, &hw->mbx); mbx 307 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 336 drivers/net/ethernet/intel/fm10k/fm10k_pf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 394 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 415 drivers/net/ethernet/intel/fm10k/fm10k_pf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 462 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 486 drivers/net/ethernet/intel/fm10k/fm10k_pf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 877 drivers/net/ethernet/intel/fm10k/fm10k_pf.c if (vf_info->mbx.ops.enqueue_tx) { mbx 878 drivers/net/ethernet/intel/fm10k/fm10k_pf.c err = vf_info->mbx.ops.enqueue_tx(hw, &vf_info->mbx, msg); mbx 960 drivers/net/ethernet/intel/fm10k/fm10k_pf.c vf_info->mbx.timeout = 0; mbx 961 drivers/net/ethernet/intel/fm10k/fm10k_pf.c if (vf_info->mbx.ops.disconnect) mbx 962 drivers/net/ethernet/intel/fm10k/fm10k_pf.c vf_info->mbx.ops.disconnect(hw, &vf_info->mbx); mbx 1117 drivers/net/ethernet/intel/fm10k/fm10k_pf.c vf_info->mbx.ops.enqueue_tx(hw, &vf_info->mbx, msg); mbx 1156 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx) mbx 1158 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_vf_info *vf_info = (struct fm10k_vf_info *)mbx; mbx 1193 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx) mbx 1195 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_vf_info *vf_info = (struct fm10k_vf_info *)mbx; mbx 1352 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx) mbx 1354 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_vf_info *vf_info = (struct fm10k_vf_info *)mbx; mbx 1403 drivers/net/ethernet/intel/fm10k/fm10k_pf.c mbx->ops.enqueue_tx(hw, mbx, msg); mbx 1594 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 1601 drivers/net/ethernet/intel/fm10k/fm10k_pf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 1644 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info __always_unused *mbx) mbx 1687 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info __always_unused *mbx) mbx 1748 drivers/net/ethernet/intel/fm10k/fm10k_pf.c struct fm10k_mbx_info __always_unused *mbx) mbx 1817 drivers/net/ethernet/intel/fm10k/fm10k_pf.c return fm10k_sm_mbx_init(hw, &hw->mbx, fm10k_msg_data_pf); mbx 545 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c struct fm10k_mbx_info *mbx, mbx 577 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c return data->func(hw, results, mbx); mbx 592 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c struct fm10k_mbx_info __always_unused *mbx) mbx 708 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c struct fm10k_mbx_info *mbx) mbx 729 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c &mbx->test_result); mbx 849 drivers/net/ethernet/intel/fm10k/fm10k_tlv.c return mbx->ops.enqueue_tx(hw, mbx, reply); mbx 583 drivers/net/ethernet/intel/fm10k/fm10k_type.h struct fm10k_mbx_info mbx; /* PF side of VF mailbox */ mbx 650 drivers/net/ethernet/intel/fm10k/fm10k_type.h struct fm10k_mbx_info mbx; mbx 169 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 189 drivers/net/ethernet/intel/fm10k/fm10k_vf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 201 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info __always_unused *mbx) mbx 275 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 300 drivers/net/ethernet/intel/fm10k/fm10k_vf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 318 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 339 drivers/net/ethernet/intel/fm10k/fm10k_vf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 351 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 358 drivers/net/ethernet/intel/fm10k/fm10k_vf.c mbx->ops.enqueue_tx(hw, mbx, msg); mbx 379 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info __always_unused *mbx) mbx 402 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 414 drivers/net/ethernet/intel/fm10k/fm10k_vf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 430 drivers/net/ethernet/intel/fm10k/fm10k_vf.c struct fm10k_mbx_info *mbx = &hw->mbx; mbx 441 drivers/net/ethernet/intel/fm10k/fm10k_vf.c return mbx->ops.enqueue_tx(hw, mbx, msg); mbx 525 drivers/net/ethernet/intel/fm10k/fm10k_vf.c return fm10k_pfvf_mbx_init(hw, &hw->mbx, fm10k_msg_data_vf, 0); mbx 529 drivers/net/ethernet/intel/igb/e1000_hw.h struct e1000_mbx_info mbx; mbx 18 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 22 drivers/net/ethernet/intel/igb/e1000_mbx.c if (size > mbx->size) mbx 23 drivers/net/ethernet/intel/igb/e1000_mbx.c size = mbx->size; mbx 25 drivers/net/ethernet/intel/igb/e1000_mbx.c if (mbx->ops.read) mbx 26 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.read(hw, msg, size, mbx_id, unlock); mbx 42 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 45 drivers/net/ethernet/intel/igb/e1000_mbx.c if (size > mbx->size) mbx 48 drivers/net/ethernet/intel/igb/e1000_mbx.c else if (mbx->ops.write) mbx 49 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.write(hw, msg, size, mbx_id); mbx 63 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 66 drivers/net/ethernet/intel/igb/e1000_mbx.c if (mbx->ops.check_for_msg) mbx 67 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.check_for_msg(hw, mbx_id); mbx 81 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 84 drivers/net/ethernet/intel/igb/e1000_mbx.c if (mbx->ops.check_for_ack) mbx 85 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.check_for_ack(hw, mbx_id); mbx 99 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 102 drivers/net/ethernet/intel/igb/e1000_mbx.c if (mbx->ops.check_for_rst) mbx 103 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.check_for_rst(hw, mbx_id); mbx 117 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 120 drivers/net/ethernet/intel/igb/e1000_mbx.c if (mbx->ops.unlock) mbx 121 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.unlock(hw, mbx_id); mbx 135 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 136 drivers/net/ethernet/intel/igb/e1000_mbx.c int countdown = mbx->timeout; mbx 138 drivers/net/ethernet/intel/igb/e1000_mbx.c if (!countdown || !mbx->ops.check_for_msg) mbx 141 drivers/net/ethernet/intel/igb/e1000_mbx.c while (countdown && mbx->ops.check_for_msg(hw, mbx_id)) { mbx 145 drivers/net/ethernet/intel/igb/e1000_mbx.c udelay(mbx->usec_delay); mbx 150 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->timeout = 0; mbx 164 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 165 drivers/net/ethernet/intel/igb/e1000_mbx.c int countdown = mbx->timeout; mbx 167 drivers/net/ethernet/intel/igb/e1000_mbx.c if (!countdown || !mbx->ops.check_for_ack) mbx 170 drivers/net/ethernet/intel/igb/e1000_mbx.c while (countdown && mbx->ops.check_for_ack(hw, mbx_id)) { mbx 174 drivers/net/ethernet/intel/igb/e1000_mbx.c udelay(mbx->usec_delay); mbx 179 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->timeout = 0; mbx 197 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 200 drivers/net/ethernet/intel/igb/e1000_mbx.c if (!mbx->ops.read) mbx 206 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.read(hw, msg, size, mbx_id, true); mbx 224 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 228 drivers/net/ethernet/intel/igb/e1000_mbx.c if (!mbx->ops.write || !mbx->timeout) mbx 232 drivers/net/ethernet/intel/igb/e1000_mbx.c ret_val = mbx->ops.write(hw, msg, size, mbx_id); mbx 267 drivers/net/ethernet/intel/igb/e1000_mbx.c hw->mbx.stats.reqs++; mbx 286 drivers/net/ethernet/intel/igb/e1000_mbx.c hw->mbx.stats.acks++; mbx 307 drivers/net/ethernet/intel/igb/e1000_mbx.c hw->mbx.stats.rsts++; mbx 394 drivers/net/ethernet/intel/igb/e1000_mbx.c hw->mbx.stats.msgs_tx++; mbx 436 drivers/net/ethernet/intel/igb/e1000_mbx.c hw->mbx.stats.msgs_rx++; mbx 450 drivers/net/ethernet/intel/igb/e1000_mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 452 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->timeout = 0; mbx 453 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->usec_delay = 0; mbx 455 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->size = E1000_VFMAILBOX_SIZE; mbx 457 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.read = igb_read_mbx_pf; mbx 458 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.write = igb_write_mbx_pf; mbx 459 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.read_posted = igb_read_posted_mbx; mbx 460 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.write_posted = igb_write_posted_mbx; mbx 461 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.check_for_msg = igb_check_for_msg_pf; mbx 462 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.check_for_ack = igb_check_for_ack_pf; mbx 463 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.check_for_rst = igb_check_for_rst_pf; mbx 464 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->ops.unlock = igb_release_mbx_lock_pf; mbx 466 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->stats.msgs_tx = 0; mbx 467 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->stats.msgs_rx = 0; mbx 468 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->stats.reqs = 0; mbx 469 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->stats.acks = 0; mbx 470 drivers/net/ethernet/intel/igb/e1000_mbx.c mbx->stats.rsts = 0; mbx 14 drivers/net/ethernet/intel/igbvf/mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 15 drivers/net/ethernet/intel/igbvf/mbx.c int countdown = mbx->timeout; mbx 17 drivers/net/ethernet/intel/igbvf/mbx.c if (!mbx->ops.check_for_msg) mbx 20 drivers/net/ethernet/intel/igbvf/mbx.c while (countdown && mbx->ops.check_for_msg(hw)) { mbx 22 drivers/net/ethernet/intel/igbvf/mbx.c udelay(mbx->usec_delay); mbx 27 drivers/net/ethernet/intel/igbvf/mbx.c mbx->timeout = 0; mbx 40 drivers/net/ethernet/intel/igbvf/mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 41 drivers/net/ethernet/intel/igbvf/mbx.c int countdown = mbx->timeout; mbx 43 drivers/net/ethernet/intel/igbvf/mbx.c if (!mbx->ops.check_for_ack) mbx 46 drivers/net/ethernet/intel/igbvf/mbx.c while (countdown && mbx->ops.check_for_ack(hw)) { mbx 48 drivers/net/ethernet/intel/igbvf/mbx.c udelay(mbx->usec_delay); mbx 53 drivers/net/ethernet/intel/igbvf/mbx.c mbx->timeout = 0; mbx 69 drivers/net/ethernet/intel/igbvf/mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 72 drivers/net/ethernet/intel/igbvf/mbx.c if (!mbx->ops.read) mbx 79 drivers/net/ethernet/intel/igbvf/mbx.c ret_val = mbx->ops.read(hw, msg, size); mbx 95 drivers/net/ethernet/intel/igbvf/mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 99 drivers/net/ethernet/intel/igbvf/mbx.c if (!mbx->ops.write || !mbx->timeout) mbx 103 drivers/net/ethernet/intel/igbvf/mbx.c ret_val = mbx->ops.write(hw, msg, size); mbx 162 drivers/net/ethernet/intel/igbvf/mbx.c hw->mbx.stats.reqs++; mbx 180 drivers/net/ethernet/intel/igbvf/mbx.c hw->mbx.stats.acks++; mbx 199 drivers/net/ethernet/intel/igbvf/mbx.c hw->mbx.stats.rsts++; mbx 260 drivers/net/ethernet/intel/igbvf/mbx.c hw->mbx.stats.msgs_tx++; mbx 297 drivers/net/ethernet/intel/igbvf/mbx.c hw->mbx.stats.msgs_rx++; mbx 311 drivers/net/ethernet/intel/igbvf/mbx.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 316 drivers/net/ethernet/intel/igbvf/mbx.c mbx->timeout = 0; mbx 317 drivers/net/ethernet/intel/igbvf/mbx.c mbx->usec_delay = E1000_VF_MBX_INIT_DELAY; mbx 319 drivers/net/ethernet/intel/igbvf/mbx.c mbx->size = E1000_VFMAILBOX_SIZE; mbx 321 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.read = e1000_read_mbx_vf; mbx 322 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.write = e1000_write_mbx_vf; mbx 323 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.read_posted = e1000_read_posted_mbx; mbx 324 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.write_posted = e1000_write_posted_mbx; mbx 325 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.check_for_msg = e1000_check_for_msg_vf; mbx 326 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.check_for_ack = e1000_check_for_ack_vf; mbx 327 drivers/net/ethernet/intel/igbvf/mbx.c mbx->ops.check_for_rst = e1000_check_for_rst_vf; mbx 329 drivers/net/ethernet/intel/igbvf/mbx.c mbx->stats.msgs_tx = 0; mbx 330 drivers/net/ethernet/intel/igbvf/mbx.c mbx->stats.msgs_rx = 0; mbx 331 drivers/net/ethernet/intel/igbvf/mbx.c mbx->stats.reqs = 0; mbx 332 drivers/net/ethernet/intel/igbvf/mbx.c mbx->stats.acks = 0; mbx 333 drivers/net/ethernet/intel/igbvf/mbx.c mbx->stats.rsts = 0; mbx 1644 drivers/net/ethernet/intel/igbvf/netdev.c rc = adapter->hw.mbx.ops.init_params(&adapter->hw); mbx 62 drivers/net/ethernet/intel/igbvf/vf.c hw->mbx.ops.init_params = e1000_init_mbx_params_vf; mbx 104 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 116 drivers/net/ethernet/intel/igbvf/vf.c while (!mbx->ops.check_for_rst(hw) && timeout) { mbx 123 drivers/net/ethernet/intel/igbvf/vf.c mbx->timeout = E1000_VF_MBX_INIT_TIMEOUT; mbx 127 drivers/net/ethernet/intel/igbvf/vf.c mbx->ops.write_posted(hw, msgbuf, 1); mbx 132 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.read_posted(hw, msgbuf, 3); mbx 205 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 231 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.write_posted(hw, msgbuf, E1000_VFMAILBOX_SIZE); mbx 233 drivers/net/ethernet/intel/igbvf/vf.c mbx->ops.read_posted(hw, msgbuf, 1); mbx 244 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 254 drivers/net/ethernet/intel/igbvf/vf.c mbx->ops.write_posted(hw, msgbuf, 2); mbx 256 drivers/net/ethernet/intel/igbvf/vf.c err = mbx->ops.read_posted(hw, msgbuf, 2); mbx 274 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 281 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.write_posted(hw, msgbuf, 2); mbx 283 drivers/net/ethernet/intel/igbvf/vf.c mbx->ops.read_posted(hw, msgbuf, 1); mbx 294 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 302 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.write_posted(hw, msgbuf, 3); mbx 305 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.read_posted(hw, msgbuf, 3); mbx 334 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 347 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.write_posted(hw, msgbuf, 3); mbx 350 drivers/net/ethernet/intel/igbvf/vf.c ret_val = mbx->ops.read_posted(hw, msgbuf, 3); mbx 374 drivers/net/ethernet/intel/igbvf/vf.c struct e1000_mbx_info *mbx = &hw->mbx; mbx 385 drivers/net/ethernet/intel/igbvf/vf.c if (!mbx->ops.check_for_rst(hw) || !mbx->timeout) mbx 398 drivers/net/ethernet/intel/igbvf/vf.c if (mbx->ops.read(hw, &in_msg, 1)) mbx 410 drivers/net/ethernet/intel/igbvf/vf.c if (!mbx->timeout) { mbx 224 drivers/net/ethernet/intel/igbvf/vf.h struct e1000_mbx_info mbx; mbx 10907 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c hw->mbx.ops = ii->mbx_ops; mbx 20 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 23 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (size > mbx->size) mbx 24 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c size = mbx->size; mbx 26 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops) mbx 29 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c return mbx->ops->read(hw, msg, size, mbx_id); mbx 43 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 45 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (size > mbx->size) mbx 48 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops) mbx 51 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c return mbx->ops->write(hw, msg, size, mbx_id); mbx 63 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 65 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops) mbx 68 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c return mbx->ops->check_for_msg(hw, mbx_id); mbx 80 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 82 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops) mbx 85 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c return mbx->ops->check_for_ack(hw, mbx_id); mbx 97 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 99 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops) mbx 102 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c return mbx->ops->check_for_rst(hw, mbx_id); mbx 114 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 115 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c int countdown = mbx->timeout; mbx 117 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!countdown || !mbx->ops) mbx 120 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c while (mbx->ops->check_for_msg(hw, mbx_id)) { mbx 124 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c udelay(mbx->usec_delay); mbx 139 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 140 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c int countdown = mbx->timeout; mbx 142 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!countdown || !mbx->ops) mbx 145 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c while (mbx->ops->check_for_ack(hw, mbx_id)) { mbx 149 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c udelay(mbx->usec_delay); mbx 168 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 171 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops) mbx 179 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c return mbx->ops->read(hw, msg, size, mbx_id); mbx 195 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 199 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c if (!mbx->ops || !mbx->timeout) mbx 203 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c ret_val = mbx->ops->write(hw, msg, size, mbx_id); mbx 237 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c hw->mbx.stats.reqs++; mbx 258 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c hw->mbx.stats.acks++; mbx 294 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c hw->mbx.stats.rsts++; mbx 355 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c hw->mbx.stats.msgs_tx++; mbx 390 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c hw->mbx.stats.msgs_rx++; mbx 404 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 413 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->timeout = 0; mbx 414 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->usec_delay = 0; mbx 416 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->stats.msgs_tx = 0; mbx 417 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->stats.msgs_rx = 0; mbx 418 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->stats.reqs = 0; mbx 419 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->stats.acks = 0; mbx 420 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->stats.rsts = 0; mbx 422 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c mbx->size = IXGBE_VFMAILBOX_SIZE; mbx 3639 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h struct ixgbe_mbx_info mbx; mbx 43 drivers/net/ethernet/intel/ixgbevf/ipsec.c ret = hw->mbx.ops.write_posted(hw, msgbuf, IXGBE_VFMAILBOX_SIZE); mbx 47 drivers/net/ethernet/intel/ixgbevf/ipsec.c ret = hw->mbx.ops.read_posted(hw, msgbuf, 2); mbx 80 drivers/net/ethernet/intel/ixgbevf/ipsec.c err = hw->mbx.ops.write_posted(hw, msgbuf, 2); mbx 84 drivers/net/ethernet/intel/ixgbevf/ipsec.c err = hw->mbx.ops.read_posted(hw, msgbuf, 2); mbx 2197 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c hw->mbx.timeout = 0; mbx 3018 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c hw->mbx.ops.init_params(hw); mbx 4604 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c memcpy(&hw->mbx.ops, &ixgbevf_mbx_ops, mbx 15 drivers/net/ethernet/intel/ixgbevf/mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 16 drivers/net/ethernet/intel/ixgbevf/mbx.c int countdown = mbx->timeout; mbx 18 drivers/net/ethernet/intel/ixgbevf/mbx.c while (countdown && mbx->ops.check_for_msg(hw)) { mbx 20 drivers/net/ethernet/intel/ixgbevf/mbx.c udelay(mbx->udelay); mbx 25 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->timeout = 0; mbx 38 drivers/net/ethernet/intel/ixgbevf/mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 39 drivers/net/ethernet/intel/ixgbevf/mbx.c int countdown = mbx->timeout; mbx 41 drivers/net/ethernet/intel/ixgbevf/mbx.c while (countdown && mbx->ops.check_for_ack(hw)) { mbx 43 drivers/net/ethernet/intel/ixgbevf/mbx.c udelay(mbx->udelay); mbx 48 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->timeout = 0; mbx 64 drivers/net/ethernet/intel/ixgbevf/mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 67 drivers/net/ethernet/intel/ixgbevf/mbx.c if (!mbx->ops.read) mbx 74 drivers/net/ethernet/intel/ixgbevf/mbx.c ret_val = mbx->ops.read(hw, msg, size); mbx 90 drivers/net/ethernet/intel/ixgbevf/mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 94 drivers/net/ethernet/intel/ixgbevf/mbx.c if (!mbx->ops.write || !mbx->timeout) mbx 98 drivers/net/ethernet/intel/ixgbevf/mbx.c ret_val = mbx->ops.write(hw, msg, size); mbx 118 drivers/net/ethernet/intel/ixgbevf/mbx.c v2p_mailbox |= hw->mbx.v2p_mailbox; mbx 119 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.v2p_mailbox |= v2p_mailbox & IXGBE_VFMAILBOX_R2C_BITS; mbx 140 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.v2p_mailbox &= ~mask; mbx 157 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.stats.reqs++; mbx 175 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.stats.acks++; mbx 194 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.stats.rsts++; mbx 247 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.stats.msgs_tx++; mbx 282 drivers/net/ethernet/intel/ixgbevf/mbx.c hw->mbx.stats.msgs_rx++; mbx 296 drivers/net/ethernet/intel/ixgbevf/mbx.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 301 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->timeout = 0; mbx 302 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->udelay = IXGBE_VF_MBX_INIT_DELAY; mbx 304 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->size = IXGBE_VFMAILBOX_SIZE; mbx 306 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->stats.msgs_tx = 0; mbx 307 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->stats.msgs_rx = 0; mbx 308 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->stats.reqs = 0; mbx 309 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->stats.acks = 0; mbx 310 drivers/net/ethernet/intel/ixgbevf/mbx.c mbx->stats.rsts = 0; mbx 16 drivers/net/ethernet/intel/ixgbevf/vf.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 17 drivers/net/ethernet/intel/ixgbevf/vf.c s32 retval = mbx->ops.write_posted(hw, msg, size); mbx 22 drivers/net/ethernet/intel/ixgbevf/vf.c return mbx->ops.read_posted(hw, retmsg, size); mbx 67 drivers/net/ethernet/intel/ixgbevf/vf.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 83 drivers/net/ethernet/intel/ixgbevf/vf.c while (!mbx->ops.check_for_rst(hw) && timeout) { mbx 92 drivers/net/ethernet/intel/ixgbevf/vf.c mbx->timeout = IXGBE_VF_MBX_INIT_TIMEOUT; mbx 95 drivers/net/ethernet/intel/ixgbevf/vf.c mbx->ops.write_posted(hw, msgbuf, 1); mbx 103 drivers/net/ethernet/intel/ixgbevf/vf.c ret_val = mbx->ops.read_posted(hw, msgbuf, IXGBE_VF_PERMADDR_MSG_LEN); mbx 324 drivers/net/ethernet/intel/ixgbevf/vf.c err = hw->mbx.ops.write_posted(hw, msgbuf, 1); mbx 329 drivers/net/ethernet/intel/ixgbevf/vf.c err = hw->mbx.ops.read_posted(hw, msgbuf, dwords + 1); mbx 391 drivers/net/ethernet/intel/ixgbevf/vf.c err = hw->mbx.ops.write_posted(hw, msgbuf, 1); mbx 396 drivers/net/ethernet/intel/ixgbevf/vf.c err = hw->mbx.ops.read_posted(hw, msgbuf, 11); mbx 654 drivers/net/ethernet/intel/ixgbevf/vf.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 661 drivers/net/ethernet/intel/ixgbevf/vf.c if (!mbx->ops.check_for_rst(hw) || !mbx->timeout) mbx 702 drivers/net/ethernet/intel/ixgbevf/vf.c if (mbx->ops.read(hw, &in_msg, 1)) mbx 713 drivers/net/ethernet/intel/ixgbevf/vf.c if (!mbx->timeout) { mbx 740 drivers/net/ethernet/intel/ixgbevf/vf.c struct ixgbe_mbx_info *mbx = &hw->mbx; mbx 745 drivers/net/ethernet/intel/ixgbevf/vf.c if (!mbx->ops.check_for_rst(hw) || !mbx->timeout) mbx 112 drivers/net/ethernet/intel/ixgbevf/vf.h struct ixgbe_mbx_info mbx; mbx 1218 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; mbx 1222 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->reply_virt->default_resp.hdr.status = status; mbx 1224 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_dp_tlv_list(p_hwfn, mbx->reply_virt); mbx 1232 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_dmae_host2host(p_hwfn, p_ptt, mbx->reply_phys + sizeof(u64), mbx 1233 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->req_virt->first_tlv.reply_address + mbx 1246 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_dmae_host2host(p_hwfn, p_ptt, mbx->reply_phys, mbx 1247 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->req_virt->first_tlv.reply_address, mbx 1325 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf_info->vf_mbx; mbx 1327 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->offset = (u8 *)mbx->reply_virt; mbx 1329 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_add_tlv(p_hwfn, &mbx->offset, type, length); mbx 1330 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_LIST_END, mbx 1557 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 1558 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct pfvf_acquire_resp_tlv *resp = &mbx->reply_virt->acquire_resp; mbx 1560 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct vfpf_acquire_tlv *req = &mbx->req_virt->acquire; mbx 1912 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 1929 drivers/net/ethernet/qlogic/qed/qed_sriov.c start = &mbx->req_virt->start_vport; mbx 2035 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 2040 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->offset = (u8 *)mbx->reply_virt; mbx 2051 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_tlv = qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_START_RXQ, mbx 2053 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_LIST_END, mbx 2058 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->start_rxq; mbx 2110 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 2119 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->start_rxq; mbx 2321 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; mbx 2330 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->offset = (u8 *)mbx->reply_virt; mbx 2333 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_req = &mbx->req_virt->tunn_param_update; mbx 2390 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp = qed_add_tlv(p_hwfn, &mbx->offset, mbx 2394 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_LIST_END, mbx 2405 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; mbx 2410 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->offset = (u8 *)mbx->reply_virt; mbx 2425 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_tlv = qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_START_TXQ, mbx 2427 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_LIST_END, mbx 2443 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 2455 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->start_txq; mbx 2586 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 2596 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->stop_rxqs; mbx 2624 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 2634 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->stop_txqs; mbx 2663 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 2672 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->update_rxq; mbx 3036 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 3066 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vp_update_act_param(p_hwfn, ¶ms, mbx, &tlvs_mask); mbx 3067 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vp_update_vlan_param(p_hwfn, ¶ms, vf, mbx, &tlvs_mask); mbx 3068 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vp_update_tx_switch(p_hwfn, ¶ms, mbx, &tlvs_mask); mbx 3069 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vp_update_mcast_bin_param(p_hwfn, ¶ms, mbx, &tlvs_mask); mbx 3070 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vp_update_accept_flag(p_hwfn, ¶ms, mbx, &tlvs_mask); mbx 3071 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_iov_vp_update_accept_any_vlan(p_hwfn, ¶ms, mbx, &tlvs_mask); mbx 3073 drivers/net/ethernet/qlogic/qed/qed_sriov.c &sge_tpa_params, mbx, &tlvs_mask); mbx 3082 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx, &tlvs_mask, &tlvs_accepted); mbx 3109 drivers/net/ethernet/qlogic/qed/qed_sriov.c length = qed_iov_prep_vp_update_resp_tlvs(p_hwfn, vf, mbx, status, mbx 3279 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 3287 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->ucast_filter; mbx 3428 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; mbx 3438 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->offset = (u8 *)mbx->reply_virt; mbx 3439 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->read_coal_req; mbx 3483 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_resp = qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_COALESCE_READ, mbx 3487 drivers/net/ethernet/qlogic/qed/qed_sriov.c qed_add_tlv(p_hwfn, &mbx->offset, CHANNEL_TLV_LIST_END, mbx 3497 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &vf->vf_mbx; mbx 3505 drivers/net/ethernet/qlogic/qed/qed_sriov.c req = &mbx->req_virt->update_coalesce; mbx 3833 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx = &p_vf->vf_mbx; mbx 3848 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_req = &mbx->req_virt->bulletin_update_mac; mbx 3864 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_iov_vf_mbx *mbx; mbx 3871 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx = &p_vf->vf_mbx; mbx 3874 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!mbx->b_pending_msg) { mbx 3880 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->b_pending_msg = false; mbx 3882 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->first_tlv = mbx->req_virt->first_tlv; mbx 3886 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, mbx->first_tlv.tl.type); mbx 3889 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (qed_iov_tlv_supported(mbx->first_tlv.tl.type) && mbx 3891 drivers/net/ethernet/qlogic/qed/qed_sriov.c switch (mbx->first_tlv.tl.type) { mbx 3944 drivers/net/ethernet/qlogic/qed/qed_sriov.c } else if (qed_iov_tlv_supported(mbx->first_tlv.tl.type)) { mbx 3947 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->abs_vf_id, mbx->first_tlv.tl.type); mbx 3950 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->first_tlv.tl.type, mbx 3963 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->first_tlv.tl.type, mbx 3964 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->first_tlv.tl.length, mbx 3965 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->first_tlv.padding, mbx->first_tlv.reply_address); mbx 3971 drivers/net/ethernet/qlogic/qed/qed_sriov.c (mbx->first_tlv.reply_address == mbx 3974 drivers/net/ethernet/qlogic/qed/qed_sriov.c mbx->first_tlv.tl.type, mbx 1761 drivers/net/ethernet/qlogic/qlcnic/qlcnic.h void qlcnic_83xx_reinit_mbx_work(struct qlcnic_mailbox *mbx); mbx 1762 drivers/net/ethernet/qlogic/qlcnic/qlcnic.h void qlcnic_83xx_free_mailbox(struct qlcnic_mailbox *mbx); mbx 1900 drivers/net/ethernet/qlogic/qlcnic/qlcnic.h static inline int qlcnic_alloc_mbx_args(struct qlcnic_cmd_args *mbx, mbx 1903 drivers/net/ethernet/qlogic/qlcnic/qlcnic.h return adapter->ahw->hw_ops->alloc_mbx_args(mbx, adapter, arg); mbx 495 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c static inline void qlcnic_83xx_notify_mbx_response(struct qlcnic_mailbox *mbx) mbx 497 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->rsp_status = QLC_83XX_MBX_RESPONSE_ARRIVED; mbx 498 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c complete(&mbx->completion); mbx 504 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 507 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_irqsave(&mbx->aen_lock, flags); mbx 516 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (mbx->rsp_status != rsp_status) mbx 517 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c qlcnic_83xx_notify_mbx_response(mbx); mbx 521 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_irqrestore(&mbx->aen_lock, flags); mbx 853 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 858 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (!mbx) mbx 863 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c err = mbx->ops->enqueue_cmd(adapter, cmd, &timeout); mbx 879 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c flush_workqueue(mbx->work_q); mbx 898 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c int qlcnic_83xx_alloc_mbx_args(struct qlcnic_cmd_args *mbx, mbx 905 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c memset(mbx, 0, sizeof(struct qlcnic_cmd_args)); mbx 910 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->op_type = QLC_83XX_FW_MBX_CMD; mbx 911 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->req.num = mbx_tbl[i].in_args; mbx 912 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->rsp.num = mbx_tbl[i].out_args; mbx 913 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->req.arg = kcalloc(mbx->req.num, sizeof(u32), mbx 915 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (!mbx->req.arg) mbx 917 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->rsp.arg = kcalloc(mbx->rsp.num, sizeof(u32), mbx 919 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (!mbx->rsp.arg) { mbx 920 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c kfree(mbx->req.arg); mbx 921 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->req.arg = NULL; mbx 925 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->req.arg[0] = (type | (mbx->req.num << 16) | temp); mbx 926 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->cmd_op = type; mbx 1019 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = ahw->mailbox; mbx 1022 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_irqsave(&mbx->aen_lock, flags); mbx 1029 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (mbx->rsp_status != rsp_status) mbx 1030 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c qlcnic_83xx_notify_mbx_response(mbx); mbx 1033 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_irqrestore(&mbx->aen_lock, flags); mbx 1321 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_tx_mbx mbx; mbx 1331 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c memset(&mbx, 0, sizeof(struct qlcnic_tx_mbx)); mbx 1334 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.phys_addr_low = LSD(tx->phys_addr); mbx 1335 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.phys_addr_high = MSD(tx->phys_addr); mbx 1336 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.cnsmr_index_low = LSD(tx->hw_cons_phys_addr); mbx 1337 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.cnsmr_index_high = MSD(tx->hw_cons_phys_addr); mbx 1338 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.size = tx->num_desc; mbx 1350 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.intr_id = msix_id; mbx 1352 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.intr_id = 0xffff; mbx 1353 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx.src = 0; mbx 1369 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c memcpy(buf, &mbx, sizeof(struct qlcnic_tx_mbx)); mbx 2346 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx; mbx 2349 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx = adapter->ahw->mailbox; mbx 2350 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_irqsave(&mbx->aen_lock, flags); mbx 2359 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (mbx->rsp_status != rsp_status) mbx 2360 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c qlcnic_83xx_notify_mbx_response(mbx); mbx 2368 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_irqrestore(&mbx->aen_lock, flags); mbx 3863 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c void qlcnic_83xx_reinit_mbx_work(struct qlcnic_mailbox *mbx) mbx 3865 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c reinit_completion(&mbx->completion); mbx 3866 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c set_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 3869 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c void qlcnic_83xx_free_mailbox(struct qlcnic_mailbox *mbx) mbx 3871 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (!mbx) mbx 3874 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c destroy_workqueue(mbx->work_q); mbx 3875 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c kfree(mbx); mbx 3894 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 3895 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct list_head *head = &mbx->cmd_q; mbx 3898 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_bh(&mbx->queue_lock); mbx 3905 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->num_cmds--; mbx 3909 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_bh(&mbx->queue_lock); mbx 3915 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = ahw->mailbox; mbx 3918 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (!test_bit(QLC_83XX_MBX_READY, &mbx->status)) mbx 3923 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 3943 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 3945 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_bh(&mbx->queue_lock); mbx 3948 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->num_cmds--; mbx 3950 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_bh(&mbx->queue_lock); mbx 3992 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 3994 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (!mbx) mbx 3997 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 3998 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c complete(&mbx->completion); mbx 3999 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c cancel_work_sync(&mbx->work); mbx 4000 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c flush_workqueue(mbx->work_q); mbx 4008 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 4010 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (test_bit(QLC_83XX_MBX_READY, &mbx->status)) { mbx 4015 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_bh(&mbx->queue_lock); mbx 4017 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c list_add_tail(&cmd->list, &mbx->cmd_q); mbx 4018 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->num_cmds++; mbx 4019 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c cmd->total_cmds = mbx->num_cmds; mbx 4021 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c queue_work(mbx->work_q, &mbx->work); mbx 4023 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_bh(&mbx->queue_lock); mbx 4097 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx = container_of(work, struct qlcnic_mailbox, mbx 4099 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_adapter *adapter = mbx->adapter; mbx 4100 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c const struct qlcnic_mbx_ops *mbx_ops = mbx->ops; mbx 4102 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct list_head *head = &mbx->cmd_q; mbx 4115 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_irqsave(&mbx->aen_lock, flags); mbx 4116 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->rsp_status = QLC_83XX_MBX_RESPONSE_WAIT; mbx 4117 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_irqrestore(&mbx->aen_lock, flags); mbx 4119 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_bh(&mbx->queue_lock); mbx 4122 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_bh(&mbx->queue_lock); mbx 4127 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_unlock_bh(&mbx->queue_lock); mbx 4132 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (wait_for_completion_timeout(&mbx->completion, mbx 4140 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 4163 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c struct qlcnic_mailbox *mbx; mbx 4165 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c ahw->mailbox = kzalloc(sizeof(*mbx), GFP_KERNEL); mbx 4169 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx = ahw->mailbox; mbx 4170 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->ops = &qlcnic_83xx_mbx_ops; mbx 4171 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->adapter = adapter; mbx 4173 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_init(&mbx->queue_lock); mbx 4174 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c spin_lock_init(&mbx->aen_lock); mbx 4175 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c INIT_LIST_HEAD(&mbx->cmd_q); mbx 4176 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c init_completion(&mbx->completion); mbx 4178 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c mbx->work_q = create_singlethread_workqueue("qlcnic_mailbox"); mbx 4179 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c if (mbx->work_q == NULL) { mbx 4180 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c kfree(mbx); mbx 4184 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c INIT_WORK(&mbx->work, qlcnic_83xx_mailbox_worker); mbx 4185 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c set_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 822 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c struct qlcnic_mailbox *mbx = ahw->mailbox; mbx 836 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 849 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 861 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 900 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 906 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 53 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c int qlcnic_82xx_alloc_mbx_args(struct qlcnic_cmd_args *mbx, mbx 63 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c mbx->req.num = mbx_tbl[i].in_args; mbx 64 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c mbx->rsp.num = mbx_tbl[i].out_args; mbx 65 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c mbx->req.arg = kcalloc(mbx->req.num, mbx 67 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c if (!mbx->req.arg) mbx 69 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c mbx->rsp.arg = kcalloc(mbx->rsp.num, mbx 71 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c if (!mbx->rsp.arg) { mbx 72 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c kfree(mbx->req.arg); mbx 73 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c mbx->req.arg = NULL; mbx 76 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c mbx->req.arg[0] = type; mbx 495 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c struct qlcnic_dcb_mbx_params *mbx; mbx 498 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c mbx = dcb->param; mbx 499 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c if (!mbx) mbx 502 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c err = qlcnic_dcb_query_cee_param(dcb, (char *)&mbx->type[0], mbx 507 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c err = qlcnic_dcb_query_cee_param(dcb, (char *)&mbx->type[1], mbx 512 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c err = qlcnic_dcb_query_cee_param(dcb, (char *)&mbx->type[2], mbx 517 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c mbx->prio_tc_map = QLC_82XX_DCB_PRIO_TC_MAP; mbx 656 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c static void qlcnic_dcb_fill_cee_tc_params(struct qlcnic_dcb_mbx_params *mbx, mbx 664 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c tc = QLC_DCB_GET_TC_PRIO(mbx->prio_tc_map, i); mbx 745 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c struct qlcnic_dcb_mbx_params *mbx = adapter->dcb->param; mbx 746 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c struct qlcnic_dcb_param *each = &mbx->type[idx]; mbx 765 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c qlcnic_dcb_fill_cee_tc_params(mbx, each, type); mbx 314 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c struct qlcnic_mailbox *mbx = ahw->mailbox; mbx 327 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c err = mbx->ops->enqueue_cmd(adapter, &cmd, &timeout); mbx 341 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c flush_workqueue(mbx->work_q); mbx 716 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c static int qlcnic_sriov_alloc_bc_mbx_args(struct qlcnic_cmd_args *mbx, u32 type) mbx 726 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->op_type = QLC_BC_CMD; mbx 727 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->req.num = mbx_tbl[i].in_args; mbx 728 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->rsp.num = mbx_tbl[i].out_args; mbx 729 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->req.arg = kcalloc(mbx->req.num, sizeof(u32), mbx 731 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c if (!mbx->req.arg) mbx 733 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->rsp.arg = kcalloc(mbx->rsp.num, sizeof(u32), mbx 735 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c if (!mbx->rsp.arg) { mbx 736 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c kfree(mbx->req.arg); mbx 737 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->req.arg = NULL; mbx 740 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->req.arg[0] = (type | (mbx->req.num << 16) | mbx 742 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c mbx->rsp.arg[0] = (type & 0xffff) | mbx->rsp.num << 16; mbx 1374 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c struct qlcnic_mailbox *mbx = ahw->mailbox; mbx 1391 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c if (!test_bit(QLC_83XX_MBX_READY, &mbx->status)) { mbx 1439 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 1768 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c struct qlcnic_mailbox *mbx = ahw->mailbox; mbx 1779 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 1804 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 1854 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 1862 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 1871 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c struct qlcnic_mailbox *mbx = adapter->ahw->mailbox; mbx 1881 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c clear_bit(QLC_83XX_MBX_READY, &mbx->status); mbx 256 drivers/scsi/ipr.h #define IPR_GET_FMT2_BAR_SEL(mbx) \ mbx 257 drivers/scsi/ipr.h (((mbx) & IPR_FMT2_MBX_BAR_SEL_MASK) >> IPR_FMT2_MKR_BAR_SEL_SHIFT) mbx 4101 drivers/scsi/lpfc/lpfc_bsg.c uint8_t *mbx; mbx 4197 drivers/scsi/lpfc/lpfc_bsg.c mbx = (uint8_t *)dmabuf->virt; mbx 4198 drivers/scsi/lpfc/lpfc_bsg.c memcpy(pmb, mbx, sizeof(*pmb)); mbx 4210 drivers/scsi/lpfc/lpfc_bsg.c dd_data->context_un.mbox.mb = (MAILBOX_t *)mbx; mbx 4244 drivers/scsi/lpfc/lpfc_hw.h MAILBOX_t mbx; mbx 7767 drivers/scsi/lpfc/lpfc_init.c phba->mbox = phba->slim2p.virt + offsetof(struct lpfc_sli2_slim, mbx); mbx 1421 drivers/scsi/lpfc/lpfc_mbox.c mbx.us.s3_pgp.port); mbx 1423 drivers/scsi/lpfc/lpfc_mbox.c pgp_offset = offsetof(struct lpfc_sli2_slim, mbx.us.s2.port); mbx 8011 drivers/scsi/lpfc/lpfc_sli.c MAILBOX_t *mbx; mbx 8065 drivers/scsi/lpfc/lpfc_sli.c mbx = &pmbox->u.mb; mbx 8080 drivers/scsi/lpfc/lpfc_sli.c if (mbx->mbxCommand != MBX_KILL_BOARD && flag & MBX_NOWAIT) { mbx 8134 drivers/scsi/lpfc/lpfc_sli.c mbx->mbxCommand, mbx 8145 drivers/scsi/lpfc/lpfc_sli.c (uint32_t)mbx->mbxCommand, mbx 8146 drivers/scsi/lpfc/lpfc_sli.c mbx->un.varWords[0], mbx->un.varWords[1]); mbx 8152 drivers/scsi/lpfc/lpfc_sli.c (uint32_t)mbx->mbxCommand, mbx 8153 drivers/scsi/lpfc/lpfc_sli.c mbx->un.varWords[0], mbx->un.varWords[1]); mbx 8164 drivers/scsi/lpfc/lpfc_sli.c (mbx->mbxCommand != MBX_KILL_BOARD)) { mbx 8187 drivers/scsi/lpfc/lpfc_sli.c mbx->mbxCommand, mbx 8191 drivers/scsi/lpfc/lpfc_sli.c if (mbx->mbxCommand != MBX_HEARTBEAT) { mbx 8196 drivers/scsi/lpfc/lpfc_sli.c (uint32_t)mbx->mbxCommand, mbx 8197 drivers/scsi/lpfc/lpfc_sli.c mbx->un.varWords[0], mbx->un.varWords[1]); mbx 8203 drivers/scsi/lpfc/lpfc_sli.c (uint32_t)mbx->mbxCommand, mbx 8204 drivers/scsi/lpfc/lpfc_sli.c mbx->un.varWords[0], mbx->un.varWords[1]); mbx 8212 drivers/scsi/lpfc/lpfc_sli.c mbx->mbxOwner = OWN_CHIP; mbx 8217 drivers/scsi/lpfc/lpfc_sli.c *(((uint32_t *)mbx) + pmbox->mbox_offset_word) mbx 8229 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_pcimem_bcopy(mbx, phba->mbox, MAILBOX_CMD_SIZE); mbx 8233 drivers/scsi/lpfc/lpfc_sli.c *(((uint32_t *)mbx) + pmbox->mbox_offset_word) mbx 8242 drivers/scsi/lpfc/lpfc_sli.c if (mbx->mbxCommand == MBX_CONFIG_PORT) mbx 8244 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_pcimem_bcopy(mbx, phba->mbox, mbx 8250 drivers/scsi/lpfc/lpfc_sli.c lpfc_memcpy_to_slim(to_slim, &mbx->un.varWords[0], mbx 8254 drivers/scsi/lpfc/lpfc_sli.c ldata = *((uint32_t *)mbx); mbx 8259 drivers/scsi/lpfc/lpfc_sli.c if (mbx->mbxCommand == MBX_CONFIG_PORT) mbx 8333 drivers/scsi/lpfc/lpfc_sli.c if (mbx->mbxCommand == MBX_CONFIG_PORT) { mbx 8360 drivers/scsi/lpfc/lpfc_sli.c lpfc_sli_pcimem_bcopy(phba->mbox, mbx, mbx 8370 drivers/scsi/lpfc/lpfc_sli.c lpfc_memcpy_from_slim(mbx, phba->MBslimaddr, mbx 8386 drivers/scsi/lpfc/lpfc_sli.c status = mbx->mbxStatus; mbx 526 drivers/scsi/qla2xxx/qla_def.h } mbx; mbx 3315 drivers/scsi/qla2xxx/qla_def.h uint32_t mbx[8]; mbx 818 drivers/scsi/qla2xxx/qla_fw.h uint16_t mbx[28]; mbx 979 drivers/scsi/qla2xxx/qla_init.c sp->name, res, sp->u.iocb_cmd.u.mbx.in_mb[1], mbx 980 drivers/scsi/qla2xxx/qla_init.c sp->u.iocb_cmd.u.mbx.in_mb[2]); mbx 990 drivers/scsi/qla2xxx/qla_init.c if (sp->u.iocb_cmd.u.mbx.in_mb[1] >= mbx 992 drivers/scsi/qla2xxx/qla_init.c n = sp->u.iocb_cmd.u.mbx.in_mb[1] / mbx 994 drivers/scsi/qla2xxx/qla_init.c ea.data[0] = sp->u.iocb_cmd.u.mbx.in_mb[1]; /* amnt xfered */ mbx 1072 drivers/scsi/qla2xxx/qla_init.c struct srb_iocb *mbx; mbx 1106 drivers/scsi/qla2xxx/qla_init.c mbx = &sp->u.iocb_cmd; mbx 1107 drivers/scsi/qla2xxx/qla_init.c mbx->timeout = qla2x00_async_iocb_timeout; mbx 1110 drivers/scsi/qla2xxx/qla_init.c mb = sp->u.iocb_cmd.u.mbx.out_mb; mbx 1157 drivers/scsi/qla2xxx/qla_init.c u16 *mb = sp->u.iocb_cmd.u.mbx.in_mb; mbx 1176 drivers/scsi/qla2xxx/qla_init.c dma_pool_free(ha->s_dma_pool, sp->u.iocb_cmd.u.mbx.in, mbx 1177 drivers/scsi/qla2xxx/qla_init.c sp->u.iocb_cmd.u.mbx.in_dma); mbx 1300 drivers/scsi/qla2xxx/qla_init.c struct srb_iocb *mbx; mbx 1327 drivers/scsi/qla2xxx/qla_init.c mbx = &sp->u.iocb_cmd; mbx 1328 drivers/scsi/qla2xxx/qla_init.c mbx->timeout = qla2x00_async_iocb_timeout; mbx 1338 drivers/scsi/qla2xxx/qla_init.c mb = sp->u.iocb_cmd.u.mbx.out_mb; mbx 1348 drivers/scsi/qla2xxx/qla_init.c mbx->u.mbx.in = (void *)pd; mbx 1349 drivers/scsi/qla2xxx/qla_init.c mbx->u.mbx.in_dma = pd_dma; mbx 1412 drivers/scsi/qla2xxx/qla_init.c pd = (struct port_database_24xx *)sp->u.iocb_cmd.u.mbx.in; mbx 2382 drivers/scsi/qla2xxx/qla_iocb.c qla2x00_login_iocb(srb_t *sp, struct mbx_entry *mbx) mbx 2388 drivers/scsi/qla2xxx/qla_iocb.c mbx->entry_type = MBX_IOCB_TYPE; mbx 2389 drivers/scsi/qla2xxx/qla_iocb.c SET_TARGET_ID(ha, mbx->loop_id, sp->fcport->loop_id); mbx 2390 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb0 = cpu_to_le16(MBC_LOGIN_FABRIC_PORT); mbx 2394 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb1 = cpu_to_le16(sp->fcport->loop_id); mbx 2395 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb10 = cpu_to_le16(opts); mbx 2397 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb1 = cpu_to_le16((sp->fcport->loop_id << 8) | opts); mbx 2399 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb2 = cpu_to_le16(sp->fcport->d_id.b.domain); mbx 2400 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb3 = cpu_to_le16(sp->fcport->d_id.b.area << 8 | mbx 2402 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb9 = cpu_to_le16(sp->vha->vp_idx); mbx 2429 drivers/scsi/qla2xxx/qla_iocb.c qla2x00_logout_iocb(srb_t *sp, struct mbx_entry *mbx) mbx 2433 drivers/scsi/qla2xxx/qla_iocb.c mbx->entry_type = MBX_IOCB_TYPE; mbx 2434 drivers/scsi/qla2xxx/qla_iocb.c SET_TARGET_ID(ha, mbx->loop_id, sp->fcport->loop_id); mbx 2435 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb0 = cpu_to_le16(MBC_LOGOUT_FABRIC_PORT); mbx 2436 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb1 = HAS_EXTENDED_IDS(ha) ? mbx 2439 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb2 = cpu_to_le16(sp->fcport->d_id.b.domain); mbx 2440 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb3 = cpu_to_le16(sp->fcport->d_id.b.area << 8 | mbx 2442 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb9 = cpu_to_le16(sp->vha->vp_idx); mbx 2456 drivers/scsi/qla2xxx/qla_iocb.c qla2x00_adisc_iocb(srb_t *sp, struct mbx_entry *mbx) mbx 2460 drivers/scsi/qla2xxx/qla_iocb.c mbx->entry_type = MBX_IOCB_TYPE; mbx 2461 drivers/scsi/qla2xxx/qla_iocb.c SET_TARGET_ID(ha, mbx->loop_id, sp->fcport->loop_id); mbx 2462 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb0 = cpu_to_le16(MBC_GET_PORT_DATABASE); mbx 2464 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb1 = cpu_to_le16(sp->fcport->loop_id); mbx 2465 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb10 = cpu_to_le16(BIT_0); mbx 2467 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb1 = cpu_to_le16((sp->fcport->loop_id << 8) | BIT_0); mbx 2469 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb2 = cpu_to_le16(MSW(ha->async_pd_dma)); mbx 2470 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb3 = cpu_to_le16(LSW(ha->async_pd_dma)); mbx 2471 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb6 = cpu_to_le16(MSW(MSD(ha->async_pd_dma))); mbx 2472 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb7 = cpu_to_le16(LSW(MSD(ha->async_pd_dma))); mbx 2473 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb9 = cpu_to_le16(sp->vha->vp_idx); mbx 3426 drivers/scsi/qla2xxx/qla_iocb.c qla2x00_mb_iocb(srb_t *sp, struct mbx_24xx_entry *mbx) mbx 3430 drivers/scsi/qla2xxx/qla_iocb.c mbx->entry_type = MBX_IOCB_TYPE; mbx 3431 drivers/scsi/qla2xxx/qla_iocb.c mbx->handle = sp->handle; mbx 3432 drivers/scsi/qla2xxx/qla_iocb.c sz = min(ARRAY_SIZE(mbx->mb), ARRAY_SIZE(sp->u.iocb_cmd.u.mbx.out_mb)); mbx 3435 drivers/scsi/qla2xxx/qla_iocb.c mbx->mb[i] = cpu_to_le16(sp->u.iocb_cmd.u.mbx.out_mb[i]); mbx 632 drivers/scsi/qla2xxx/qla_isr.c uint16_t cnt, mbx; mbx 719 drivers/scsi/qla2xxx/qla_isr.c mbx = (IS_QLA81XX(ha) || IS_QLA83XX(ha) || IS_QLA27XX(ha) || mbx 724 drivers/scsi/qla2xxx/qla_isr.c "mbx7=%xh.\n", mb[1], mb[2], mb[3], mbx); mbx 741 drivers/scsi/qla2xxx/qla_isr.c if ((mbx & MBX_3) && (ha->port_no == 0)) mbx 830 drivers/scsi/qla2xxx/qla_isr.c mbx = (IS_QLA81XX(ha) || IS_QLA8031(ha)) mbx 832 drivers/scsi/qla2xxx/qla_isr.c mbx = (IS_P3P_TYPE(ha)) ? RD_REG_WORD(®82->mailbox_out[4]) mbx 833 drivers/scsi/qla2xxx/qla_isr.c : mbx; mbx 836 drivers/scsi/qla2xxx/qla_isr.c mb[1], mb[2], mb[3], mbx); mbx 1348 drivers/scsi/qla2xxx/qla_isr.c struct mbx_entry *mbx) mbx 1358 drivers/scsi/qla2xxx/qla_isr.c sp = qla2x00_get_sp_from_handle(vha, func, req, mbx); mbx 1370 drivers/scsi/qla2xxx/qla_isr.c if (mbx->entry_status) { mbx 1376 drivers/scsi/qla2xxx/qla_isr.c fcport->d_id.b.al_pa, mbx->entry_status, mbx 1377 drivers/scsi/qla2xxx/qla_isr.c le16_to_cpu(mbx->status), le16_to_cpu(mbx->state_flags), mbx 1378 drivers/scsi/qla2xxx/qla_isr.c le16_to_cpu(mbx->status_flags)); mbx 1381 drivers/scsi/qla2xxx/qla_isr.c mbx, sizeof(*mbx)); mbx 1386 drivers/scsi/qla2xxx/qla_isr.c status = le16_to_cpu(mbx->status); mbx 1388 drivers/scsi/qla2xxx/qla_isr.c le16_to_cpu(mbx->mb0) == MBS_COMMAND_COMPLETE) mbx 1390 drivers/scsi/qla2xxx/qla_isr.c if (!status && le16_to_cpu(mbx->mb0) == MBS_COMMAND_COMPLETE) { mbx 1395 drivers/scsi/qla2xxx/qla_isr.c le16_to_cpu(mbx->mb1)); mbx 1400 drivers/scsi/qla2xxx/qla_isr.c if (le16_to_cpu(mbx->mb1) & BIT_0) mbx 1402 drivers/scsi/qla2xxx/qla_isr.c else if (le16_to_cpu(mbx->mb1) & BIT_1) mbx 1408 drivers/scsi/qla2xxx/qla_isr.c data[0] = le16_to_cpu(mbx->mb0); mbx 1411 drivers/scsi/qla2xxx/qla_isr.c data[1] = le16_to_cpu(mbx->mb1); mbx 1424 drivers/scsi/qla2xxx/qla_isr.c status, le16_to_cpu(mbx->mb0), le16_to_cpu(mbx->mb1), mbx 1425 drivers/scsi/qla2xxx/qla_isr.c le16_to_cpu(mbx->mb2), le16_to_cpu(mbx->mb6), mbx 1426 drivers/scsi/qla2xxx/qla_isr.c le16_to_cpu(mbx->mb7)); mbx 1447 drivers/scsi/qla2xxx/qla_isr.c sz = min(ARRAY_SIZE(pkt->mb), ARRAY_SIZE(sp->u.iocb_cmd.u.mbx.in_mb)); mbx 1450 drivers/scsi/qla2xxx/qla_isr.c si->u.mbx.in_mb[i] = le16_to_cpu(pkt->mb[i]); mbx 1452 drivers/scsi/qla2xxx/qla_isr.c res = (si->u.mbx.in_mb[0] & MBS_MASK); mbx 6230 drivers/scsi/qla2xxx/qla_mbx.c sp->u.iocb_cmd.u.mbx.rc = res; mbx 6232 drivers/scsi/qla2xxx/qla_mbx.c complete(&sp->u.iocb_cmd.u.mbx.comp); mbx 6259 drivers/scsi/qla2xxx/qla_mbx.c init_completion(&c->u.mbx.comp); mbx 6263 drivers/scsi/qla2xxx/qla_mbx.c memcpy(sp->u.iocb_cmd.u.mbx.out_mb, mcp->mb, SIZEOF_IOCB_MB_REG); mbx 6278 drivers/scsi/qla2xxx/qla_mbx.c wait_for_completion(&c->u.mbx.comp); mbx 6279 drivers/scsi/qla2xxx/qla_mbx.c memcpy(mcp->mb, sp->u.iocb_cmd.u.mbx.in_mb, SIZEOF_IOCB_MB_REG); mbx 6281 drivers/scsi/qla2xxx/qla_mbx.c rval = c->u.mbx.rc; mbx 1725 drivers/scsi/qla2xxx/qla_mr.c if (evt->u.aenfx.mbx[1] == 0) { mbx 1726 drivers/scsi/qla2xxx/qla_mr.c if (evt->u.aenfx.mbx[2] == 1) { mbx 1733 drivers/scsi/qla2xxx/qla_mr.c } else if (evt->u.aenfx.mbx[2] == 2) { mbx 1734 drivers/scsi/qla2xxx/qla_mr.c qlafx00_tgt_detach(vha, evt->u.aenfx.mbx[3]); mbx 1736 drivers/scsi/qla2xxx/qla_mr.c } else if (evt->u.aenfx.mbx[1] == 0xffff) { mbx 1737 drivers/scsi/qla2xxx/qla_mr.c if (evt->u.aenfx.mbx[2] == 1) { mbx 1741 drivers/scsi/qla2xxx/qla_mr.c } else if (evt->u.aenfx.mbx[2] == 2) { mbx 4997 drivers/scsi/qla2xxx/qla_os.c memcpy(e->u.aenfx.mbx, data, sizeof(*data) * cnt);