Commit 74624944 authored by Hao Chen's avatar Hao Chen Committed by David S. Miller
Browse files

ethtool: extend ringparam setting/getting API with rx_buf_len



Add two new parameters kernel_ringparam and extack for
.get_ringparam and .set_ringparam to extend more ring params
through netlink.

Signed-off-by: default avatarHao Chen <chenhao288@hisilicon.com>
Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0b70c256
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1441,7 +1441,9 @@ static int vector_net_load_bpf_flash(struct net_device *dev,
}

static void vector_get_ringparam(struct net_device *netdev,
				struct ethtool_ringparam *ring)
				 struct ethtool_ringparam *ring,
				 struct kernel_ethtool_ringparam *kernel_ring,
				 struct netlink_ext_ack *extack)
{
	struct vector_private *vp = netdev_priv(netdev);

+3 −1
Original line number Diff line number Diff line
@@ -20,7 +20,9 @@ static void c_can_get_drvinfo(struct net_device *netdev,
}

static void c_can_get_ringparam(struct net_device *netdev,
				struct ethtool_ringparam *ring)
				struct ethtool_ringparam *ring,
				struct kernel_ethtool_ringparam *kernel_ring,
				struct netlink_ext_ack *extack)
{
	struct c_can_priv *priv = netdev_priv(netdev);

+3 −1
Original line number Diff line number Diff line
@@ -1138,7 +1138,9 @@ typhoon_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
}

static void
typhoon_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
typhoon_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering,
		      struct kernel_ethtool_ringparam *kernel_ering,
		      struct netlink_ext_ack *extack)
{
	ering->rx_max_pending = RXENT_ENTRIES;
	ering->tx_max_pending = TXLO_ENTRIES - 1;
+6 −2
Original line number Diff line number Diff line
@@ -465,7 +465,9 @@ static void ena_get_drvinfo(struct net_device *dev,
}

static void ena_get_ringparam(struct net_device *netdev,
			      struct ethtool_ringparam *ring)
			      struct ethtool_ringparam *ring,
			      struct kernel_ethtool_ringparam *kernel_ring,
			      struct netlink_ext_ack *extack)
{
	struct ena_adapter *adapter = netdev_priv(netdev);

@@ -476,7 +478,9 @@ static void ena_get_ringparam(struct net_device *netdev,
}

static int ena_set_ringparam(struct net_device *netdev,
			     struct ethtool_ringparam *ring)
			     struct ethtool_ringparam *ring,
			     struct kernel_ethtool_ringparam *kernel_ring,
			     struct netlink_ext_ack *extack)
{
	struct ena_adapter *adapter = netdev_priv(netdev);
	u32 new_tx_size, new_rx_size;
+6 −2
Original line number Diff line number Diff line
@@ -860,7 +860,9 @@ static int pcnet32_nway_reset(struct net_device *dev)
}

static void pcnet32_get_ringparam(struct net_device *dev,
				  struct ethtool_ringparam *ering)
				  struct ethtool_ringparam *ering,
				  struct kernel_ethtool_ringparam *kernel_ering,
				  struct netlink_ext_ack *extack)
{
	struct pcnet32_private *lp = netdev_priv(dev);

@@ -871,7 +873,9 @@ static void pcnet32_get_ringparam(struct net_device *dev,
}

static int pcnet32_set_ringparam(struct net_device *dev,
				 struct ethtool_ringparam *ering)
				 struct ethtool_ringparam *ering,
				 struct kernel_ethtool_ringparam *kernel_ering,
				 struct netlink_ext_ack *extack)
{
	struct pcnet32_private *lp = netdev_priv(dev);
	unsigned long flags;
Loading