提交 f4786a96 编写于 作者: M Michał Mirosław 提交者: David S. Miller

net: ehea: convert to hw_features

Signed-off-by: NMichał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 66a1c541
...@@ -162,11 +162,6 @@ static void ehea_set_msglevel(struct net_device *dev, u32 value) ...@@ -162,11 +162,6 @@ static void ehea_set_msglevel(struct net_device *dev, u32 value)
port->msg_enable = value; port->msg_enable = value;
} }
static u32 ehea_get_rx_csum(struct net_device *dev)
{
return 1;
}
static char ehea_ethtool_stats_keys[][ETH_GSTRING_LEN] = { static char ehea_ethtool_stats_keys[][ETH_GSTRING_LEN] = {
{"sig_comp_iv"}, {"sig_comp_iv"},
{"swqe_refill_th"}, {"swqe_refill_th"},
...@@ -263,34 +258,16 @@ static void ehea_get_ethtool_stats(struct net_device *dev, ...@@ -263,34 +258,16 @@ static void ehea_get_ethtool_stats(struct net_device *dev,
} }
static int ehea_set_flags(struct net_device *dev, u32 data)
{
/* Avoid changing the VLAN flags */
if ((data & (ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN)) !=
(ethtool_op_get_flags(dev) & (ETH_FLAG_RXVLAN |
ETH_FLAG_TXVLAN))){
return -EINVAL;
}
return ethtool_op_set_flags(dev, data, ETH_FLAG_LRO
| ETH_FLAG_TXVLAN
| ETH_FLAG_RXVLAN);
}
const struct ethtool_ops ehea_ethtool_ops = { const struct ethtool_ops ehea_ethtool_ops = {
.get_settings = ehea_get_settings, .get_settings = ehea_get_settings,
.get_drvinfo = ehea_get_drvinfo, .get_drvinfo = ehea_get_drvinfo,
.get_msglevel = ehea_get_msglevel, .get_msglevel = ehea_get_msglevel,
.set_msglevel = ehea_set_msglevel, .set_msglevel = ehea_set_msglevel,
.get_link = ethtool_op_get_link, .get_link = ethtool_op_get_link,
.set_tso = ethtool_op_set_tso,
.get_strings = ehea_get_strings, .get_strings = ehea_get_strings,
.get_sset_count = ehea_get_sset_count, .get_sset_count = ehea_get_sset_count,
.get_ethtool_stats = ehea_get_ethtool_stats, .get_ethtool_stats = ehea_get_ethtool_stats,
.get_rx_csum = ehea_get_rx_csum,
.set_settings = ehea_set_settings, .set_settings = ehea_set_settings,
.get_flags = ethtool_op_get_flags,
.set_flags = ehea_set_flags,
.nway_reset = ehea_nway_reset, /* Restart autonegotiation */ .nway_reset = ehea_nway_reset, /* Restart autonegotiation */
}; };
......
...@@ -3262,10 +3262,12 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter, ...@@ -3262,10 +3262,12 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
dev->netdev_ops = &ehea_netdev_ops; dev->netdev_ops = &ehea_netdev_ops;
ehea_set_ethtool_ops(dev); ehea_set_ethtool_ops(dev);
dev->hw_features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
| NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX | NETIF_F_LRO;
dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
| NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX
| NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER
| NETIF_F_LLTX; | NETIF_F_LLTX | NETIF_F_RXCSUM;
dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT; dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT;
if (use_lro) if (use_lro)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册