net: ps3_gelic: convert to hw_features
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
f5d640371d
Коммит
d1423c7ab8
|
@ -951,7 +951,7 @@ static void gelic_net_pass_skb_up(struct gelic_descr *descr,
|
|||
skb->protocol = eth_type_trans(skb, netdev);
|
||||
|
||||
/* checksum offload */
|
||||
if (card->rx_csum) {
|
||||
if (netdev->features & NETIF_F_RXCSUM) {
|
||||
if ((data_status & GELIC_DESCR_DATA_STATUS_CHK_MASK) &&
|
||||
(!(data_error & GELIC_DESCR_DATA_ERROR_CHK_MASK)))
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
|
@ -1312,21 +1312,6 @@ static int gelic_ether_set_settings(struct net_device *netdev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
u32 gelic_net_get_rx_csum(struct net_device *netdev)
|
||||
{
|
||||
struct gelic_card *card = netdev_card(netdev);
|
||||
|
||||
return card->rx_csum;
|
||||
}
|
||||
|
||||
int gelic_net_set_rx_csum(struct net_device *netdev, u32 data)
|
||||
{
|
||||
struct gelic_card *card = netdev_card(netdev);
|
||||
|
||||
card->rx_csum = data;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void gelic_net_get_wol(struct net_device *netdev,
|
||||
struct ethtool_wolinfo *wol)
|
||||
{
|
||||
|
@ -1411,10 +1396,6 @@ static const struct ethtool_ops gelic_ether_ethtool_ops = {
|
|||
.get_settings = gelic_ether_get_settings,
|
||||
.set_settings = gelic_ether_set_settings,
|
||||
.get_link = ethtool_op_get_link,
|
||||
.get_tx_csum = ethtool_op_get_tx_csum,
|
||||
.set_tx_csum = ethtool_op_set_tx_csum,
|
||||
.get_rx_csum = gelic_net_get_rx_csum,
|
||||
.set_rx_csum = gelic_net_set_rx_csum,
|
||||
.get_wol = gelic_net_get_wol,
|
||||
.set_wol = gelic_net_set_wol,
|
||||
};
|
||||
|
@ -1512,7 +1493,11 @@ int __devinit gelic_net_setup_netdev(struct net_device *netdev,
|
|||
int status;
|
||||
u64 v1, v2;
|
||||
|
||||
netdev->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM;
|
||||
|
||||
netdev->features = NETIF_F_IP_CSUM;
|
||||
if (GELIC_CARD_RX_CSUM_DEFAULT)
|
||||
netdev->features |= NETIF_F_RXCSUM;
|
||||
|
||||
status = lv1_net_control(bus_id(card), dev_id(card),
|
||||
GELIC_LV1_GET_MAC_ADDRESS,
|
||||
|
@ -1756,7 +1741,6 @@ static int __devinit ps3_gelic_driver_probe(struct ps3_system_bus_device *dev)
|
|||
/* setup card structure */
|
||||
card->irq_mask = GELIC_CARD_RXINT | GELIC_CARD_TXINT |
|
||||
GELIC_CARD_PORT_STATUS_CHANGED;
|
||||
card->rx_csum = GELIC_CARD_RX_CSUM_DEFAULT;
|
||||
|
||||
|
||||
if (gelic_card_init_chain(card, &card->tx_chain,
|
||||
|
|
|
@ -290,7 +290,6 @@ struct gelic_card {
|
|||
struct gelic_descr_chain tx_chain;
|
||||
struct gelic_descr_chain rx_chain;
|
||||
int rx_dma_restart_required;
|
||||
int rx_csum;
|
||||
/*
|
||||
* tx_lock guards tx descriptor list and
|
||||
* tx_dma_progress.
|
||||
|
@ -377,8 +376,6 @@ extern int gelic_net_setup_netdev(struct net_device *netdev,
|
|||
/* shared ethtool ops */
|
||||
extern void gelic_net_get_drvinfo(struct net_device *netdev,
|
||||
struct ethtool_drvinfo *info);
|
||||
extern u32 gelic_net_get_rx_csum(struct net_device *netdev);
|
||||
extern int gelic_net_set_rx_csum(struct net_device *netdev, u32 data);
|
||||
extern void gelic_net_poll_controller(struct net_device *netdev);
|
||||
|
||||
#endif /* _GELIC_NET_H */
|
||||
|
|
|
@ -2581,10 +2581,6 @@ static const struct net_device_ops gelic_wl_netdevice_ops = {
|
|||
static const struct ethtool_ops gelic_wl_ethtool_ops = {
|
||||
.get_drvinfo = gelic_net_get_drvinfo,
|
||||
.get_link = gelic_wl_get_link,
|
||||
.get_tx_csum = ethtool_op_get_tx_csum,
|
||||
.set_tx_csum = ethtool_op_set_tx_csum,
|
||||
.get_rx_csum = gelic_net_get_rx_csum,
|
||||
.set_rx_csum = gelic_net_set_rx_csum,
|
||||
};
|
||||
|
||||
static void __devinit gelic_wl_setup_netdev_ops(struct net_device *netdev)
|
||||
|
|
Загрузка…
Ссылка в новой задаче