Lines Matching refs:fwcmd

54 	struct ioctl_common_function_reset *fwcmd;
62 fwcmd = (struct ioctl_common_function_reset *)&mbx->payload;
63 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
260 struct mbx_get_common_fw_version *fwcmd;
265 fwcmd = (struct mbx_get_common_fw_version *)&mbx.payload;
266 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
279 ret = fwcmd->hdr.u0.rsp.status;
284 fwcmd->hdr.u0.rsp.additional_status);
288 bcopy(fwcmd->params.rsp.fw_ver_str, sc->fw_version, 32);
306 struct mbx_get_common_fw_version *fwcmd;
312 fwcmd = (struct mbx_get_common_fw_version *)&mbx->payload;
313 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
411 struct mbx_query_common_iface_mac *fwcmd;
416 fwcmd = (struct mbx_query_common_iface_mac *)&mbx.payload;
417 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
424 fwcmd->params.req.permanent = perm;
426 fwcmd->params.req.if_id = (uint16_t) if_id;
428 fwcmd->params.req.if_id = 0;
430 fwcmd->params.req.type = type;
438 ret = fwcmd->hdr.u0.rsp.status;
443 fwcmd->hdr.u0.rsp.additional_status);
448 mac->size_of_struct = fwcmd->params.rsp.mac.size_of_struct;
449 bcopy(&fwcmd->params.rsp.mac.mac_addr[0], &mac->mac_addr[0],
464 struct mbx_common_query_fw_config *fwcmd;
469 fwcmd = (struct mbx_common_query_fw_config *)&mbx.payload;
470 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
483 ret = fwcmd->hdr.u0.rsp.status;
488 fwcmd->hdr.u0.rsp.additional_status);
492 DW_SWAP(u32ptr(fwcmd), sizeof(struct mbx_common_query_fw_config));
494 sc->config_number = HOST_32(fwcmd->params.rsp.config_number);
495 sc->asic_revision = HOST_32(fwcmd->params.rsp.asic_revision);
496 sc->port_id = HOST_32(fwcmd->params.rsp.port_id);
497 sc->function_mode = HOST_32(fwcmd->params.rsp.function_mode);
498 sc->function_caps = HOST_32(fwcmd->params.rsp.function_caps);
500 if (fwcmd->params.rsp.ulp[0].ulp_mode & ULP_NIC_MODE) {
501 sc->max_tx_rings = HOST_32(fwcmd->params.rsp.ulp[0].nic_wq_tot);
502 sc->max_rx_rings = HOST_32(fwcmd->params.rsp.ulp[0].lro_rqid_tot);
504 sc->max_tx_rings = HOST_32(fwcmd->params.rsp.ulp[1].nic_wq_tot);
505 sc->max_rx_rings = HOST_32(fwcmd->params.rsp.ulp[1].lro_rqid_tot);
534 struct mbx_create_common_iface *fwcmd;
539 fwcmd = (struct mbx_create_common_iface *)&mbx.payload;
540 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
546 DW_SWAP(u32ptr(&fwcmd->hdr), sizeof(struct mbx_hdr));
548 fwcmd->params.req.version = 0;
549 fwcmd->params.req.cap_flags = LE_32(cap_flags);
550 fwcmd->params.req.enable_flags = LE_32(en_flags);
552 bcopy(mac_addr, &fwcmd->params.req.mac_addr[0], 6);
553 fwcmd->params.req.vlan_tag.u0.normal.vtag = LE_16(vlan_tag);
554 fwcmd->params.req.mac_invalid = 0;
556 fwcmd->params.req.mac_invalid = 1;
565 rc = fwcmd->hdr.u0.rsp.status;
570 fwcmd->hdr.u0.rsp.additional_status);
574 *if_id = HOST_32(fwcmd->params.rsp.if_id);
577 sc->pmac_id = HOST_32(fwcmd->params.rsp.pmac_id);
592 struct mbx_destroy_common_iface *fwcmd;
597 fwcmd = (struct mbx_destroy_common_iface *)&mbx.payload;
598 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
605 fwcmd->params.req.if_id = if_id;
613 rc = fwcmd->hdr.u0.rsp.status;
618 fwcmd->hdr.u0.rsp.additional_status);
639 struct mbx_common_config_vlan *fwcmd;
646 fwcmd = (struct mbx_common_config_vlan *)&mbx.payload;
648 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
655 fwcmd->params.req.if_id = (uint8_t) if_id;
656 fwcmd->params.req.promisc = (uint8_t) enable_promisc;
657 fwcmd->params.req.untagged = (uint8_t) untagged;
658 fwcmd->params.req.num_vlans = vtag_cnt;
661 bcopy(vtag_arr, fwcmd->params.req.tags.normal_vlans,
670 rc = fwcmd->hdr.u0.rsp.status;
675 fwcmd->hdr.u0.rsp.additional_status);
698 struct mbx_common_get_set_flow_control *fwcmd =
704 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
712 fwcmd->tx_flow_control = 1;
715 fwcmd->rx_flow_control = 1;
723 rc = fwcmd->hdr.u0.rsp.status;
728 fwcmd->hdr.u0.rsp.additional_status);
744 * @param *fwcmd pointer to the rss mbox command
748 oce_rss_itbl_init(POCE_SOFTC sc, struct mbx_config_nic_rss *fwcmd)
751 uint8_t *tbl = fwcmd->params.req.cputable;
770 fwcmd->params.req.cpu_tbl_sz_log2 = LE_16(OCE_LOG2(i));
787 struct mbx_config_nic_rss *fwcmd =
795 fwcmd->params.req.enable_rss = RSS_ENABLE_UDP_IPV4 |
800 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
807 fwcmd->params.req.enable_rss |= (RSS_ENABLE_IPV4 |
811 fwcmd->params.req.flush = OCE_FLUSH;
812 fwcmd->params.req.if_id = LE_32(if_id);
814 read_random(fwcmd->params.req.hash, sizeof(fwcmd->params.req.hash));
816 rc = oce_rss_itbl_init(sc, fwcmd);
824 rc = fwcmd->hdr.u0.rsp.status;
829 fwcmd->hdr.u0.rsp.additional_status);
846 struct mbx_set_common_iface_rx_filter *fwcmd;
857 fwcmd = OCE_DMAPTR(&sgl, struct mbx_set_common_iface_rx_filter);
859 req = &fwcmd->params.req;
889 struct mbx_set_common_iface_rx_filter *fwcmd;
893 fwcmd = OCE_DMAPTR(sgl, struct mbx_set_common_iface_rx_filter);
895 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
913 rc = fwcmd->hdr.u0.rsp.status;
918 fwcmd->hdr.u0.rsp.additional_status);
932 struct mbx_query_common_link_config *fwcmd;
939 fwcmd = (struct mbx_query_common_link_config *)&mbx.payload;
940 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
954 rc = fwcmd->hdr.u0.rsp.status;
959 fwcmd->hdr.u0.rsp.additional_status);
963 link->qos_link_speed = HOST_16(fwcmd->params.rsp.qos_link_speed);
964 link->phys_port_speed = fwcmd->params.rsp.physical_port_speed;
965 link->logical_link_status = fwcmd->params.rsp.logical_link_status;
976 struct mbx_get_nic_stats_v0 *fwcmd;
981 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_nic_stats_v0);
982 bzero(fwcmd, sizeof(struct mbx_get_nic_stats_v0));
984 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1009 rc = fwcmd->hdr.u0.rsp.status;
1014 fwcmd->hdr.u0.rsp.additional_status);
1032 struct mbx_get_nic_stats *fwcmd;
1036 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_nic_stats);
1037 bzero(fwcmd, sizeof(struct mbx_get_nic_stats));
1039 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1061 rc = fwcmd->hdr.u0.rsp.status;
1066 fwcmd->hdr.u0.rsp.additional_status);
1083 struct mbx_get_pport_stats *fwcmd;
1087 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_pport_stats);
1088 bzero(fwcmd, sizeof(struct mbx_get_pport_stats));
1090 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1097 fwcmd->params.req.reset_stats = reset_stats;
1098 fwcmd->params.req.port_number = sc->port_id;
1115 rc = fwcmd->hdr.u0.rsp.status;
1120 fwcmd->hdr.u0.rsp.additional_status);
1137 struct mbx_get_vport_stats *fwcmd;
1142 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_vport_stats);
1143 bzero(fwcmd, sizeof(struct mbx_get_vport_stats));
1145 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1152 fwcmd->params.req.reset_stats = reset_stats;
1153 fwcmd->params.req.vport_number = sc->if_id;
1170 rc = fwcmd->hdr.u0.rsp.status;
1175 fwcmd->hdr.u0.rsp.additional_status);
1263 struct mbx_add_common_iface_mac *fwcmd;
1268 fwcmd = (struct mbx_add_common_iface_mac *)&mbx.payload;
1269 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1276 fwcmd->params.req.if_id = (uint16_t) if_id;
1277 bcopy(mac_addr, fwcmd->params.req.mac_address, 6);
1284 rc = fwcmd->hdr.u0.rsp.status;
1289 fwcmd->hdr.u0.rsp.additional_status);
1292 *pmac_id = fwcmd->params.rsp.pmac_id;
1302 struct mbx_del_common_iface_mac *fwcmd;
1307 fwcmd = (struct mbx_del_common_iface_mac *)&mbx.payload;
1308 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1315 fwcmd->params.req.if_id = (uint16_t)if_id;
1316 fwcmd->params.req.pmac_id = pmac_id;
1324 rc = fwcmd->hdr.u0.rsp.status;
1329 fwcmd->hdr.u0.rsp.additional_status);
1339 struct mbx_common_set_function_cap *fwcmd;
1344 fwcmd = (struct mbx_common_set_function_cap *)&mbx.payload;
1345 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1352 fwcmd->params.req.valid_capability_flags = CAP_SW_TIMESTAMPS |
1355 fwcmd->params.req.capability_flags = CAP_BE3_NATIVE_ERX_API;
1363 rc = fwcmd->hdr.u0.rsp.status;
1368 fwcmd->hdr.u0.rsp.additional_status);
1371 sc->be3_native = HOST_32(fwcmd->params.rsp.capability_flags)
1385 struct mbx_lowlevel_set_loopback_mode *fwcmd;
1391 fwcmd = (struct mbx_lowlevel_set_loopback_mode *)&mbx.payload;
1392 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1399 fwcmd->params.req.src_port = port_num;
1400 fwcmd->params.req.dest_port = port_num;
1401 fwcmd->params.req.loopback_type = loopback_type;
1402 fwcmd->params.req.loopback_state = enable;
1410 rc = fwcmd->hdr.u0.rsp.status;
1415 fwcmd->hdr.u0.rsp.additional_status);
1428 struct mbx_lowlevel_test_loopback_mode *fwcmd;
1434 fwcmd = (struct mbx_lowlevel_test_loopback_mode *)&mbx.payload;
1435 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1442 fwcmd->params.req.pattern = pattern;
1443 fwcmd->params.req.src_port = port_num;
1444 fwcmd->params.req.dest_port = port_num;
1445 fwcmd->params.req.pkt_size = pkt_size;
1446 fwcmd->params.req.num_pkts = num_pkts;
1447 fwcmd->params.req.loopback_type = loopback_type;
1455 rc = fwcmd->hdr.u0.rsp.status;
1460 fwcmd->hdr.u0.rsp.additional_status);
1472 struct mbx_common_read_write_flashrom *fwcmd = NULL;
1476 fwcmd = OCE_DMAPTR(pdma_mem, struct mbx_common_read_write_flashrom);
1479 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1486 fwcmd->flash_op_type = LE_32(optype);
1487 fwcmd->flash_op_code = LE_32(opcode);
1488 fwcmd->data_buffer_size = LE_32(num_bytes);
1502 rc = fwcmd->hdr.u0.rsp.status;
1507 fwcmd->hdr.u0.rsp.additional_status);
1520 struct mbx_common_read_write_flashrom *fwcmd;
1524 fwcmd = (struct mbx_common_read_write_flashrom *)&mbx.payload;
1532 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1539 fwcmd->flash_op_type = optype;
1540 fwcmd->flash_op_code = FLASHROM_OPER_REPORT;
1541 fwcmd->data_offset = offset;
1542 fwcmd->data_buffer_size = 0x4;
1550 rc = fwcmd->hdr.u0.rsp.status;
1555 fwcmd->hdr.u0.rsp.additional_status);
1558 bcopy(fwcmd->data_buffer, flash_crc, 4);
1568 struct mbx_common_phy_info *fwcmd;
1573 fwcmd = (struct mbx_common_phy_info *)&mbx.payload;
1574 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1587 rc = fwcmd->hdr.u0.rsp.status;
1592 fwcmd->hdr.u0.rsp.additional_status);
1595 phy_info->phy_type = HOST_16(fwcmd->params.rsp.phy_info.phy_type);
1597 HOST_16(fwcmd->params.rsp.phy_info.interface_type);
1599 HOST_16(fwcmd->params.rsp.phy_info.auto_speeds_supported);
1601 HOST_16(fwcmd->params.rsp.phy_info.fixed_speeds_supported);
1602 phy_info->misc_params = HOST_32(fwcmd->params.rsp.phy_info.misc_params);
1616 struct mbx_lancer_common_write_object *fwcmd = NULL;
1624 fwcmd = (struct mbx_lancer_common_write_object *)&mbx.payload;
1627 mbx_common_req_hdr_init(&fwcmd->params.req.hdr, 0, 0,
1634 fwcmd->params.req.write_length = data_size;
1636 fwcmd->params.req.eof = 1;
1638 fwcmd->params.req.eof = 0;
1640 strcpy(fwcmd->params.req.object_name, "/prg");
1641 fwcmd->params.req.descriptor_count = 1;
1642 fwcmd->params.req.write_offset = data_offset;
1643 fwcmd->params.req.buffer_length = data_size;
1644 fwcmd->params.req.address_lower = pdma_mem->paddr & 0xFFFFFFFF;
1645 fwcmd->params.req.address_upper = upper_32_bits(pdma_mem->paddr);
1650 rc = fwcmd->params.rsp.status;
1655 fwcmd->params.rsp.additional_status);
1658 *written_data = HOST_32(fwcmd->params.rsp.actual_write_length);
1659 *additional_status = fwcmd->params.rsp.additional_status;
1672 struct mbx_create_nic_rq *fwcmd;
1681 fwcmd = (struct mbx_create_nic_rq *)&mbx.payload;
1682 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1689 num_pages = oce_page_list(rq->ring, &fwcmd->params.req.pages[0]);
1692 fwcmd->params.req.frag_size = rq->cfg.frag_size/2048;
1693 fwcmd->params.req.page_size = 1;
1694 fwcmd->hdr.u0.req.version = OCE_MBX_VER_V1;
1696 fwcmd->params.req.frag_size = OCE_LOG2(rq->cfg.frag_size);
1697 fwcmd->params.req.num_pages = num_pages;
1698 fwcmd->params.req.cq_id = rq->cq->cq_id;
1699 fwcmd->params.req.if_id = sc->if_id;
1700 fwcmd->params.req.max_frame_size = rq->cfg.mtu;
1701 fwcmd->params.req.is_rss_queue = rq->cfg.is_rss_queue;
1708 rc = fwcmd->hdr.u0.rsp.status;
1713 fwcmd->hdr.u0.rsp.additional_status);
1716 rq->rq_id = HOST_16(fwcmd->params.rsp.rq_id);
1717 rq->rss_cpuid = fwcmd->params.rsp.rss_cpuid;
1729 struct mbx_create_nic_wq *fwcmd;
1735 fwcmd = (struct mbx_create_nic_wq *)&mbx.payload;
1745 fwcmd->params.req.if_id = sc->if_id;
1747 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1753 num_pages = oce_page_list(wq->ring, &fwcmd->params.req.pages[0]);
1755 fwcmd->params.req.nic_wq_type = wq->cfg.wq_type;
1756 fwcmd->params.req.num_pages = num_pages;
1757 fwcmd->params.req.wq_size = OCE_LOG2(wq->cfg.q_len) + 1;
1758 fwcmd->params.req.cq_id = wq->cq->cq_id;
1759 fwcmd->params.req.ulp_num = 1;
1766 rc = fwcmd->hdr.u0.rsp.status;
1771 fwcmd->hdr.u0.rsp.additional_status);
1774 wq->wq_id = HOST_16(fwcmd->params.rsp.wq_id);
1776 wq->db_offset = HOST_32(fwcmd->params.rsp.db_offset);
1790 struct mbx_create_common_eq *fwcmd;
1797 fwcmd = (struct mbx_create_common_eq *)&mbx.payload;
1799 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1805 num_pages = oce_page_list(eq->ring, &fwcmd->params.req.pages[0]);
1806 fwcmd->params.req.ctx.num_pages = num_pages;
1807 fwcmd->params.req.ctx.valid = 1;
1808 fwcmd->params.req.ctx.size = (eq->eq_cfg.item_size == 4) ? 0 : 1;
1809 fwcmd->params.req.ctx.count = OCE_LOG2(eq->eq_cfg.q_len / 256);
1810 fwcmd->params.req.ctx.armed = 0;
1811 fwcmd->params.req.ctx.delay_mult = eq->eq_cfg.cur_eqd;
1819 rc = fwcmd->hdr.u0.rsp.status;
1824 fwcmd->hdr.u0.rsp.additional_status);
1827 eq->eq_id = HOST_16(fwcmd->params.rsp.eq_id);
1838 struct mbx_create_common_cq *fwcmd;
1848 fwcmd = (struct mbx_create_common_cq *)&mbx.payload;
1855 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1862 ctx = &fwcmd->params.req.cq_ctx;
1864 num_pages = oce_page_list(cq->ring, &fwcmd->params.req.pages[0]);
1899 rc = fwcmd->hdr.u0.rsp.status;
1904 fwcmd->hdr.u0.rsp.additional_status);
1907 cq->cq_id = HOST_16(fwcmd->params.rsp.cq_id);
1918 struct mbx_read_common_transrecv_data *fwcmd;
1927 fwcmd = OCE_DMAPTR(&dma, struct mbx_read_common_transrecv_data);
1928 bzero(fwcmd, sizeof(struct mbx_read_common_transrecv_data));
1931 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1948 fwcmd->params.req.port = LE_32(sc->port_id);
1949 fwcmd->params.req.page_num = LE_32(page_num);
1954 rc = fwcmd->hdr.u0.rsp.status;
1959 fwcmd->hdr.u0.rsp.additional_status);
1962 if(fwcmd->params.rsp.page_num == PAGE_NUM_A0)
1964 bcopy((char *)fwcmd->params.rsp.page_data,
1969 if(fwcmd->params.rsp.page_num == PAGE_NUM_A2)
1971 bcopy((char *)fwcmd->params.rsp.page_data,
1985 struct mbx_modify_common_eq_delay *fwcmd;
1992 fwcmd = (struct mbx_modify_common_eq_delay *)&mbx.payload;
1993 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
2004 fwcmd->params.req.num_eq = num;
2006 fwcmd->params.req.delay[i].eq_id =
2008 fwcmd->params.req.delay[i].phase = 0;
2009 fwcmd->params.req.delay[i].dm =
2018 rc = fwcmd->hdr.u0.rsp.status;
2023 fwcmd->hdr.u0.rsp.additional_status);
2030 struct mbx_common_get_profile_config *fwcmd;
2049 fwcmd = OCE_DMAPTR(&dma, struct mbx_common_get_profile_config);
2050 bzero(fwcmd, sizeof(struct mbx_common_get_profile_config));
2058 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
2074 fwcmd->params.req.type = ACTIVE_PROFILE;
2079 rc = fwcmd->hdr.u0.rsp.status;
2084 fwcmd->hdr.u0.rsp.additional_status);
2088 nic_desc = (struct oce_nic_resc_desc *) fwcmd->params.rsp.resources;
2089 desc_count = HOST_32(fwcmd->params.rsp.desc_count);
2129 struct mbx_common_get_func_config *fwcmd;
2151 fwcmd = OCE_DMAPTR(&dma, struct mbx_common_get_func_config);
2152 bzero(fwcmd, sizeof(struct mbx_common_get_func_config));
2160 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
2179 rc = fwcmd->hdr.u0.rsp.status;
2184 fwcmd->hdr.u0.rsp.additional_status);
2188 nic_desc = (struct oce_nic_resc_desc *) fwcmd->params.rsp.resources;
2189 desc_count = HOST_32(fwcmd->params.rsp.desc_count);