Lines Matching defs: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);
815 read_random(fwcmd->params.req.hash, sizeof(fwcmd->params.req.hash));
817 rc = oce_rss_itbl_init(sc, fwcmd);
825 rc = fwcmd->hdr.u0.rsp.status;
830 fwcmd->hdr.u0.rsp.additional_status);
847 struct mbx_set_common_iface_rx_filter *fwcmd;
858 fwcmd = OCE_DMAPTR(&sgl, struct mbx_set_common_iface_rx_filter);
860 req = &fwcmd->params.req;
890 struct mbx_set_common_iface_rx_filter *fwcmd;
894 fwcmd = OCE_DMAPTR(sgl, struct mbx_set_common_iface_rx_filter);
896 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
914 rc = fwcmd->hdr.u0.rsp.status;
919 fwcmd->hdr.u0.rsp.additional_status);
933 struct mbx_query_common_link_config *fwcmd;
940 fwcmd = (struct mbx_query_common_link_config *)&mbx.payload;
941 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
955 rc = fwcmd->hdr.u0.rsp.status;
960 fwcmd->hdr.u0.rsp.additional_status);
964 link->qos_link_speed = HOST_16(fwcmd->params.rsp.qos_link_speed);
965 link->phys_port_speed = fwcmd->params.rsp.physical_port_speed;
966 link->logical_link_status = fwcmd->params.rsp.logical_link_status;
977 struct mbx_get_nic_stats_v0 *fwcmd;
982 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_nic_stats_v0);
983 bzero(fwcmd, sizeof(struct mbx_get_nic_stats_v0));
985 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1010 rc = fwcmd->hdr.u0.rsp.status;
1015 fwcmd->hdr.u0.rsp.additional_status);
1033 struct mbx_get_nic_stats *fwcmd;
1037 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_nic_stats);
1038 bzero(fwcmd, sizeof(struct mbx_get_nic_stats));
1040 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1062 rc = fwcmd->hdr.u0.rsp.status;
1067 fwcmd->hdr.u0.rsp.additional_status);
1084 struct mbx_get_pport_stats *fwcmd;
1088 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_pport_stats);
1089 bzero(fwcmd, sizeof(struct mbx_get_pport_stats));
1091 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1098 fwcmd->params.req.reset_stats = reset_stats;
1099 fwcmd->params.req.port_number = sc->port_id;
1116 rc = fwcmd->hdr.u0.rsp.status;
1121 fwcmd->hdr.u0.rsp.additional_status);
1138 struct mbx_get_vport_stats *fwcmd;
1143 fwcmd = OCE_DMAPTR(pstats_dma_mem, struct mbx_get_vport_stats);
1144 bzero(fwcmd, sizeof(struct mbx_get_vport_stats));
1146 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1153 fwcmd->params.req.reset_stats = reset_stats;
1154 fwcmd->params.req.vport_number = sc->if_id;
1171 rc = fwcmd->hdr.u0.rsp.status;
1176 fwcmd->hdr.u0.rsp.additional_status);
1264 struct mbx_add_common_iface_mac *fwcmd;
1269 fwcmd = (struct mbx_add_common_iface_mac *)&mbx.payload;
1270 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1277 fwcmd->params.req.if_id = (uint16_t) if_id;
1278 bcopy(mac_addr, fwcmd->params.req.mac_address, 6);
1285 rc = fwcmd->hdr.u0.rsp.status;
1290 fwcmd->hdr.u0.rsp.additional_status);
1293 *pmac_id = fwcmd->params.rsp.pmac_id;
1303 struct mbx_del_common_iface_mac *fwcmd;
1308 fwcmd = (struct mbx_del_common_iface_mac *)&mbx.payload;
1309 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1316 fwcmd->params.req.if_id = (uint16_t)if_id;
1317 fwcmd->params.req.pmac_id = pmac_id;
1325 rc = fwcmd->hdr.u0.rsp.status;
1330 fwcmd->hdr.u0.rsp.additional_status);
1340 struct mbx_common_set_function_cap *fwcmd;
1345 fwcmd = (struct mbx_common_set_function_cap *)&mbx.payload;
1346 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1353 fwcmd->params.req.valid_capability_flags = CAP_SW_TIMESTAMPS |
1356 fwcmd->params.req.capability_flags = CAP_BE3_NATIVE_ERX_API;
1364 rc = fwcmd->hdr.u0.rsp.status;
1369 fwcmd->hdr.u0.rsp.additional_status);
1372 sc->be3_native = HOST_32(fwcmd->params.rsp.capability_flags)
1386 struct mbx_lowlevel_set_loopback_mode *fwcmd;
1392 fwcmd = (struct mbx_lowlevel_set_loopback_mode *)&mbx.payload;
1393 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1400 fwcmd->params.req.src_port = port_num;
1401 fwcmd->params.req.dest_port = port_num;
1402 fwcmd->params.req.loopback_type = loopback_type;
1403 fwcmd->params.req.loopback_state = enable;
1411 rc = fwcmd->hdr.u0.rsp.status;
1416 fwcmd->hdr.u0.rsp.additional_status);
1429 struct mbx_lowlevel_test_loopback_mode *fwcmd;
1435 fwcmd = (struct mbx_lowlevel_test_loopback_mode *)&mbx.payload;
1436 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1443 fwcmd->params.req.pattern = pattern;
1444 fwcmd->params.req.src_port = port_num;
1445 fwcmd->params.req.dest_port = port_num;
1446 fwcmd->params.req.pkt_size = pkt_size;
1447 fwcmd->params.req.num_pkts = num_pkts;
1448 fwcmd->params.req.loopback_type = loopback_type;
1456 rc = fwcmd->hdr.u0.rsp.status;
1461 fwcmd->hdr.u0.rsp.additional_status);
1473 struct mbx_common_read_write_flashrom *fwcmd = NULL;
1477 fwcmd = OCE_DMAPTR(pdma_mem, struct mbx_common_read_write_flashrom);
1480 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1487 fwcmd->flash_op_type = LE_32(optype);
1488 fwcmd->flash_op_code = LE_32(opcode);
1489 fwcmd->data_buffer_size = LE_32(num_bytes);
1503 rc = fwcmd->hdr.u0.rsp.status;
1508 fwcmd->hdr.u0.rsp.additional_status);
1521 struct mbx_common_read_write_flashrom *fwcmd;
1525 fwcmd = (struct mbx_common_read_write_flashrom *)&mbx.payload;
1533 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1540 fwcmd->flash_op_type = optype;
1541 fwcmd->flash_op_code = FLASHROM_OPER_REPORT;
1542 fwcmd->data_offset = offset;
1543 fwcmd->data_buffer_size = 0x4;
1551 rc = fwcmd->hdr.u0.rsp.status;
1556 fwcmd->hdr.u0.rsp.additional_status);
1559 bcopy(fwcmd->data_buffer, flash_crc, 4);
1569 struct mbx_common_phy_info *fwcmd;
1574 fwcmd = (struct mbx_common_phy_info *)&mbx.payload;
1575 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1588 rc = fwcmd->hdr.u0.rsp.status;
1593 fwcmd->hdr.u0.rsp.additional_status);
1596 phy_info->phy_type = HOST_16(fwcmd->params.rsp.phy_info.phy_type);
1598 HOST_16(fwcmd->params.rsp.phy_info.interface_type);
1600 HOST_16(fwcmd->params.rsp.phy_info.auto_speeds_supported);
1602 HOST_16(fwcmd->params.rsp.phy_info.fixed_speeds_supported);
1603 phy_info->misc_params = HOST_32(fwcmd->params.rsp.phy_info.misc_params);
1617 struct mbx_lancer_common_write_object *fwcmd = NULL;
1625 fwcmd = (struct mbx_lancer_common_write_object *)&mbx.payload;
1628 mbx_common_req_hdr_init(&fwcmd->params.req.hdr, 0, 0,
1635 fwcmd->params.req.write_length = data_size;
1637 fwcmd->params.req.eof = 1;
1639 fwcmd->params.req.eof = 0;
1641 strcpy(fwcmd->params.req.object_name, "/prg");
1642 fwcmd->params.req.descriptor_count = 1;
1643 fwcmd->params.req.write_offset = data_offset;
1644 fwcmd->params.req.buffer_length = data_size;
1645 fwcmd->params.req.address_lower = pdma_mem->paddr & 0xFFFFFFFF;
1646 fwcmd->params.req.address_upper = upper_32_bits(pdma_mem->paddr);
1651 rc = fwcmd->params.rsp.status;
1656 fwcmd->params.rsp.additional_status);
1659 *written_data = HOST_32(fwcmd->params.rsp.actual_write_length);
1660 *additional_status = fwcmd->params.rsp.additional_status;
1673 struct mbx_create_nic_rq *fwcmd;
1682 fwcmd = (struct mbx_create_nic_rq *)&mbx.payload;
1683 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1690 num_pages = oce_page_list(rq->ring, &fwcmd->params.req.pages[0]);
1693 fwcmd->params.req.frag_size = rq->cfg.frag_size/2048;
1694 fwcmd->params.req.page_size = 1;
1695 fwcmd->hdr.u0.req.version = OCE_MBX_VER_V1;
1697 fwcmd->params.req.frag_size = OCE_LOG2(rq->cfg.frag_size);
1698 fwcmd->params.req.num_pages = num_pages;
1699 fwcmd->params.req.cq_id = rq->cq->cq_id;
1700 fwcmd->params.req.if_id = sc->if_id;
1701 fwcmd->params.req.max_frame_size = rq->cfg.mtu;
1702 fwcmd->params.req.is_rss_queue = rq->cfg.is_rss_queue;
1709 rc = fwcmd->hdr.u0.rsp.status;
1714 fwcmd->hdr.u0.rsp.additional_status);
1717 rq->rq_id = HOST_16(fwcmd->params.rsp.rq_id);
1718 rq->rss_cpuid = fwcmd->params.rsp.rss_cpuid;
1730 struct mbx_create_nic_wq *fwcmd;
1736 fwcmd = (struct mbx_create_nic_wq *)&mbx.payload;
1746 fwcmd->params.req.if_id = sc->if_id;
1748 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1754 num_pages = oce_page_list(wq->ring, &fwcmd->params.req.pages[0]);
1756 fwcmd->params.req.nic_wq_type = wq->cfg.wq_type;
1757 fwcmd->params.req.num_pages = num_pages;
1758 fwcmd->params.req.wq_size = OCE_LOG2(wq->cfg.q_len) + 1;
1759 fwcmd->params.req.cq_id = wq->cq->cq_id;
1760 fwcmd->params.req.ulp_num = 1;
1767 rc = fwcmd->hdr.u0.rsp.status;
1772 fwcmd->hdr.u0.rsp.additional_status);
1775 wq->wq_id = HOST_16(fwcmd->params.rsp.wq_id);
1777 wq->db_offset = HOST_32(fwcmd->params.rsp.db_offset);
1791 struct mbx_create_common_eq *fwcmd;
1798 fwcmd = (struct mbx_create_common_eq *)&mbx.payload;
1800 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1806 num_pages = oce_page_list(eq->ring, &fwcmd->params.req.pages[0]);
1807 fwcmd->params.req.ctx.num_pages = num_pages;
1808 fwcmd->params.req.ctx.valid = 1;
1809 fwcmd->params.req.ctx.size = (eq->eq_cfg.item_size == 4) ? 0 : 1;
1810 fwcmd->params.req.ctx.count = OCE_LOG2(eq->eq_cfg.q_len / 256);
1811 fwcmd->params.req.ctx.armed = 0;
1812 fwcmd->params.req.ctx.delay_mult = eq->eq_cfg.cur_eqd;
1820 rc = fwcmd->hdr.u0.rsp.status;
1825 fwcmd->hdr.u0.rsp.additional_status);
1828 eq->eq_id = HOST_16(fwcmd->params.rsp.eq_id);
1839 struct mbx_create_common_cq *fwcmd;
1849 fwcmd = (struct mbx_create_common_cq *)&mbx.payload;
1856 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1863 ctx = &fwcmd->params.req.cq_ctx;
1865 num_pages = oce_page_list(cq->ring, &fwcmd->params.req.pages[0]);
1900 rc = fwcmd->hdr.u0.rsp.status;
1905 fwcmd->hdr.u0.rsp.additional_status);
1908 cq->cq_id = HOST_16(fwcmd->params.rsp.cq_id);
1919 struct mbx_read_common_transrecv_data *fwcmd;
1928 fwcmd = OCE_DMAPTR(&dma, struct mbx_read_common_transrecv_data);
1929 bzero(fwcmd, sizeof(struct mbx_read_common_transrecv_data));
1932 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
1949 fwcmd->params.req.port = LE_32(sc->port_id);
1950 fwcmd->params.req.page_num = LE_32(page_num);
1955 rc = fwcmd->hdr.u0.rsp.status;
1960 fwcmd->hdr.u0.rsp.additional_status);
1963 if(fwcmd->params.rsp.page_num == PAGE_NUM_A0)
1965 bcopy((char *)fwcmd->params.rsp.page_data,
1970 if(fwcmd->params.rsp.page_num == PAGE_NUM_A2)
1972 bcopy((char *)fwcmd->params.rsp.page_data,
1986 struct mbx_modify_common_eq_delay *fwcmd;
1993 fwcmd = (struct mbx_modify_common_eq_delay *)&mbx.payload;
1994 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
2005 fwcmd->params.req.num_eq = num;
2007 fwcmd->params.req.delay[i].eq_id =
2009 fwcmd->params.req.delay[i].phase = 0;
2010 fwcmd->params.req.delay[i].dm =
2019 rc = fwcmd->hdr.u0.rsp.status;
2024 fwcmd->hdr.u0.rsp.additional_status);
2031 struct mbx_common_get_profile_config *fwcmd;
2050 fwcmd = OCE_DMAPTR(&dma, struct mbx_common_get_profile_config);
2051 bzero(fwcmd, sizeof(struct mbx_common_get_profile_config));
2059 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
2075 fwcmd->params.req.type = ACTIVE_PROFILE;
2080 rc = fwcmd->hdr.u0.rsp.status;
2085 fwcmd->hdr.u0.rsp.additional_status);
2089 nic_desc = (struct oce_nic_resc_desc *) fwcmd->params.rsp.resources;
2090 desc_count = HOST_32(fwcmd->params.rsp.desc_count);
2130 struct mbx_common_get_func_config *fwcmd;
2152 fwcmd = OCE_DMAPTR(&dma, struct mbx_common_get_func_config);
2153 bzero(fwcmd, sizeof(struct mbx_common_get_func_config));
2161 mbx_common_req_hdr_init(&fwcmd->hdr, 0, 0,
2180 rc = fwcmd->hdr.u0.rsp.status;
2185 fwcmd->hdr.u0.rsp.additional_status);
2189 nic_desc = (struct oce_nic_resc_desc *) fwcmd->params.rsp.resources;
2190 desc_count = HOST_32(fwcmd->params.rsp.desc_count);