@@ -2124,33 +2124,26 @@ static const char
2124
2124
};
2125
2125
2126
2126
/*
2127
- * bdx_get_settings - get device-specific settings
2127
+ * bdx_get_link_ksettings - get device-specific settings
2128
2128
* @netdev
2129
2129
* @ecmd
2130
2130
*/
2131
- static int bdx_get_settings (struct net_device * netdev , struct ethtool_cmd * ecmd )
2132
- {
2133
- u32 rdintcm ;
2134
- u32 tdintcm ;
2135
- struct bdx_priv * priv = netdev_priv (netdev );
2136
-
2137
- rdintcm = priv -> rdintcm ;
2138
- tdintcm = priv -> tdintcm ;
2139
-
2140
- ecmd -> supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE );
2141
- ecmd -> advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_FIBRE );
2142
- ethtool_cmd_speed_set (ecmd , SPEED_10000 );
2143
- ecmd -> duplex = DUPLEX_FULL ;
2144
- ecmd -> port = PORT_FIBRE ;
2145
- ecmd -> transceiver = XCVR_EXTERNAL ; /* what does it mean? */
2146
- ecmd -> autoneg = AUTONEG_DISABLE ;
2147
-
2148
- /* PCK_TH measures in multiples of FIFO bytes
2149
- We translate to packets */
2150
- ecmd -> maxtxpkt =
2151
- ((GET_PCK_TH (tdintcm ) * PCK_TH_MULT ) / BDX_TXF_DESC_SZ );
2152
- ecmd -> maxrxpkt =
2153
- ((GET_PCK_TH (rdintcm ) * PCK_TH_MULT ) / sizeof (struct rxf_desc ));
2131
+ static int bdx_get_link_ksettings (struct net_device * netdev ,
2132
+ struct ethtool_link_ksettings * ecmd )
2133
+ {
2134
+ ethtool_link_ksettings_zero_link_mode (ecmd , supported );
2135
+ ethtool_link_ksettings_add_link_mode (ecmd , supported ,
2136
+ 10000b aseT_Full );
2137
+ ethtool_link_ksettings_add_link_mode (ecmd , supported , FIBRE );
2138
+ ethtool_link_ksettings_zero_link_mode (ecmd , advertising );
2139
+ ethtool_link_ksettings_add_link_mode (ecmd , advertising ,
2140
+ 10000b aseT_Full );
2141
+ ethtool_link_ksettings_add_link_mode (ecmd , advertising , FIBRE );
2142
+
2143
+ ecmd -> base .speed = SPEED_10000 ;
2144
+ ecmd -> base .duplex = DUPLEX_FULL ;
2145
+ ecmd -> base .port = PORT_FIBRE ;
2146
+ ecmd -> base .autoneg = AUTONEG_DISABLE ;
2154
2147
2155
2148
return 0 ;
2156
2149
}
@@ -2384,7 +2377,6 @@ static void bdx_get_ethtool_stats(struct net_device *netdev,
2384
2377
static void bdx_set_ethtool_ops (struct net_device * netdev )
2385
2378
{
2386
2379
static const struct ethtool_ops bdx_ethtool_ops = {
2387
- .get_settings = bdx_get_settings ,
2388
2380
.get_drvinfo = bdx_get_drvinfo ,
2389
2381
.get_link = ethtool_op_get_link ,
2390
2382
.get_coalesce = bdx_get_coalesce ,
@@ -2394,6 +2386,7 @@ static void bdx_set_ethtool_ops(struct net_device *netdev)
2394
2386
.get_strings = bdx_get_strings ,
2395
2387
.get_sset_count = bdx_get_sset_count ,
2396
2388
.get_ethtool_stats = bdx_get_ethtool_stats ,
2389
+ .get_link_ksettings = bdx_get_link_ksettings ,
2397
2390
};
2398
2391
2399
2392
netdev -> ethtool_ops = & bdx_ethtool_ops ;
0 commit comments