mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
net: libwx: Implement xx_set_features ops
Implement wx_set_features function which to support ndo_set_features. Signed-off-by: Mengyuan Lou <mengyuanlou@net-swift.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
f3b03c655f
commit
6dbedcffcf
@ -2704,4 +2704,24 @@ void wx_get_stats64(struct net_device *netdev,
|
||||
}
|
||||
EXPORT_SYMBOL(wx_get_stats64);
|
||||
|
||||
int wx_set_features(struct net_device *netdev, netdev_features_t features)
|
||||
{
|
||||
netdev_features_t changed = netdev->features ^ features;
|
||||
struct wx *wx = netdev_priv(netdev);
|
||||
|
||||
if (changed & NETIF_F_RXHASH)
|
||||
wr32m(wx, WX_RDB_RA_CTL, WX_RDB_RA_CTL_RSS_EN,
|
||||
WX_RDB_RA_CTL_RSS_EN);
|
||||
else
|
||||
wr32m(wx, WX_RDB_RA_CTL, WX_RDB_RA_CTL_RSS_EN, 0);
|
||||
|
||||
if (changed &
|
||||
(NETIF_F_HW_VLAN_CTAG_RX |
|
||||
NETIF_F_HW_VLAN_STAG_RX))
|
||||
wx_set_rx_mode(netdev);
|
||||
|
||||
return 1;
|
||||
}
|
||||
EXPORT_SYMBOL(wx_set_features);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@ -28,5 +28,6 @@ void wx_free_resources(struct wx *wx);
|
||||
int wx_setup_resources(struct wx *wx);
|
||||
void wx_get_stats64(struct net_device *netdev,
|
||||
struct rtnl_link_stats64 *stats);
|
||||
int wx_set_features(struct net_device *netdev, netdev_features_t features);
|
||||
|
||||
#endif /* _NGBE_LIB_H_ */
|
||||
|
@ -111,6 +111,8 @@
|
||||
#define WX_RDB_PL_CFG_L2HDR BIT(3)
|
||||
#define WX_RDB_PL_CFG_TUN_TUNHDR BIT(4)
|
||||
#define WX_RDB_PL_CFG_TUN_OUTL2HDR BIT(5)
|
||||
#define WX_RDB_RA_CTL 0x194F4
|
||||
#define WX_RDB_RA_CTL_RSS_EN BIT(2) /* RSS Enable */
|
||||
|
||||
/******************************* PSR Registers *******************************/
|
||||
/* psr control */
|
||||
|
Loading…
Reference in New Issue
Block a user