@@ -383,10 +383,6 @@ void wx_get_channels(struct net_device *dev,
/* record RSS queues */
ch->combined_count = wx->ring_feature[RING_F_RSS].indices;
-
- /* nothing else to report if RSS is disabled */
- if (ch->combined_count == 1)
- return;
}
EXPORT_SYMBOL(wx_get_channels);
@@ -396,10 +392,6 @@ int wx_set_channels(struct net_device *dev,
unsigned int count = ch->combined_count;
struct wx *wx = netdev_priv(dev);
- /* verify they are not requesting separate vectors */
- if (!count || ch->rx_count || ch->tx_count)
- return -EOPNOTSUPP;
-
/* verify other_count has not changed */
if (ch->other_count != 1)
return -EINVAL;
@@ -413,3 +405,19 @@ int wx_set_channels(struct net_device *dev,
return 0;
}
EXPORT_SYMBOL(wx_set_channels);
+
+u32 wx_get_msglevel(struct net_device *netdev)
+{
+ struct wx *wx = netdev_priv(netdev);
+
+ return wx->msg_enable;
+}
+EXPORT_SYMBOL(wx_get_msglevel);
+
+void wx_set_msglevel(struct net_device *netdev, u32 data)
+{
+ struct wx *wx = netdev_priv(netdev);
+
+ wx->msg_enable = data;
+}
+EXPORT_SYMBOL(wx_set_msglevel);
@@ -38,4 +38,6 @@ void wx_get_channels(struct net_device *dev,
struct ethtool_channels *ch);
int wx_set_channels(struct net_device *dev,
struct ethtool_channels *ch);
+u32 wx_get_msglevel(struct net_device *netdev);
+void wx_set_msglevel(struct net_device *netdev, u32 data);
#endif /* _WX_ETHTOOL_H_ */
@@ -131,6 +131,8 @@ static const struct ethtool_ops ngbe_ethtool_ops = {
.set_coalesce = wx_set_coalesce,
.get_channels = wx_get_channels,
.set_channels = ngbe_set_channels,
+ .get_msglevel = wx_get_msglevel,
+ .set_msglevel = wx_set_msglevel,
};
void ngbe_set_ethtool_ops(struct net_device *netdev)
@@ -95,6 +95,8 @@ static const struct ethtool_ops txgbe_ethtool_ops = {
.set_coalesce = wx_set_coalesce,
.get_channels = wx_get_channels,
.set_channels = txgbe_set_channels,
+ .get_msglevel = wx_get_msglevel,
+ .set_msglevel = wx_set_msglevel,
};
void txgbe_set_ethtool_ops(struct net_device *netdev)