Lines Matching refs:req

923 	efx_mcdi_req_t req;
936 req.emr_cmd = MC_CMD_GET_VERSION;
937 req.emr_in_buf = payload;
938 req.emr_in_length = MC_CMD_GET_VERSION_IN_LEN;
939 req.emr_out_buf = payload;
940 req.emr_out_length = MC_CMD_GET_VERSION_OUT_LEN;
942 efx_mcdi_execute(enp, &req);
944 if (req.emr_rc != 0) {
945 rc = req.emr_rc;
950 if (req.emr_out_length_used == MC_CMD_GET_VERSION_V0_OUT_LEN) {
952 build = MCDI_OUT_DWORD(req, GET_VERSION_OUT_FIRMWARE);
957 if (req.emr_out_length_used < MC_CMD_GET_VERSION_OUT_LEN) {
962 ver_words = MCDI_OUT2(req, efx_word_t, GET_VERSION_OUT_VERSION);
967 build = MCDI_OUT_DWORD(req, GET_VERSION_OUT_FIRMWARE);
977 req.emr_cmd = MC_CMD_GET_BOOT_STATUS;
978 req.emr_in_buf = payload;
979 req.emr_in_length = MC_CMD_GET_BOOT_STATUS_IN_LEN;
980 req.emr_out_buf = payload;
981 req.emr_out_length = MC_CMD_GET_BOOT_STATUS_OUT_LEN;
983 efx_mcdi_execute_quiet(enp, &req);
985 if (req.emr_rc == EACCES) {
993 if (req.emr_rc != 0) {
994 rc = req.emr_rc;
998 if (req.emr_out_length_used < MC_CMD_GET_BOOT_STATUS_OUT_LEN) {
1003 if (MCDI_OUT_DWORD_FIELD(req, GET_BOOT_STATUS_OUT_FLAGS,
1038 efx_mcdi_req_t req;
1050 req.emr_cmd = MC_CMD_REBOOT;
1051 req.emr_in_buf = payload;
1052 req.emr_in_length = MC_CMD_REBOOT_IN_LEN;
1053 req.emr_out_buf = payload;
1054 req.emr_out_length = MC_CMD_REBOOT_OUT_LEN;
1056 MCDI_IN_SET_DWORD(req, REBOOT_IN_FLAGS,
1059 efx_mcdi_execute_quiet(enp, &req);
1061 if (req.emr_rc == EACCES) {
1067 if (req.emr_rc != 0 && req.emr_rc != EIO) {
1068 rc = req.emr_rc;
1099 efx_mcdi_req_t req;
1123 req.emr_cmd = MC_CMD_GET_ASSERTS;
1124 req.emr_in_buf = payload;
1125 req.emr_in_length = MC_CMD_GET_ASSERTS_IN_LEN;
1126 req.emr_out_buf = payload;
1127 req.emr_out_length = MC_CMD_GET_ASSERTS_OUT_LEN;
1129 MCDI_IN_SET_DWORD(req, GET_ASSERTS_IN_CLEAR, 1);
1130 efx_mcdi_execute_quiet(enp, &req);
1132 } while ((req.emr_rc == EINTR || req.emr_rc == EIO) && retry-- > 0);
1134 if (req.emr_rc != 0) {
1135 if (req.emr_rc == EACCES) {
1139 rc = req.emr_rc;
1143 if (req.emr_out_length_used < MC_CMD_GET_ASSERTS_OUT_LEN) {
1149 flags = MCDI_OUT_DWORD(req, GET_ASSERTS_OUT_GLOBAL_FLAGS);
1164 MCDI_OUT_DWORD(req, GET_ASSERTS_OUT_SAVED_PC_OFFS),
1166 MCDI_OUT_DWORD(req, GET_ASSERTS_OUT_THREAD_OFFS));
1174 EFX_DWORD_FIELD(*MCDI_OUT(req, efx_dword_t, ofst),
1201 efx_mcdi_req_t req;
1206 req.emr_cmd = MC_CMD_DRV_ATTACH;
1207 req.emr_in_buf = payload;
1208 req.emr_in_length = MC_CMD_DRV_ATTACH_IN_LEN;
1209 req.emr_out_buf = payload;
1210 req.emr_out_length = MC_CMD_DRV_ATTACH_EXT_OUT_LEN;
1217 MCDI_IN_SET_DWORD(req, DRV_ATTACH_IN_NEW_STATE, attach ? 1 : 0);
1218 MCDI_IN_SET_DWORD(req, DRV_ATTACH_IN_UPDATE, 1);
1219 MCDI_IN_SET_DWORD(req, DRV_ATTACH_IN_FIRMWARE_ID, MC_CMD_FW_DONT_CARE);
1221 efx_mcdi_execute(enp, &req);
1223 if (req.emr_rc != 0) {
1224 rc = req.emr_rc;
1228 if (req.emr_out_length_used < MC_CMD_DRV_ATTACH_OUT_LEN) {
1251 efx_mcdi_req_t req;
1256 req.emr_cmd = MC_CMD_GET_BOARD_CFG;
1257 req.emr_in_buf = payload;
1258 req.emr_in_length = MC_CMD_GET_BOARD_CFG_IN_LEN;
1259 req.emr_out_buf = payload;
1260 req.emr_out_length = MC_CMD_GET_BOARD_CFG_OUT_LENMIN;
1262 efx_mcdi_execute(enp, &req);
1264 if (req.emr_rc != 0) {
1265 rc = req.emr_rc;
1269 if (req.emr_out_length_used < MC_CMD_GET_BOARD_CFG_OUT_LENMIN) {
1278 addrp = MCDI_OUT2(req, uint8_t,
1281 addrp = MCDI_OUT2(req, uint8_t,
1293 *capabilitiesp = *MCDI_OUT2(req, efx_dword_t,
1296 *capabilitiesp = *MCDI_OUT2(req, efx_dword_t,
1305 *board_typep = MCDI_OUT_DWORD(req,
1330 efx_mcdi_req_t req;
1335 req.emr_cmd = MC_CMD_GET_RESOURCE_LIMITS;
1336 req.emr_in_buf = payload;
1337 req.emr_in_length = MC_CMD_GET_RESOURCE_LIMITS_IN_LEN;
1338 req.emr_out_buf = payload;
1339 req.emr_out_length = MC_CMD_GET_RESOURCE_LIMITS_OUT_LEN;
1341 efx_mcdi_execute(enp, &req);
1343 if (req.emr_rc != 0) {
1344 rc = req.emr_rc;
1348 if (req.emr_out_length_used < MC_CMD_GET_RESOURCE_LIMITS_OUT_LEN) {
1354 *nevqp = MCDI_OUT_DWORD(req, GET_RESOURCE_LIMITS_OUT_EVQ);
1356 *nrxqp = MCDI_OUT_DWORD(req, GET_RESOURCE_LIMITS_OUT_RXQ);
1358 *ntxqp = MCDI_OUT_DWORD(req, GET_RESOURCE_LIMITS_OUT_TXQ);
1376 efx_mcdi_req_t req;
1381 req.emr_cmd = MC_CMD_GET_PHY_CFG;
1382 req.emr_in_buf = payload;
1383 req.emr_in_length = MC_CMD_GET_PHY_CFG_IN_LEN;
1384 req.emr_out_buf = payload;
1385 req.emr_out_length = MC_CMD_GET_PHY_CFG_OUT_LEN;
1387 efx_mcdi_execute(enp, &req);
1389 if (req.emr_rc != 0) {
1390 rc = req.emr_rc;
1394 if (req.emr_out_length_used < MC_CMD_GET_PHY_CFG_OUT_LEN) {
1399 encp->enc_phy_type = MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_TYPE);
1402 MCDI_OUT2(req, char, GET_PHY_CFG_OUT_NAME),
1409 MCDI_OUT2(req, char, GET_PHY_CFG_OUT_REVISION),
1427 MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_MEDIA_TYPE);
1432 MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_SUPPORTED_CAP);
1434 encp->enc_phy_flags_mask = MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_FLAGS);
1437 encp->enc_port = (uint8_t)MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_PRT);
1441 (uint8_t)MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_CHANNEL);
1445 MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_STATS_MASK);
1450 if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS,
1453 if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS,
1456 if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS,
1583 efx_mcdi_req_t req;
1589 req.emr_cmd = MC_CMD_ENABLE_OFFLINE_BIST;
1590 req.emr_in_buf = NULL;
1591 req.emr_in_length = 0;
1592 req.emr_out_buf = NULL;
1593 req.emr_out_length = 0;
1595 efx_mcdi_execute(enp, &req);
1597 if (req.emr_rc != 0) {
1598 rc = req.emr_rc;
1616 efx_mcdi_req_t req;
1621 req.emr_cmd = MC_CMD_START_BIST;
1622 req.emr_in_buf = payload;
1623 req.emr_in_length = MC_CMD_START_BIST_IN_LEN;
1624 req.emr_out_buf = payload;
1625 req.emr_out_length = MC_CMD_START_BIST_OUT_LEN;
1629 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, MC_CMD_PHY_BIST);
1632 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE,
1636 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE,
1640 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE,
1644 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE,
1648 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE,
1655 efx_mcdi_execute(enp, &req);
1657 if (req.emr_rc != 0) {
1658 rc = req.emr_rc;
1678 efx_mcdi_req_t req;
1683 req.emr_cmd = MC_CMD_LOG_CTRL;
1684 req.emr_in_buf = payload;
1685 req.emr_in_length = MC_CMD_LOG_CTRL_IN_LEN;
1686 req.emr_out_buf = payload;
1687 req.emr_out_length = MC_CMD_LOG_CTRL_OUT_LEN;
1689 MCDI_IN_SET_DWORD(req, LOG_CTRL_IN_LOG_DEST,
1691 MCDI_IN_SET_DWORD(req, LOG_CTRL_IN_LOG_DEST_EVQ, 0);
1693 efx_mcdi_execute(enp, &req);
1695 if (req.emr_rc != 0) {
1696 rc = req.emr_rc;
1726 efx_mcdi_req_t req;
1736 req.emr_cmd = MC_CMD_MAC_STATS;
1737 req.emr_in_buf = payload;
1738 req.emr_in_length = MC_CMD_MAC_STATS_IN_LEN;
1739 req.emr_out_buf = payload;
1740 req.emr_out_length = MC_CMD_MAC_STATS_OUT_DMA_LEN;
1742 MCDI_IN_POPULATE_DWORD_6(req, MAC_STATS_IN_CMD,
1756 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_DMA_ADDR_LO,
1758 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_DMA_ADDR_HI,
1760 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_DMA_LEN, bytes);
1770 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_PORT_ID,
1773 efx_mcdi_execute(enp, &req);
1775 if (req.emr_rc != 0) {
1777 if ((req.emr_rc != ENOENT) ||
1779 rc = req.emr_rc;
1884 efx_mcdi_req_t req;
1889 req.emr_cmd = MC_CMD_GET_FUNCTION_INFO;
1890 req.emr_in_buf = payload;
1891 req.emr_in_length = MC_CMD_GET_FUNCTION_INFO_IN_LEN;
1892 req.emr_out_buf = payload;
1893 req.emr_out_length = MC_CMD_GET_FUNCTION_INFO_OUT_LEN;
1895 efx_mcdi_execute(enp, &req);
1897 if (req.emr_rc != 0) {
1898 rc = req.emr_rc;
1902 if (req.emr_out_length_used < MC_CMD_GET_FUNCTION_INFO_OUT_LEN) {
1907 *pfp = MCDI_OUT_DWORD(req, GET_FUNCTION_INFO_OUT_PF);
1909 *vfp = MCDI_OUT_DWORD(req, GET_FUNCTION_INFO_OUT_VF);
1928 efx_mcdi_req_t req;
1933 req.emr_cmd = MC_CMD_PRIVILEGE_MASK;
1934 req.emr_in_buf = payload;
1935 req.emr_in_length = MC_CMD_PRIVILEGE_MASK_IN_LEN;
1936 req.emr_out_buf = payload;
1937 req.emr_out_length = MC_CMD_PRIVILEGE_MASK_OUT_LEN;
1939 MCDI_IN_POPULATE_DWORD_2(req, PRIVILEGE_MASK_IN_FUNCTION,
1943 efx_mcdi_execute(enp, &req);
1945 if (req.emr_rc != 0) {
1946 rc = req.emr_rc;
1950 if (req.emr_out_length_used < MC_CMD_PRIVILEGE_MASK_OUT_LEN) {
1955 *maskp = MCDI_OUT_DWORD(req, PRIVILEGE_MASK_OUT_OLD_MASK);
1976 efx_mcdi_req_t req;
1981 req.emr_cmd = MC_CMD_WORKAROUND;
1982 req.emr_in_buf = payload;
1983 req.emr_in_length = MC_CMD_WORKAROUND_IN_LEN;
1984 req.emr_out_buf = payload;
1985 req.emr_out_length = MC_CMD_WORKAROUND_OUT_LEN;
1987 MCDI_IN_SET_DWORD(req, WORKAROUND_IN_TYPE, type);
1988 MCDI_IN_SET_DWORD(req, WORKAROUND_IN_ENABLED, enabled ? 1 : 0);
1990 efx_mcdi_execute_quiet(enp, &req);
1992 if (req.emr_rc != 0) {
1993 rc = req.emr_rc;
1998 if (req.emr_out_length_used >= MC_CMD_WORKAROUND_EXT_OUT_LEN)
1999 *flagsp = MCDI_OUT_DWORD(req, WORKAROUND_EXT_OUT_FLAGS);
2019 efx_mcdi_req_t req;
2023 req.emr_cmd = MC_CMD_GET_WORKAROUNDS;
2024 req.emr_in_buf = NULL;
2025 req.emr_in_length = 0;
2026 req.emr_out_buf = payload;
2027 req.emr_out_length = MC_CMD_GET_WORKAROUNDS_OUT_LEN;
2029 efx_mcdi_execute(enp, &req);
2031 if (req.emr_rc != 0) {
2032 rc = req.emr_rc;
2038 MCDI_OUT_DWORD(req, GET_WORKAROUNDS_OUT_IMPLEMENTED);
2042 *enabledp = MCDI_OUT_DWORD(req, GET_WORKAROUNDS_OUT_ENABLED);
2067 efx_mcdi_req_t req;
2075 req.emr_cmd = MC_CMD_GET_PHY_MEDIA_INFO;
2076 req.emr_in_buf = payload;
2077 req.emr_in_length = MC_CMD_GET_PHY_MEDIA_INFO_IN_LEN;
2078 req.emr_out_buf = payload;
2079 req.emr_out_length =
2082 MCDI_IN_SET_DWORD(req, GET_PHY_MEDIA_INFO_IN_PAGE, mcdi_page);
2084 efx_mcdi_execute(enp, &req);
2086 if (req.emr_rc != 0) {
2087 rc = req.emr_rc;
2091 if (req.emr_out_length_used !=
2097 if (MCDI_OUT_DWORD(req, GET_PHY_MEDIA_INFO_OUT_DATALEN) !=
2104 MCDI_OUT2(req, uint8_t, GET_PHY_MEDIA_INFO_OUT_DATA) + offset,