Commit 24407a01e57c ("ice: Add 200G speed/phy type use") added support
for 200G PHY speeds, but did not include the mapping of 200G PHY types
to link speed. As a result the driver is returning UNKNOWN link speed
when setting 200G ethtool advertised link modes.

To fix this add 200G PHY types to link speed mapping to
ice_get_link_speed_based_on_phy_type().

Fixes: 24407a01e57c ("ice: Add 200G speed/phy type use")
Reviewed-by: Michal Swiatkowski <[email protected]>
Signed-off-by: Paul Greenwalt <[email protected]>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c 
b/drivers/net/ethernet/intel/ice/ice_common.c
index d9f6cc71d900..e7d28432ba03 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -3135,6 +3135,16 @@ ice_get_link_speed_based_on_phy_type(u64 phy_type_low, 
u64 phy_type_high)
        case ICE_PHY_TYPE_HIGH_100G_AUI2:
                speed_phy_type_high = ICE_AQ_LINK_SPEED_100GB;
                break;
+       case ICE_PHY_TYPE_HIGH_200G_CR4_PAM4:
+       case ICE_PHY_TYPE_HIGH_200G_SR4:
+       case ICE_PHY_TYPE_HIGH_200G_FR4:
+       case ICE_PHY_TYPE_HIGH_200G_LR4:
+       case ICE_PHY_TYPE_HIGH_200G_DR4:
+       case ICE_PHY_TYPE_HIGH_200G_KR4_PAM4:
+       case ICE_PHY_TYPE_HIGH_200G_AUI4_AOC_ACC:
+       case ICE_PHY_TYPE_HIGH_200G_AUI4:
+               speed_phy_type_high = ICE_AQ_LINK_SPEED_200GB;
+               break;
        default:
                speed_phy_type_high = ICE_AQ_LINK_SPEED_UNKNOWN;
                break;
-- 
2.41.0

Reply via email to