case I40E_PHY_TYPE_40GBASE_LR4:
case I40E_PHY_TYPE_25GBASE_LR:
case I40E_PHY_TYPE_25GBASE_SR:
+ case I40E_PHY_TYPE_10GBASE_AOC:
+ case I40E_PHY_TYPE_25GBASE_AOC:
+ case I40E_PHY_TYPE_40GBASE_AOC:
media = I40E_MEDIA_TYPE_FIBER;
break;
case I40E_PHY_TYPE_100BASE_TX:
case I40E_PHY_TYPE_10GBASE_CR1:
case I40E_PHY_TYPE_40GBASE_CR4:
case I40E_PHY_TYPE_10GBASE_SFPP_CU:
- case I40E_PHY_TYPE_40GBASE_AOC:
- case I40E_PHY_TYPE_10GBASE_AOC:
case I40E_PHY_TYPE_25GBASE_CR:
- case I40E_PHY_TYPE_25GBASE_AOC:
case I40E_PHY_TYPE_25GBASE_ACC:
media = I40E_MEDIA_TYPE_DA;
break;
return I40E_ERR_RESET_FAILED;
}
-#define I40E_PF_RESET_WAIT_COUNT 200
+#define I40E_PF_RESET_WAIT_COUNT 1000
/**
* i40e_pf_reset - Reset the PF
* @hw: pointer to the hardware structure
hw->aq.fw_min_ver < 40)) && hw_link_info->phy_type == 0xE)
hw_link_info->phy_type = I40E_PHY_TYPE_10GBASE_SFPP_CU;
+ /* 'Get Link Status' response data structure from X722 FW has
+ * different format and does not contain this information
+ */
if (hw->flags & I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE &&
hw->mac.type != I40E_MAC_X722) {
__le32 tmp;
return status;
/* extra checking needed to ensure link info to user is timely */
- if ((hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) &&
- ((hw->phy.link_info.link_info & I40E_AQ_LINK_UP) ||
- !(hw->phy.link_info_old.link_info & I40E_AQ_LINK_UP))) {
- status = i40e_aq_get_phy_capabilities(hw, false, false,
+ if (((hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) &&
+ ((hw->phy.link_info.link_info & I40E_AQ_LINK_UP) ||
+ !(hw->phy.link_info_old.link_info & I40E_AQ_LINK_UP))) ||
+ hw->mac.type == I40E_MAC_X722) {
+ status = i40e_aq_get_phy_capabilities(hw, false,
+ hw->mac.type ==
+ I40E_MAC_X722,
&abilities, NULL);
if (status)
return status;