|
@@ -1419,6 +1419,22 @@ static int cxgb4vf_get_link_ksettings(struct net_device *dev,
|
|
|
base->duplex = DUPLEX_UNKNOWN;
|
|
|
}
|
|
|
|
|
|
+ if (pi->link_cfg.fc & PAUSE_RX) {
|
|
|
+ if (pi->link_cfg.fc & PAUSE_TX) {
|
|
|
+ ethtool_link_ksettings_add_link_mode(link_ksettings,
|
|
|
+ advertising,
|
|
|
+ Pause);
|
|
|
+ } else {
|
|
|
+ ethtool_link_ksettings_add_link_mode(link_ksettings,
|
|
|
+ advertising,
|
|
|
+ Asym_Pause);
|
|
|
+ }
|
|
|
+ } else if (pi->link_cfg.fc & PAUSE_TX) {
|
|
|
+ ethtool_link_ksettings_add_link_mode(link_ksettings,
|
|
|
+ advertising,
|
|
|
+ Asym_Pause);
|
|
|
+ }
|
|
|
+
|
|
|
base->autoneg = pi->link_cfg.autoneg;
|
|
|
if (pi->link_cfg.pcaps & FW_PORT_CAP32_ANEG)
|
|
|
ethtool_link_ksettings_add_link_mode(link_ksettings,
|