{
        struct efx_nic *efx = netdev_priv(net_dev);
        struct efx_link_state *link_state = &efx->link_state;
-       u32 supported;
 
        mutex_lock(&efx->mac_lock);
        efx_mcdi_phy_get_link_ksettings(efx, cmd);
        mutex_unlock(&efx->mac_lock);
 
        /* Both MACs support pause frames (bidirectional and respond-only) */
-       ethtool_convert_link_mode_to_legacy_u32(&supported,
-                                               cmd->link_modes.supported);
-
-       supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause;
-
-       ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
-                                               supported);
+       ethtool_link_ksettings_add_link_mode(cmd, supported, Pause);
+       ethtool_link_ksettings_add_link_mode(cmd, supported, Asym_Pause);
 
        if (LOOPBACK_INTERNAL(efx)) {
                cmd->base.speed = link_state->speed;