Lines Matching refs:req

898 	efx_mcdi_req_t req;  variable
912 req.emr_cmd = MC_CMD_GET_VERSION;
913 req.emr_in_buf = payload;
914 req.emr_in_length = MC_CMD_GET_VERSION_IN_LEN;
915 req.emr_out_buf = payload;
916 req.emr_out_length = MC_CMD_GET_VERSION_OUT_LEN;
918 efx_mcdi_execute(enp, &req);
920 if (req.emr_rc != 0) {
921 rc = req.emr_rc;
926 if (req.emr_out_length_used == MC_CMD_GET_VERSION_V0_OUT_LEN) {
928 build = MCDI_OUT_DWORD(req, GET_VERSION_OUT_FIRMWARE);
933 if (req.emr_out_length_used < MC_CMD_GET_VERSION_OUT_LEN) {
938 ver_words = MCDI_OUT2(req, efx_word_t, GET_VERSION_OUT_VERSION);
943 build = MCDI_OUT_DWORD(req, GET_VERSION_OUT_FIRMWARE);
953 req.emr_cmd = MC_CMD_GET_BOOT_STATUS;
954 req.emr_in_buf = payload;
955 req.emr_in_length = MC_CMD_GET_BOOT_STATUS_IN_LEN;
956 req.emr_out_buf = payload;
957 req.emr_out_length = MC_CMD_GET_BOOT_STATUS_OUT_LEN;
959 efx_mcdi_execute_quiet(enp, &req);
961 if (req.emr_rc == EACCES) {
969 if (req.emr_rc != 0) {
970 rc = req.emr_rc;
974 if (req.emr_out_length_used < MC_CMD_GET_BOOT_STATUS_OUT_LEN) {
979 if (MCDI_OUT_DWORD_FIELD(req, GET_BOOT_STATUS_OUT_FLAGS,
1013 efx_mcdi_req_t req; in efx_mcdi_do_reboot() local
1026 req.emr_cmd = MC_CMD_REBOOT; in efx_mcdi_do_reboot()
1027 req.emr_in_buf = payload; in efx_mcdi_do_reboot()
1028 req.emr_in_length = MC_CMD_REBOOT_IN_LEN; in efx_mcdi_do_reboot()
1029 req.emr_out_buf = payload; in efx_mcdi_do_reboot()
1030 req.emr_out_length = MC_CMD_REBOOT_OUT_LEN; in efx_mcdi_do_reboot()
1032 MCDI_IN_SET_DWORD(req, REBOOT_IN_FLAGS, in efx_mcdi_do_reboot()
1035 efx_mcdi_execute_quiet(enp, &req); in efx_mcdi_do_reboot()
1037 if (req.emr_rc == EACCES) { in efx_mcdi_do_reboot()
1043 if (req.emr_rc != 0 && req.emr_rc != EIO) { in efx_mcdi_do_reboot()
1044 rc = req.emr_rc; in efx_mcdi_do_reboot()
1075 efx_mcdi_req_t req; in efx_mcdi_read_assertion() local
1099 req.emr_cmd = MC_CMD_GET_ASSERTS; in efx_mcdi_read_assertion()
1100 req.emr_in_buf = payload; in efx_mcdi_read_assertion()
1101 req.emr_in_length = MC_CMD_GET_ASSERTS_IN_LEN; in efx_mcdi_read_assertion()
1102 req.emr_out_buf = payload; in efx_mcdi_read_assertion()
1103 req.emr_out_length = MC_CMD_GET_ASSERTS_OUT_LEN; in efx_mcdi_read_assertion()
1105 MCDI_IN_SET_DWORD(req, GET_ASSERTS_IN_CLEAR, 1); in efx_mcdi_read_assertion()
1106 efx_mcdi_execute_quiet(enp, &req); in efx_mcdi_read_assertion()
1108 } while ((req.emr_rc == EINTR || req.emr_rc == EIO) && retry-- > 0); in efx_mcdi_read_assertion()
1110 if (req.emr_rc != 0) { in efx_mcdi_read_assertion()
1111 if (req.emr_rc == EACCES) { in efx_mcdi_read_assertion()
1115 rc = req.emr_rc; in efx_mcdi_read_assertion()
1119 if (req.emr_out_length_used < MC_CMD_GET_ASSERTS_OUT_LEN) { in efx_mcdi_read_assertion()
1125 flags = MCDI_OUT_DWORD(req, GET_ASSERTS_OUT_GLOBAL_FLAGS); in efx_mcdi_read_assertion()
1140 MCDI_OUT_DWORD(req, GET_ASSERTS_OUT_SAVED_PC_OFFS), in efx_mcdi_read_assertion()
1142 MCDI_OUT_DWORD(req, GET_ASSERTS_OUT_THREAD_OFFS)); in efx_mcdi_read_assertion()
1150 EFX_DWORD_FIELD(*MCDI_OUT(req, efx_dword_t, ofst), in efx_mcdi_read_assertion()
1178 efx_mcdi_req_t req; in efx_mcdi_drv_attach() local
1185 req.emr_cmd = MC_CMD_DRV_ATTACH; in efx_mcdi_drv_attach()
1186 req.emr_in_buf = payload; in efx_mcdi_drv_attach()
1187 req.emr_in_length = MC_CMD_DRV_ATTACH_IN_LEN; in efx_mcdi_drv_attach()
1188 req.emr_out_buf = payload; in efx_mcdi_drv_attach()
1189 req.emr_out_length = MC_CMD_DRV_ATTACH_EXT_OUT_LEN; in efx_mcdi_drv_attach()
1196 MCDI_IN_SET_DWORD(req, DRV_ATTACH_IN_NEW_STATE, attach ? 1 : 0); in efx_mcdi_drv_attach()
1197 MCDI_IN_SET_DWORD(req, DRV_ATTACH_IN_UPDATE, 1); in efx_mcdi_drv_attach()
1198 MCDI_IN_SET_DWORD(req, DRV_ATTACH_IN_FIRMWARE_ID, MC_CMD_FW_DONT_CARE); in efx_mcdi_drv_attach()
1200 efx_mcdi_execute(enp, &req); in efx_mcdi_drv_attach()
1202 if (req.emr_rc != 0) { in efx_mcdi_drv_attach()
1203 rc = req.emr_rc; in efx_mcdi_drv_attach()
1207 if (req.emr_out_length_used < MC_CMD_DRV_ATTACH_OUT_LEN) { in efx_mcdi_drv_attach()
1230 if (req.emr_out_length_used < MC_CMD_DRV_ATTACH_EXT_OUT_LEN) { in efx_mcdi_drv_attach()
1234 flags = MCDI_OUT_DWORD(req, DRV_ATTACH_EXT_OUT_FUNC_FLAGS); in efx_mcdi_drv_attach()
1258 efx_mcdi_req_t req; variable
1264 req.emr_cmd = MC_CMD_GET_BOARD_CFG;
1265 req.emr_in_buf = payload;
1266 req.emr_in_length = MC_CMD_GET_BOARD_CFG_IN_LEN;
1267 req.emr_out_buf = payload;
1268 req.emr_out_length = MC_CMD_GET_BOARD_CFG_OUT_LENMIN;
1270 efx_mcdi_execute(enp, &req);
1272 if (req.emr_rc != 0) {
1273 rc = req.emr_rc;
1277 if (req.emr_out_length_used < MC_CMD_GET_BOARD_CFG_OUT_LENMIN) {
1286 addrp = MCDI_OUT2(req, uint8_t,
1289 addrp = MCDI_OUT2(req, uint8_t,
1301 *capabilitiesp = *MCDI_OUT2(req, efx_dword_t,
1304 *capabilitiesp = *MCDI_OUT2(req, efx_dword_t,
1313 *board_typep = MCDI_OUT_DWORD(req,
1338 efx_mcdi_req_t req; in efx_mcdi_get_resource_limits() local
1344 req.emr_cmd = MC_CMD_GET_RESOURCE_LIMITS; in efx_mcdi_get_resource_limits()
1345 req.emr_in_buf = payload; in efx_mcdi_get_resource_limits()
1346 req.emr_in_length = MC_CMD_GET_RESOURCE_LIMITS_IN_LEN; in efx_mcdi_get_resource_limits()
1347 req.emr_out_buf = payload; in efx_mcdi_get_resource_limits()
1348 req.emr_out_length = MC_CMD_GET_RESOURCE_LIMITS_OUT_LEN; in efx_mcdi_get_resource_limits()
1350 efx_mcdi_execute(enp, &req); in efx_mcdi_get_resource_limits()
1352 if (req.emr_rc != 0) { in efx_mcdi_get_resource_limits()
1353 rc = req.emr_rc; in efx_mcdi_get_resource_limits()
1357 if (req.emr_out_length_used < MC_CMD_GET_RESOURCE_LIMITS_OUT_LEN) { in efx_mcdi_get_resource_limits()
1363 *nevqp = MCDI_OUT_DWORD(req, GET_RESOURCE_LIMITS_OUT_EVQ); in efx_mcdi_get_resource_limits()
1365 *nrxqp = MCDI_OUT_DWORD(req, GET_RESOURCE_LIMITS_OUT_RXQ); in efx_mcdi_get_resource_limits()
1367 *ntxqp = MCDI_OUT_DWORD(req, GET_RESOURCE_LIMITS_OUT_TXQ); in efx_mcdi_get_resource_limits()
1385 efx_mcdi_req_t req; in efx_mcdi_get_phy_cfg() local
1391 req.emr_cmd = MC_CMD_GET_PHY_CFG; in efx_mcdi_get_phy_cfg()
1392 req.emr_in_buf = payload; in efx_mcdi_get_phy_cfg()
1393 req.emr_in_length = MC_CMD_GET_PHY_CFG_IN_LEN; in efx_mcdi_get_phy_cfg()
1394 req.emr_out_buf = payload; in efx_mcdi_get_phy_cfg()
1395 req.emr_out_length = MC_CMD_GET_PHY_CFG_OUT_LEN; in efx_mcdi_get_phy_cfg()
1397 efx_mcdi_execute(enp, &req); in efx_mcdi_get_phy_cfg()
1399 if (req.emr_rc != 0) { in efx_mcdi_get_phy_cfg()
1400 rc = req.emr_rc; in efx_mcdi_get_phy_cfg()
1404 if (req.emr_out_length_used < MC_CMD_GET_PHY_CFG_OUT_LEN) { in efx_mcdi_get_phy_cfg()
1409 encp->enc_phy_type = MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_TYPE); in efx_mcdi_get_phy_cfg()
1412 MCDI_OUT2(req, char, GET_PHY_CFG_OUT_NAME), in efx_mcdi_get_phy_cfg()
1419 MCDI_OUT2(req, char, GET_PHY_CFG_OUT_REVISION), in efx_mcdi_get_phy_cfg()
1437 MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_MEDIA_TYPE); in efx_mcdi_get_phy_cfg()
1442 MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_SUPPORTED_CAP); in efx_mcdi_get_phy_cfg()
1444 encp->enc_phy_flags_mask = MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_FLAGS); in efx_mcdi_get_phy_cfg()
1447 encp->enc_port = (uint8_t)MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_PRT); in efx_mcdi_get_phy_cfg()
1451 (uint8_t)MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_CHANNEL); in efx_mcdi_get_phy_cfg()
1455 MCDI_OUT_DWORD(req, GET_PHY_CFG_OUT_STATS_MASK); in efx_mcdi_get_phy_cfg()
1460 if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS, in efx_mcdi_get_phy_cfg()
1463 if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS, in efx_mcdi_get_phy_cfg()
1466 if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS, in efx_mcdi_get_phy_cfg()
1593 efx_mcdi_req_t req; in efx_mcdi_bist_enable_offline() local
1599 req.emr_cmd = MC_CMD_ENABLE_OFFLINE_BIST; in efx_mcdi_bist_enable_offline()
1600 req.emr_in_buf = NULL; in efx_mcdi_bist_enable_offline()
1601 req.emr_in_length = 0; in efx_mcdi_bist_enable_offline()
1602 req.emr_out_buf = NULL; in efx_mcdi_bist_enable_offline()
1603 req.emr_out_length = 0; in efx_mcdi_bist_enable_offline()
1605 efx_mcdi_execute(enp, &req); in efx_mcdi_bist_enable_offline()
1607 if (req.emr_rc != 0) { in efx_mcdi_bist_enable_offline()
1608 rc = req.emr_rc; in efx_mcdi_bist_enable_offline()
1626 efx_mcdi_req_t req; in efx_mcdi_bist_start() local
1632 req.emr_cmd = MC_CMD_START_BIST; in efx_mcdi_bist_start()
1633 req.emr_in_buf = payload; in efx_mcdi_bist_start()
1634 req.emr_in_length = MC_CMD_START_BIST_IN_LEN; in efx_mcdi_bist_start()
1635 req.emr_out_buf = payload; in efx_mcdi_bist_start()
1636 req.emr_out_length = MC_CMD_START_BIST_OUT_LEN; in efx_mcdi_bist_start()
1640 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, MC_CMD_PHY_BIST); in efx_mcdi_bist_start()
1643 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, in efx_mcdi_bist_start()
1647 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, in efx_mcdi_bist_start()
1651 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, in efx_mcdi_bist_start()
1655 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, in efx_mcdi_bist_start()
1659 MCDI_IN_SET_DWORD(req, START_BIST_IN_TYPE, in efx_mcdi_bist_start()
1666 efx_mcdi_execute(enp, &req); in efx_mcdi_bist_start()
1668 if (req.emr_rc != 0) { in efx_mcdi_bist_start()
1669 rc = req.emr_rc; in efx_mcdi_bist_start()
1689 efx_mcdi_req_t req; in efx_mcdi_log_ctrl() local
1695 req.emr_cmd = MC_CMD_LOG_CTRL; in efx_mcdi_log_ctrl()
1696 req.emr_in_buf = payload; in efx_mcdi_log_ctrl()
1697 req.emr_in_length = MC_CMD_LOG_CTRL_IN_LEN; in efx_mcdi_log_ctrl()
1698 req.emr_out_buf = payload; in efx_mcdi_log_ctrl()
1699 req.emr_out_length = MC_CMD_LOG_CTRL_OUT_LEN; in efx_mcdi_log_ctrl()
1701 MCDI_IN_SET_DWORD(req, LOG_CTRL_IN_LOG_DEST, in efx_mcdi_log_ctrl()
1703 MCDI_IN_SET_DWORD(req, LOG_CTRL_IN_LOG_DEST_EVQ, 0); in efx_mcdi_log_ctrl()
1705 efx_mcdi_execute(enp, &req); in efx_mcdi_log_ctrl()
1707 if (req.emr_rc != 0) { in efx_mcdi_log_ctrl()
1708 rc = req.emr_rc; in efx_mcdi_log_ctrl()
1738 efx_mcdi_req_t req; in efx_mcdi_mac_stats() local
1749 req.emr_cmd = MC_CMD_MAC_STATS; in efx_mcdi_mac_stats()
1750 req.emr_in_buf = payload; in efx_mcdi_mac_stats()
1751 req.emr_in_length = MC_CMD_MAC_STATS_IN_LEN; in efx_mcdi_mac_stats()
1752 req.emr_out_buf = payload; in efx_mcdi_mac_stats()
1753 req.emr_out_length = MC_CMD_MAC_STATS_OUT_DMA_LEN; in efx_mcdi_mac_stats()
1755 MCDI_IN_POPULATE_DWORD_6(req, MAC_STATS_IN_CMD, in efx_mcdi_mac_stats()
1769 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_DMA_ADDR_LO, in efx_mcdi_mac_stats()
1771 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_DMA_ADDR_HI, in efx_mcdi_mac_stats()
1773 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_DMA_LEN, bytes); in efx_mcdi_mac_stats()
1783 MCDI_IN_SET_DWORD(req, MAC_STATS_IN_PORT_ID, in efx_mcdi_mac_stats()
1786 efx_mcdi_execute(enp, &req); in efx_mcdi_mac_stats()
1788 if (req.emr_rc != 0) { in efx_mcdi_mac_stats()
1790 if ((req.emr_rc != ENOENT) || in efx_mcdi_mac_stats()
1792 rc = req.emr_rc; in efx_mcdi_mac_stats()
1894 efx_mcdi_req_t req; in efx_mcdi_get_function_info() local
1900 req.emr_cmd = MC_CMD_GET_FUNCTION_INFO; in efx_mcdi_get_function_info()
1901 req.emr_in_buf = payload; in efx_mcdi_get_function_info()
1902 req.emr_in_length = MC_CMD_GET_FUNCTION_INFO_IN_LEN; in efx_mcdi_get_function_info()
1903 req.emr_out_buf = payload; in efx_mcdi_get_function_info()
1904 req.emr_out_length = MC_CMD_GET_FUNCTION_INFO_OUT_LEN; in efx_mcdi_get_function_info()
1906 efx_mcdi_execute(enp, &req); in efx_mcdi_get_function_info()
1908 if (req.emr_rc != 0) { in efx_mcdi_get_function_info()
1909 rc = req.emr_rc; in efx_mcdi_get_function_info()
1913 if (req.emr_out_length_used < MC_CMD_GET_FUNCTION_INFO_OUT_LEN) { in efx_mcdi_get_function_info()
1918 *pfp = MCDI_OUT_DWORD(req, GET_FUNCTION_INFO_OUT_PF); in efx_mcdi_get_function_info()
1920 *vfp = MCDI_OUT_DWORD(req, GET_FUNCTION_INFO_OUT_VF); in efx_mcdi_get_function_info()
1939 efx_mcdi_req_t req; in efx_mcdi_privilege_mask() local
1945 req.emr_cmd = MC_CMD_PRIVILEGE_MASK; in efx_mcdi_privilege_mask()
1946 req.emr_in_buf = payload; in efx_mcdi_privilege_mask()
1947 req.emr_in_length = MC_CMD_PRIVILEGE_MASK_IN_LEN; in efx_mcdi_privilege_mask()
1948 req.emr_out_buf = payload; in efx_mcdi_privilege_mask()
1949 req.emr_out_length = MC_CMD_PRIVILEGE_MASK_OUT_LEN; in efx_mcdi_privilege_mask()
1951 MCDI_IN_POPULATE_DWORD_2(req, PRIVILEGE_MASK_IN_FUNCTION, in efx_mcdi_privilege_mask()
1955 efx_mcdi_execute(enp, &req); in efx_mcdi_privilege_mask()
1957 if (req.emr_rc != 0) { in efx_mcdi_privilege_mask()
1958 rc = req.emr_rc; in efx_mcdi_privilege_mask()
1962 if (req.emr_out_length_used < MC_CMD_PRIVILEGE_MASK_OUT_LEN) { in efx_mcdi_privilege_mask()
1967 *maskp = MCDI_OUT_DWORD(req, PRIVILEGE_MASK_OUT_OLD_MASK); in efx_mcdi_privilege_mask()
1988 efx_mcdi_req_t req; in efx_mcdi_set_workaround() local
1994 req.emr_cmd = MC_CMD_WORKAROUND; in efx_mcdi_set_workaround()
1995 req.emr_in_buf = payload; in efx_mcdi_set_workaround()
1996 req.emr_in_length = MC_CMD_WORKAROUND_IN_LEN; in efx_mcdi_set_workaround()
1997 req.emr_out_buf = payload; in efx_mcdi_set_workaround()
1998 req.emr_out_length = MC_CMD_WORKAROUND_OUT_LEN; in efx_mcdi_set_workaround()
2000 MCDI_IN_SET_DWORD(req, WORKAROUND_IN_TYPE, type); in efx_mcdi_set_workaround()
2001 MCDI_IN_SET_DWORD(req, WORKAROUND_IN_ENABLED, enabled ? 1 : 0); in efx_mcdi_set_workaround()
2003 efx_mcdi_execute_quiet(enp, &req); in efx_mcdi_set_workaround()
2005 if (req.emr_rc != 0) { in efx_mcdi_set_workaround()
2006 rc = req.emr_rc; in efx_mcdi_set_workaround()
2011 if (req.emr_out_length_used >= MC_CMD_WORKAROUND_EXT_OUT_LEN) in efx_mcdi_set_workaround()
2012 *flagsp = MCDI_OUT_DWORD(req, WORKAROUND_EXT_OUT_FLAGS); in efx_mcdi_set_workaround()
2032 efx_mcdi_req_t req; in efx_mcdi_get_workarounds() local
2037 req.emr_cmd = MC_CMD_GET_WORKAROUNDS; in efx_mcdi_get_workarounds()
2038 req.emr_in_buf = NULL; in efx_mcdi_get_workarounds()
2039 req.emr_in_length = 0; in efx_mcdi_get_workarounds()
2040 req.emr_out_buf = payload; in efx_mcdi_get_workarounds()
2041 req.emr_out_length = MC_CMD_GET_WORKAROUNDS_OUT_LEN; in efx_mcdi_get_workarounds()
2043 efx_mcdi_execute(enp, &req); in efx_mcdi_get_workarounds()
2045 if (req.emr_rc != 0) { in efx_mcdi_get_workarounds()
2046 rc = req.emr_rc; in efx_mcdi_get_workarounds()
2052 MCDI_OUT_DWORD(req, GET_WORKAROUNDS_OUT_IMPLEMENTED); in efx_mcdi_get_workarounds()
2056 *enabledp = MCDI_OUT_DWORD(req, GET_WORKAROUNDS_OUT_ENABLED); in efx_mcdi_get_workarounds()
2081 efx_mcdi_req_t req; in efx_mcdi_get_phy_media_info() local
2090 req.emr_cmd = MC_CMD_GET_PHY_MEDIA_INFO; in efx_mcdi_get_phy_media_info()
2091 req.emr_in_buf = payload; in efx_mcdi_get_phy_media_info()
2092 req.emr_in_length = MC_CMD_GET_PHY_MEDIA_INFO_IN_LEN; in efx_mcdi_get_phy_media_info()
2093 req.emr_out_buf = payload; in efx_mcdi_get_phy_media_info()
2094 req.emr_out_length = in efx_mcdi_get_phy_media_info()
2097 MCDI_IN_SET_DWORD(req, GET_PHY_MEDIA_INFO_IN_PAGE, mcdi_page); in efx_mcdi_get_phy_media_info()
2099 efx_mcdi_execute(enp, &req); in efx_mcdi_get_phy_media_info()
2101 if (req.emr_rc != 0) { in efx_mcdi_get_phy_media_info()
2102 rc = req.emr_rc; in efx_mcdi_get_phy_media_info()
2106 if (req.emr_out_length_used != in efx_mcdi_get_phy_media_info()
2112 if (MCDI_OUT_DWORD(req, GET_PHY_MEDIA_INFO_OUT_DATALEN) != in efx_mcdi_get_phy_media_info()
2119 MCDI_OUT2(req, uint8_t, GET_PHY_MEDIA_INFO_OUT_DATA) + offset, in efx_mcdi_get_phy_media_info()