Merge: CNB: ethtool: update ethtool core to upstream v5.16
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/446 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2047636 Tested: Manually - ethtool tasks (link config, coalesce params, etc) using mlxsw and ixgbe drivers This series updates ethtool core to upstream 5.16 + follow-ups. Signed-off-by: Ivan Vecera <ivecera@redhat.com> Approved-by: Petr Oros <poros@redhat.com> Approved-by: Corinna Vinschen <vinschen@redhat.com> Approved-by: Jarod Wilson <jarod@redhat.com> Approved-by: Kamal Heib <kheib@redhat.com> Approved-by: John W. Linville <linville@redhat.com> Approved-by: Tony Camuso <tcamuso@redhat.com> Signed-off-by: Patrick Talbert <ptalbert@redhat.com>
This commit is contained in:
commit
51077118a2
|
@ -41,6 +41,11 @@ In the message structure descriptions below, if an attribute name is suffixed
|
|||
with "+", parent nest can contain multiple attributes of the same type. This
|
||||
implements an array of entries.
|
||||
|
||||
Attributes that need to be filled-in by device drivers and that are dumped to
|
||||
user space based on whether they are valid or not should not use zero as a
|
||||
valid value. This avoids the need to explicitly signal the validity of the
|
||||
attribute in the device driver API.
|
||||
|
||||
|
||||
Request header
|
||||
==============
|
||||
|
@ -179,7 +184,7 @@ according to message purpose:
|
|||
|
||||
Userspace to kernel:
|
||||
|
||||
===================================== ================================
|
||||
===================================== =================================
|
||||
``ETHTOOL_MSG_STRSET_GET`` get string set
|
||||
``ETHTOOL_MSG_LINKINFO_GET`` get link settings
|
||||
``ETHTOOL_MSG_LINKINFO_SET`` set link settings
|
||||
|
@ -213,7 +218,9 @@ Userspace to kernel:
|
|||
``ETHTOOL_MSG_MODULE_EEPROM_GET`` read SFP module EEPROM
|
||||
``ETHTOOL_MSG_STATS_GET`` get standard statistics
|
||||
``ETHTOOL_MSG_PHC_VCLOCKS_GET`` get PHC virtual clocks info
|
||||
===================================== ================================
|
||||
``ETHTOOL_MSG_MODULE_SET`` set transceiver module parameters
|
||||
``ETHTOOL_MSG_MODULE_GET`` get transceiver module parameters
|
||||
===================================== =================================
|
||||
|
||||
Kernel to userspace:
|
||||
|
||||
|
@ -252,6 +259,7 @@ Kernel to userspace:
|
|||
``ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY`` read SFP module EEPROM
|
||||
``ETHTOOL_MSG_STATS_GET_REPLY`` standard statistics
|
||||
``ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY`` PHC virtual clocks info
|
||||
``ETHTOOL_MSG_MODULE_GET_REPLY`` transceiver module parameters
|
||||
======================================== =================================
|
||||
|
||||
``GET`` requests are sent by userspace applications to retrieve device
|
||||
|
@ -520,6 +528,8 @@ Link extended states:
|
|||
power required from cable or module
|
||||
|
||||
``ETHTOOL_LINK_EXT_STATE_OVERHEAT`` The module is overheated
|
||||
|
||||
``ETHTOOL_LINK_EXT_STATE_MODULE`` Transceiver module issue
|
||||
================================================ ============================================
|
||||
|
||||
Link extended substates:
|
||||
|
@ -595,6 +605,14 @@ Link extended substates:
|
|||
that is not formally
|
||||
supported, which led to
|
||||
signal integrity issues
|
||||
|
||||
``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST`` The external clock signal for
|
||||
SerDes is too weak or
|
||||
unavailable.
|
||||
|
||||
``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS`` The received signal for
|
||||
SerDes is too weak because
|
||||
analog loss of signal.
|
||||
================================================================= =============================
|
||||
|
||||
Cable issue substates:
|
||||
|
@ -605,6 +623,14 @@ Link extended substates:
|
|||
``ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE`` Cable test failure
|
||||
=================================================== ============================================
|
||||
|
||||
Transceiver module issue substates:
|
||||
|
||||
=================================================== ============================================
|
||||
``ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY`` The CMIS Module State Machine did not reach
|
||||
the ModuleReady state. For example, if the
|
||||
module is stuck at ModuleFault state
|
||||
=================================================== ============================================
|
||||
|
||||
DEBUG_GET
|
||||
=========
|
||||
|
||||
|
@ -823,7 +849,7 @@ Request contents:
|
|||
|
||||
Kernel response contents:
|
||||
|
||||
==================================== ====== ==========================
|
||||
==================================== ====== ===========================
|
||||
``ETHTOOL_A_RINGS_HEADER`` nested reply header
|
||||
``ETHTOOL_A_RINGS_RX_MAX`` u32 max size of RX ring
|
||||
``ETHTOOL_A_RINGS_RX_MINI_MAX`` u32 max size of RX mini ring
|
||||
|
@ -833,7 +859,8 @@ Kernel response contents:
|
|||
``ETHTOOL_A_RINGS_RX_MINI`` u32 size of RX mini ring
|
||||
``ETHTOOL_A_RINGS_RX_JUMBO`` u32 size of RX jumbo ring
|
||||
``ETHTOOL_A_RINGS_TX`` u32 size of TX ring
|
||||
==================================== ====== ==========================
|
||||
``ETHTOOL_A_RINGS_RX_BUF_LEN`` u32 size of buffers on the ring
|
||||
==================================== ====== ===========================
|
||||
|
||||
|
||||
RINGS_SET
|
||||
|
@ -843,13 +870,14 @@ Sets ring sizes like ``ETHTOOL_SRINGPARAM`` ioctl request.
|
|||
|
||||
Request contents:
|
||||
|
||||
==================================== ====== ==========================
|
||||
==================================== ====== ===========================
|
||||
``ETHTOOL_A_RINGS_HEADER`` nested reply header
|
||||
``ETHTOOL_A_RINGS_RX`` u32 size of RX ring
|
||||
``ETHTOOL_A_RINGS_RX_MINI`` u32 size of RX mini ring
|
||||
``ETHTOOL_A_RINGS_RX_JUMBO`` u32 size of RX jumbo ring
|
||||
``ETHTOOL_A_RINGS_TX`` u32 size of TX ring
|
||||
==================================== ====== ==========================
|
||||
``ETHTOOL_A_RINGS_RX_BUF_LEN`` u32 size of buffers on the ring
|
||||
==================================== ====== ===========================
|
||||
|
||||
Kernel checks that requested ring sizes do not exceed limits reported by
|
||||
driver. Driver may impose additional constraints and may not suspport all
|
||||
|
@ -939,12 +967,25 @@ Kernel response contents:
|
|||
``ETHTOOL_A_COALESCE_TX_USECS_HIGH`` u32 delay (us), high Tx
|
||||
``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH`` u32 max packets, high Tx
|
||||
``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL`` u32 rate sampling interval
|
||||
``ETHTOOL_A_COALESCE_USE_CQE_TX`` bool timer reset mode, Tx
|
||||
``ETHTOOL_A_COALESCE_USE_CQE_RX`` bool timer reset mode, Rx
|
||||
=========================================== ====== =======================
|
||||
|
||||
Attributes are only included in reply if their value is not zero or the
|
||||
corresponding bit in ``ethtool_ops::supported_coalesce_params`` is set (i.e.
|
||||
they are declared as supported by driver).
|
||||
|
||||
Timer reset mode (``ETHTOOL_A_COALESCE_USE_CQE_TX`` and
|
||||
``ETHTOOL_A_COALESCE_USE_CQE_RX``) controls the interaction between packet
|
||||
arrival and the various time based delay parameters. By default timers are
|
||||
expected to limit the max delay between any packet arrival/departure and a
|
||||
corresponding interrupt. In this mode timer should be started by packet
|
||||
arrival (sometimes delivery of previous interrupt) and reset when interrupt
|
||||
is delivered.
|
||||
Setting the appropriate attribute to 1 will enable ``CQE`` mode, where
|
||||
each packet event resets the timer. In this mode timer is used to force
|
||||
the interrupt if queue goes idle, while busy queues depend on the packet
|
||||
limit to trigger interrupts.
|
||||
|
||||
COALESCE_SET
|
||||
============
|
||||
|
@ -977,6 +1018,8 @@ Request contents:
|
|||
``ETHTOOL_A_COALESCE_TX_USECS_HIGH`` u32 delay (us), high Tx
|
||||
``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH`` u32 max packets, high Tx
|
||||
``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL`` u32 rate sampling interval
|
||||
``ETHTOOL_A_COALESCE_USE_CQE_TX`` bool timer reset mode, Tx
|
||||
``ETHTOOL_A_COALESCE_USE_CQE_RX`` bool timer reset mode, Rx
|
||||
=========================================== ====== =======================
|
||||
|
||||
Request is rejected if it attributes declared as unsupported by driver (i.e.
|
||||
|
@ -1498,6 +1541,63 @@ Kernel response contents:
|
|||
``ETHTOOL_A_PHC_VCLOCKS_INDEX`` s32 PHC index array
|
||||
==================================== ====== ==========================
|
||||
|
||||
MODULE_GET
|
||||
==========
|
||||
|
||||
Gets transceiver module parameters.
|
||||
|
||||
Request contents:
|
||||
|
||||
===================================== ====== ==========================
|
||||
``ETHTOOL_A_MODULE_HEADER`` nested request header
|
||||
===================================== ====== ==========================
|
||||
|
||||
Kernel response contents:
|
||||
|
||||
====================================== ====== ==========================
|
||||
``ETHTOOL_A_MODULE_HEADER`` nested reply header
|
||||
``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` u8 power mode policy
|
||||
``ETHTOOL_A_MODULE_POWER_MODE`` u8 operational power mode
|
||||
====================================== ====== ==========================
|
||||
|
||||
The optional ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` attribute encodes the
|
||||
transceiver module power mode policy enforced by the host. The default policy
|
||||
is driver-dependent, but "auto" is the recommended default and it should be
|
||||
implemented by new drivers and drivers where conformance to a legacy behavior
|
||||
is not critical.
|
||||
|
||||
The optional ``ETHTHOOL_A_MODULE_POWER_MODE`` attribute encodes the operational
|
||||
power mode policy of the transceiver module. It is only reported when a module
|
||||
is plugged-in. Possible values are:
|
||||
|
||||
.. kernel-doc:: include/uapi/linux/ethtool.h
|
||||
:identifiers: ethtool_module_power_mode
|
||||
|
||||
MODULE_SET
|
||||
==========
|
||||
|
||||
Sets transceiver module parameters.
|
||||
|
||||
Request contents:
|
||||
|
||||
====================================== ====== ==========================
|
||||
``ETHTOOL_A_MODULE_HEADER`` nested request header
|
||||
``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` u8 power mode policy
|
||||
====================================== ====== ==========================
|
||||
|
||||
When set, the optional ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` attribute is used
|
||||
to set the transceiver module power policy enforced by the host. Possible
|
||||
values are:
|
||||
|
||||
.. kernel-doc:: include/uapi/linux/ethtool.h
|
||||
:identifiers: ethtool_module_power_mode_policy
|
||||
|
||||
For SFF-8636 modules, low power mode is forced by the host according to table
|
||||
6-10 in revision 2.10a of the specification.
|
||||
|
||||
For CMIS modules, low power mode is forced by the host according to table 6-12
|
||||
in revision 5.0 of the specification.
|
||||
|
||||
Request translation
|
||||
===================
|
||||
|
||||
|
@ -1597,4 +1697,6 @@ are netlink only.
|
|||
n/a ``ETHTOOL_MSG_CABLE_TEST_TDR_ACT``
|
||||
n/a ``ETHTOOL_MSG_TUNNEL_INFO_GET``
|
||||
n/a ``ETHTOOL_MSG_PHC_VCLOCKS_GET``
|
||||
n/a ``ETHTOOL_MSG_MODULE_GET``
|
||||
n/a ``ETHTOOL_MSG_MODULE_SET``
|
||||
=================================== =====================================
|
||||
|
|
|
@ -1441,7 +1441,9 @@ flash_fail:
|
|||
}
|
||||
|
||||
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);
|
||||
|
||||
|
@ -1488,7 +1490,9 @@ static void vector_get_ethtool_stats(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int vector_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct vector_private *vp = netdev_priv(netdev);
|
||||
|
||||
|
@ -1497,7 +1501,9 @@ static int vector_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int vector_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct vector_private *vp = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -72,7 +72,9 @@ static void ipoib_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ipoib_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ipoib_dev_priv *priv = ipoib_priv(dev);
|
||||
|
||||
|
@ -83,7 +85,9 @@ static int ipoib_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int ipoib_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ipoib_dev_priv *priv = ipoib_priv(dev);
|
||||
int ret;
|
||||
|
|
|
@ -22,7 +22,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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -360,7 +360,9 @@ static int ena_get_link_ksettings(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ena_get_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ena_adapter *adapter = netdev_priv(net_dev);
|
||||
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
||||
|
@ -405,7 +407,9 @@ static void ena_update_rx_rings_nonadaptive_intr_moderation(struct ena_adapter *
|
|||
}
|
||||
|
||||
static int ena_set_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ena_adapter *adapter = netdev_priv(net_dev);
|
||||
struct ena_com_dev *ena_dev = adapter->ena_dev;
|
||||
|
@ -464,7 +468,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);
|
||||
|
||||
|
@ -475,7 +481,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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -428,7 +428,9 @@ static void xgbe_set_msglevel(struct net_device *netdev, u32 msglevel)
|
|||
}
|
||||
|
||||
static int xgbe_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct xgbe_prv_data *pdata = netdev_priv(netdev);
|
||||
|
||||
|
@ -443,7 +445,9 @@ static int xgbe_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int xgbe_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct xgbe_prv_data *pdata = netdev_priv(netdev);
|
||||
struct xgbe_hw_if *hw_if = &pdata->hw_if;
|
||||
|
@ -617,8 +621,11 @@ static int xgbe_get_module_eeprom(struct net_device *netdev,
|
|||
return pdata->phy_if.module_eeprom(pdata, eeprom, data);
|
||||
}
|
||||
|
||||
static void xgbe_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ringparam)
|
||||
static void
|
||||
xgbe_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ringparam,
|
||||
struct kernel_ethtool_ringparam *kernel_ringparam,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct xgbe_prv_data *pdata = netdev_priv(netdev);
|
||||
|
||||
|
@ -629,7 +636,9 @@ static void xgbe_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int xgbe_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ringparam)
|
||||
struct ethtool_ringparam *ringparam,
|
||||
struct kernel_ethtool_ringparam *kernel_ringparam,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct xgbe_prv_data *pdata = netdev_priv(netdev);
|
||||
unsigned int rx, tx;
|
||||
|
|
|
@ -547,7 +547,9 @@ static int aq_ethtool_set_rxnfc(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int aq_ethtool_get_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct aq_nic_s *aq_nic = netdev_priv(ndev);
|
||||
struct aq_nic_cfg_s *cfg;
|
||||
|
@ -571,7 +573,9 @@ static int aq_ethtool_get_coalesce(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int aq_ethtool_set_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct aq_nic_s *aq_nic = netdev_priv(ndev);
|
||||
struct aq_nic_cfg_s *cfg;
|
||||
|
@ -808,7 +812,9 @@ static int aq_ethtool_set_pauseparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static void aq_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct aq_nic_s *aq_nic = netdev_priv(ndev);
|
||||
struct aq_nic_cfg_s *cfg;
|
||||
|
@ -823,7 +829,9 @@ static void aq_get_ringparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int aq_set_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct aq_nic_s *aq_nic = netdev_priv(ndev);
|
||||
const struct aq_hw_caps_s *hw_caps;
|
||||
|
|
|
@ -3438,7 +3438,9 @@ static void atl1_get_regs(struct net_device *netdev, struct ethtool_regs *regs,
|
|||
}
|
||||
|
||||
static void atl1_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 atl1_adapter *adapter = netdev_priv(netdev);
|
||||
struct atl1_tpd_ring *txdr = &adapter->tpd_ring;
|
||||
|
@ -3451,7 +3453,9 @@ static void atl1_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int atl1_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 atl1_adapter *adapter = netdev_priv(netdev);
|
||||
struct atl1_tpd_ring *tpdr = &adapter->tpd_ring;
|
||||
|
|
|
@ -1959,7 +1959,9 @@ static int b44_set_link_ksettings(struct net_device *dev,
|
|||
}
|
||||
|
||||
static void b44_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 b44 *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -1970,7 +1972,9 @@ static void b44_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int b44_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 b44 *bp = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -1497,8 +1497,11 @@ static int bcm_enet_set_link_ksettings(struct net_device *dev,
|
|||
}
|
||||
}
|
||||
|
||||
static void bcm_enet_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static void
|
||||
bcm_enet_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcm_enet_priv *priv;
|
||||
|
||||
|
@ -1512,7 +1515,9 @@ static void bcm_enet_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bcm_enet_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 bcm_enet_priv *priv;
|
||||
int was_running;
|
||||
|
@ -2579,8 +2584,11 @@ static void bcm_enetsw_get_ethtool_stats(struct net_device *netdev,
|
|||
}
|
||||
}
|
||||
|
||||
static void bcm_enetsw_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static void
|
||||
bcm_enetsw_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcm_enet_priv *priv;
|
||||
|
||||
|
@ -2595,8 +2603,11 @@ static void bcm_enetsw_get_ringparam(struct net_device *dev,
|
|||
ering->tx_pending = priv->tx_ring_size;
|
||||
}
|
||||
|
||||
static int bcm_enetsw_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static int
|
||||
bcm_enetsw_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcm_enet_priv *priv;
|
||||
int was_running;
|
||||
|
|
|
@ -607,7 +607,9 @@ static void bcm_sysport_set_tx_coalesce(struct bcm_sysport_tx_ring *ring,
|
|||
}
|
||||
|
||||
static int bcm_sysport_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcm_sysport_priv *priv = netdev_priv(dev);
|
||||
u32 reg;
|
||||
|
@ -627,7 +629,9 @@ static int bcm_sysport_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bcm_sysport_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcm_sysport_priv *priv = netdev_priv(dev);
|
||||
struct dim_cq_moder moder;
|
||||
|
|
|
@ -7241,8 +7241,10 @@ bnx2_set_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom,
|
|||
return rc;
|
||||
}
|
||||
|
||||
static int
|
||||
bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
|
||||
static int bnx2_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -7263,8 +7265,10 @@ bnx2_get_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
|
||||
static int bnx2_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -7313,7 +7317,9 @@ bnx2_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
|
|||
}
|
||||
|
||||
static void
|
||||
bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
|
||||
bnx2_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -7384,7 +7390,9 @@ bnx2_change_ring_size(struct bnx2 *bp, u32 rx, u32 tx, bool reset_irq)
|
|||
}
|
||||
|
||||
static int
|
||||
bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
|
||||
bnx2_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
int rc;
|
||||
|
|
|
@ -1878,7 +1878,9 @@ static int bnx2x_set_eeprom(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bnx2x_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnx2x *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -1891,7 +1893,9 @@ static int bnx2x_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bnx2x_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnx2x *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -1910,7 +1914,9 @@ static int bnx2x_set_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static void bnx2x_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 bnx2x *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -1934,7 +1940,9 @@ static void bnx2x_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bnx2x_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 bnx2x *bp = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -49,7 +49,9 @@ static void bnxt_set_msglevel(struct net_device *dev, u32 value)
|
|||
}
|
||||
|
||||
static int bnxt_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnxt *bp = netdev_priv(dev);
|
||||
struct bnxt_coal *hw_coal;
|
||||
|
@ -79,7 +81,9 @@ static int bnxt_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bnxt_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnxt *bp = netdev_priv(dev);
|
||||
bool update_stats = false;
|
||||
|
@ -764,7 +768,9 @@ skip_tpa_stats:
|
|||
}
|
||||
|
||||
static void bnxt_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 bnxt *bp = netdev_priv(dev);
|
||||
|
||||
|
@ -778,7 +784,9 @@ static void bnxt_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int bnxt_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 bnxt *bp = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -828,7 +828,9 @@ static void bcmgenet_set_msglevel(struct net_device *dev, u32 level)
|
|||
}
|
||||
|
||||
static int bcmgenet_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcmgenet_priv *priv = netdev_priv(dev);
|
||||
struct bcmgenet_rx_ring *ring;
|
||||
|
@ -890,7 +892,9 @@ static void bcmgenet_set_ring_rx_coalesce(struct bcmgenet_rx_ring *ring,
|
|||
}
|
||||
|
||||
static int bcmgenet_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bcmgenet_priv *priv = netdev_priv(dev);
|
||||
unsigned int i;
|
||||
|
|
|
@ -12399,7 +12399,10 @@ static int tg3_nway_reset(struct net_device *dev)
|
|||
return r;
|
||||
}
|
||||
|
||||
static void tg3_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
|
||||
static void tg3_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
|
||||
|
@ -12420,7 +12423,10 @@ static void tg3_get_ringparam(struct net_device *dev, struct ethtool_ringparam *
|
|||
ering->tx_pending = tp->napi[0].tx_pending;
|
||||
}
|
||||
|
||||
static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
|
||||
static int tg3_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
int i, irq_sync = 0, err = 0;
|
||||
|
@ -14011,7 +14017,10 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
|||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static int tg3_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
||||
static int tg3_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
|
||||
|
@ -14019,7 +14028,10 @@ static int tg3_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int tg3_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
||||
static int tg3_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
u32 max_rxcoal_tick_int = 0, max_txcoal_tick_int = 0;
|
||||
|
|
|
@ -307,8 +307,10 @@ bnad_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wolinfo)
|
|||
wolinfo->wolopts = 0;
|
||||
}
|
||||
|
||||
static int
|
||||
bnad_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *coalesce)
|
||||
static int bnad_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnad *bnad = netdev_priv(netdev);
|
||||
unsigned long flags;
|
||||
|
@ -328,8 +330,10 @@ bnad_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *coalesce)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
bnad_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *coalesce)
|
||||
static int bnad_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnad *bnad = netdev_priv(netdev);
|
||||
unsigned long flags;
|
||||
|
@ -401,7 +405,9 @@ bnad_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *coalesce)
|
|||
|
||||
static void
|
||||
bnad_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ringparam)
|
||||
struct ethtool_ringparam *ringparam,
|
||||
struct kernel_ethtool_ringparam *kernel_ringparam,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bnad *bnad = netdev_priv(netdev);
|
||||
|
||||
|
@ -414,7 +420,9 @@ bnad_get_ringparam(struct net_device *netdev,
|
|||
|
||||
static int
|
||||
bnad_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ringparam)
|
||||
struct ethtool_ringparam *ringparam,
|
||||
struct kernel_ethtool_ringparam *kernel_ringparam,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
int i, current_err, err = 0;
|
||||
struct bnad *bnad = netdev_priv(netdev);
|
||||
|
|
|
@ -3093,7 +3093,9 @@ static int macb_set_link_ksettings(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void macb_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 macb *bp = netdev_priv(netdev);
|
||||
|
||||
|
@ -3105,7 +3107,9 @@ static void macb_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int macb_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 macb *bp = netdev_priv(netdev);
|
||||
u32 new_rx_size, new_tx_size;
|
||||
|
|
|
@ -947,7 +947,9 @@ static int lio_set_phys_id(struct net_device *netdev,
|
|||
|
||||
static void
|
||||
lio_ethtool_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering)
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct lio *lio = GET_LIO(netdev);
|
||||
struct octeon_device *oct = lio->oct_dev;
|
||||
|
@ -1252,8 +1254,11 @@ static int lio_reset_queues(struct net_device *netdev, uint32_t num_qs)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int lio_ethtool_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static int
|
||||
lio_ethtool_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
u32 rx_count, tx_count, rx_count_old, tx_count_old;
|
||||
struct lio *lio = GET_LIO(netdev);
|
||||
|
@ -2108,7 +2113,9 @@ static int octnet_set_intrmod_cfg(struct lio *lio,
|
|||
}
|
||||
|
||||
static int lio_get_intr_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *intr_coal)
|
||||
struct ethtool_coalesce *intr_coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct lio *lio = GET_LIO(netdev);
|
||||
struct octeon_device *oct = lio->oct_dev;
|
||||
|
@ -2412,7 +2419,9 @@ oct_cfg_tx_intrcnt(struct lio *lio,
|
|||
}
|
||||
|
||||
static int lio_set_intr_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *intr_coal)
|
||||
struct ethtool_coalesce *intr_coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct lio *lio = GET_LIO(netdev);
|
||||
int ret;
|
||||
|
|
|
@ -456,7 +456,9 @@ static void nicvf_get_regs(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int nicvf_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *cmd)
|
||||
struct ethtool_coalesce *cmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nicvf *nic = netdev_priv(netdev);
|
||||
|
||||
|
@ -465,7 +467,9 @@ static int nicvf_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void nicvf_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 nicvf *nic = netdev_priv(netdev);
|
||||
struct queue_set *qs = nic->qs;
|
||||
|
@ -477,7 +481,9 @@ static void nicvf_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int nicvf_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 nicvf *nic = netdev_priv(netdev);
|
||||
struct queue_set *qs = nic->qs;
|
||||
|
|
|
@ -710,7 +710,9 @@ static int set_pauseparam(struct net_device *dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
||||
static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e,
|
||||
struct kernel_ethtool_ringparam *kernel_e,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct adapter *adapter = dev->ml_priv;
|
||||
int jumbo_fl = t1_is_T1B(adapter) ? 1 : 0;
|
||||
|
@ -724,7 +726,9 @@ static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
|||
e->tx_pending = adapter->params.sge.cmdQ_size[0];
|
||||
}
|
||||
|
||||
static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
||||
static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e,
|
||||
struct kernel_ethtool_ringparam *kernel_e,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct adapter *adapter = dev->ml_priv;
|
||||
int jumbo_fl = t1_is_T1B(adapter) ? 1 : 0;
|
||||
|
@ -748,7 +752,9 @@ static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int set_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
||||
static int set_coalesce(struct net_device *dev, struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct adapter *adapter = dev->ml_priv;
|
||||
|
||||
|
@ -759,7 +765,9 @@ static int set_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int get_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
||||
static int get_coalesce(struct net_device *dev, struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct adapter *adapter = dev->ml_priv;
|
||||
|
||||
|
|
|
@ -1948,7 +1948,9 @@ static int set_pauseparam(struct net_device *dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
||||
static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e,
|
||||
struct kernel_ethtool_ringparam *kernel_e,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
@ -1964,7 +1966,9 @@ static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
|||
e->tx_pending = q->txq_size[0];
|
||||
}
|
||||
|
||||
static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
||||
static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e,
|
||||
struct kernel_ethtool_ringparam *kernel_e,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
@ -1996,7 +2000,9 @@ static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int set_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
||||
static int set_coalesce(struct net_device *dev, struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
@ -2017,7 +2023,9 @@ static int set_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int get_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
||||
static int get_coalesce(struct net_device *dev, struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
|
|
@ -890,7 +890,9 @@ static int set_pauseparam(struct net_device *dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
||||
static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e,
|
||||
struct kernel_ethtool_ringparam *kernel_e,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
const struct sge *s = &pi->adapter->sge;
|
||||
|
@ -906,7 +908,9 @@ static void get_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
|||
e->tx_pending = s->ethtxq[pi->first_qset].q.size;
|
||||
}
|
||||
|
||||
static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e)
|
||||
static int set_sge_param(struct net_device *dev, struct ethtool_ringparam *e,
|
||||
struct kernel_ethtool_ringparam *kernel_e,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
int i;
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
|
@ -1147,7 +1151,9 @@ static int set_dbqtimer_tickval(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
int ret;
|
||||
|
||||
|
@ -1163,7 +1169,9 @@ static int set_coalesce(struct net_device *dev,
|
|||
coalesce->tx_coalesce_usecs);
|
||||
}
|
||||
|
||||
static int get_coalesce(struct net_device *dev, struct ethtool_coalesce *c)
|
||||
static int get_coalesce(struct net_device *dev, struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
const struct adapter *adap = pi->adapter;
|
||||
|
|
|
@ -1591,7 +1591,9 @@ static void cxgb4vf_set_msglevel(struct net_device *dev, u32 msglevel)
|
|||
* first Queue Set.
|
||||
*/
|
||||
static void cxgb4vf_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *rp)
|
||||
struct ethtool_ringparam *rp,
|
||||
struct kernel_ethtool_ringparam *kernel_rp,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
const struct sge *s = &pi->adapter->sge;
|
||||
|
@ -1614,7 +1616,9 @@ static void cxgb4vf_get_ringparam(struct net_device *dev,
|
|||
* device -- after vetting them of course!
|
||||
*/
|
||||
static int cxgb4vf_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *rp)
|
||||
struct ethtool_ringparam *rp,
|
||||
struct kernel_ethtool_ringparam *kernel_rp,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
@ -1647,7 +1651,9 @@ static int cxgb4vf_set_ringparam(struct net_device *dev,
|
|||
* interrupt holdoff timer to be read on all of the device's Queue Sets.
|
||||
*/
|
||||
static int cxgb4vf_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
const struct adapter *adapter = pi->adapter;
|
||||
|
@ -1667,7 +1673,9 @@ static int cxgb4vf_get_coalesce(struct net_device *dev,
|
|||
* the interrupt holdoff timer on any of the device's Queue Sets.
|
||||
*/
|
||||
static int cxgb4vf_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
|
|
@ -177,7 +177,9 @@ static void enic_get_strings(struct net_device *netdev, u32 stringset,
|
|||
}
|
||||
|
||||
static void enic_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 enic *enic = netdev_priv(netdev);
|
||||
struct vnic_enet_config *c = &enic->config;
|
||||
|
@ -189,7 +191,9 @@ static void enic_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int enic_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 enic *enic = netdev_priv(netdev);
|
||||
struct vnic_enet_config *c = &enic->config;
|
||||
|
@ -298,7 +302,9 @@ static void enic_set_msglevel(struct net_device *netdev, u32 value)
|
|||
}
|
||||
|
||||
static int enic_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct enic *enic = netdev_priv(netdev);
|
||||
struct enic_rx_coal *rxcoal = &enic->rx_coalesce_setting;
|
||||
|
@ -343,7 +349,9 @@ static int enic_coalesce_valid(struct enic *enic,
|
|||
}
|
||||
|
||||
static int enic_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct enic *enic = netdev_priv(netdev);
|
||||
u32 tx_coalesce_usecs;
|
||||
|
|
|
@ -2105,7 +2105,9 @@ static void gmac_get_pauseparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void gmac_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *rp)
|
||||
struct ethtool_ringparam *rp,
|
||||
struct kernel_ethtool_ringparam *kernel_rp,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gemini_ethernet_port *port = netdev_priv(netdev);
|
||||
|
||||
|
@ -2123,7 +2125,9 @@ static void gmac_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int gmac_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *rp)
|
||||
struct ethtool_ringparam *rp,
|
||||
struct kernel_ethtool_ringparam *kernel_rp,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gemini_ethernet_port *port = netdev_priv(netdev);
|
||||
int err = 0;
|
||||
|
@ -2144,7 +2148,9 @@ static int gmac_set_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int gmac_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gemini_ethernet_port *port = netdev_priv(netdev);
|
||||
|
||||
|
@ -2156,7 +2162,9 @@ static int gmac_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int gmac_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gemini_ethernet_port *port = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -315,7 +315,9 @@ static int be_read_dump_data(struct be_adapter *adapter, u32 dump_len,
|
|||
}
|
||||
|
||||
static int be_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *et)
|
||||
struct ethtool_coalesce *et,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct be_adapter *adapter = netdev_priv(netdev);
|
||||
struct be_aic_obj *aic = &adapter->aic_obj[0];
|
||||
|
@ -338,7 +340,9 @@ static int be_get_coalesce(struct net_device *netdev,
|
|||
* eqd cmd is issued in the worker thread.
|
||||
*/
|
||||
static int be_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *et)
|
||||
struct ethtool_coalesce *et,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct be_adapter *adapter = netdev_priv(netdev);
|
||||
struct be_aic_obj *aic = &adapter->aic_obj[0];
|
||||
|
@ -679,7 +683,9 @@ static int be_get_link_ksettings(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void be_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 be_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -949,7 +949,9 @@ static void ethoc_get_regs(struct net_device *dev, struct ethtool_regs *regs,
|
|||
}
|
||||
|
||||
static void ethoc_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ethoc *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -965,7 +967,9 @@ static void ethoc_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int ethoc_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ethoc *priv = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -1181,8 +1181,11 @@ static void ftgmac100_get_drvinfo(struct net_device *netdev,
|
|||
strlcpy(info->bus_info, dev_name(&netdev->dev), sizeof(info->bus_info));
|
||||
}
|
||||
|
||||
static void ftgmac100_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static void
|
||||
ftgmac100_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ftgmac100 *priv = netdev_priv(netdev);
|
||||
|
||||
|
@ -1193,8 +1196,11 @@ static void ftgmac100_get_ringparam(struct net_device *netdev,
|
|||
ering->tx_pending = priv->tx_q_entries;
|
||||
}
|
||||
|
||||
static int ftgmac100_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static int
|
||||
ftgmac100_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ftgmac100 *priv = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -513,7 +513,9 @@ static int dpaa_get_ts_info(struct net_device *net_dev,
|
|||
}
|
||||
|
||||
static int dpaa_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c)
|
||||
struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qman_portal *portal;
|
||||
u32 period;
|
||||
|
@ -530,7 +532,9 @@ static int dpaa_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int dpaa_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c)
|
||||
struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const cpumask_t *cpus = qman_affine_cpus();
|
||||
bool needs_revert[NR_CPUS] = {false};
|
||||
|
|
|
@ -562,7 +562,9 @@ static int enetc_set_rxfh(struct net_device *ndev, const u32 *indir,
|
|||
}
|
||||
|
||||
static void enetc_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
|
||||
|
@ -585,7 +587,9 @@ static void enetc_get_ringparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int enetc_get_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ic)
|
||||
struct ethtool_coalesce *ic,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct enetc_int_vector *v = priv->int_vector[0];
|
||||
|
@ -602,7 +606,9 @@ static int enetc_get_coalesce(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int enetc_set_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ic)
|
||||
struct ethtool_coalesce *ic,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
u32 rx_ictt, tx_ictt;
|
||||
|
|
|
@ -2581,8 +2581,10 @@ static void fec_enet_itr_coal_set(struct net_device *ndev)
|
|||
}
|
||||
}
|
||||
|
||||
static int
|
||||
fec_enet_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *ec)
|
||||
static int fec_enet_get_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct fec_enet_private *fep = netdev_priv(ndev);
|
||||
|
||||
|
@ -2598,8 +2600,10 @@ fec_enet_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *ec)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
fec_enet_set_coalesce(struct net_device *ndev, struct ethtool_coalesce *ec)
|
||||
static int fec_enet_set_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct fec_enet_private *fep = netdev_priv(ndev);
|
||||
struct device *dev = &fep->pdev->dev;
|
||||
|
@ -2651,7 +2655,7 @@ static void fec_enet_itr_coal_init(struct net_device *ndev)
|
|||
ec.tx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT;
|
||||
ec.tx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT;
|
||||
|
||||
fec_enet_set_coalesce(ndev, &ec);
|
||||
fec_enet_set_coalesce(ndev, &ec, NULL, NULL);
|
||||
}
|
||||
|
||||
static int fec_enet_get_tunable(struct net_device *netdev,
|
||||
|
|
|
@ -243,7 +243,9 @@ static unsigned int gfar_ticks2usecs(struct gfar_private *priv,
|
|||
/* Get the coalescing parameters, and put them in the cvals
|
||||
* structure. */
|
||||
static int gfar_gcoalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *cvals)
|
||||
struct ethtool_coalesce *cvals,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gfar_private *priv = netdev_priv(dev);
|
||||
struct gfar_priv_rx_q *rx_queue = NULL;
|
||||
|
@ -280,7 +282,9 @@ static int gfar_gcoalesce(struct net_device *dev,
|
|||
* in order for coalescing to be active
|
||||
*/
|
||||
static int gfar_scoalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *cvals)
|
||||
struct ethtool_coalesce *cvals,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gfar_private *priv = netdev_priv(dev);
|
||||
int i, err = 0;
|
||||
|
@ -368,7 +372,9 @@ static int gfar_scoalesce(struct net_device *dev,
|
|||
* rx, rx_mini, and rx_jumbo rings are the same size, as mini and
|
||||
* jumbo are ignored by the driver */
|
||||
static void gfar_gringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *rvals)
|
||||
struct ethtool_ringparam *rvals,
|
||||
struct kernel_ethtool_ringparam *kernel_rvals,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gfar_private *priv = netdev_priv(dev);
|
||||
struct gfar_priv_tx_q *tx_queue = NULL;
|
||||
|
@ -395,7 +401,9 @@ static void gfar_gringparam(struct net_device *dev,
|
|||
* necessary so that we don't mess things up while we're in motion.
|
||||
*/
|
||||
static int gfar_sringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *rvals)
|
||||
struct ethtool_ringparam *rvals,
|
||||
struct kernel_ethtool_ringparam *kernel_rvals,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gfar_private *priv = netdev_priv(dev);
|
||||
int err = 0, i;
|
||||
|
|
|
@ -207,7 +207,9 @@ uec_get_regs(struct net_device *netdev,
|
|||
|
||||
static void
|
||||
uec_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 ucc_geth_private *ugeth = netdev_priv(netdev);
|
||||
struct ucc_geth_info *ug_info = ugeth->ug_info;
|
||||
|
@ -226,7 +228,9 @@ uec_get_ringparam(struct net_device *netdev,
|
|||
|
||||
static int
|
||||
uec_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 ucc_geth_private *ugeth = netdev_priv(netdev);
|
||||
struct ucc_geth_info *ug_info = ugeth->ug_info;
|
||||
|
|
|
@ -416,7 +416,9 @@ static int gve_set_channels(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void gve_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *cmd)
|
||||
struct ethtool_ringparam *cmd,
|
||||
struct kernel_ethtool_ringparam *kernel_cmd,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct gve_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -796,7 +796,9 @@ static void hip04_tx_timeout_task(struct work_struct *work)
|
|||
}
|
||||
|
||||
static int hip04_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hip04_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
@ -807,7 +809,9 @@ static int hip04_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int hip04_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hip04_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -663,9 +663,13 @@ static void hns_nic_get_drvinfo(struct net_device *net_dev,
|
|||
* hns_get_ringparam - get ring parameter
|
||||
* @net_dev: net device
|
||||
* @param: ethtool parameter
|
||||
* @kernel_param: ethtool external parameter
|
||||
* @extack: netlink extended ACK report struct
|
||||
*/
|
||||
static void hns_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hns_nic_priv *priv = netdev_priv(net_dev);
|
||||
struct hnae_ae_ops *ops;
|
||||
|
@ -730,11 +734,15 @@ static int hns_set_pauseparam(struct net_device *net_dev,
|
|||
* hns_get_coalesce - get coalesce info.
|
||||
* @net_dev: net device
|
||||
* @ec: coalesce info.
|
||||
* @kernel_coal: ethtool CQE mode setting structure
|
||||
* @extack: extack for reporting error messages
|
||||
*
|
||||
* Return 0 on success, negative on failure.
|
||||
*/
|
||||
static int hns_get_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hns_nic_priv *priv = netdev_priv(net_dev);
|
||||
struct hnae_ae_ops *ops;
|
||||
|
@ -774,11 +782,15 @@ static int hns_get_coalesce(struct net_device *net_dev,
|
|||
* hns_set_coalesce - set coalesce info.
|
||||
* @net_dev: net device
|
||||
* @ec: coalesce info.
|
||||
* @kernel_coal: ethtool CQE mode setting structure
|
||||
* @extack: extack for reporting error messages
|
||||
*
|
||||
* Return 0 on success, negative on failure.
|
||||
*/
|
||||
static int hns_set_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hns_nic_priv *priv = netdev_priv(net_dev);
|
||||
struct hnae_ae_ops *ops;
|
||||
|
|
|
@ -626,7 +626,9 @@ static u32 hns3_get_link(struct net_device *netdev)
|
|||
}
|
||||
|
||||
static void hns3_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hns3_nic_priv *priv = netdev_priv(netdev);
|
||||
struct hnae3_handle *h = priv->ae_handle;
|
||||
|
@ -1010,7 +1012,9 @@ static int hns3_check_ringparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int hns3_set_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hns3_nic_priv *priv = netdev_priv(ndev);
|
||||
struct hnae3_handle *h = priv->ae_handle;
|
||||
|
@ -1139,7 +1143,9 @@ static void hns3_get_channels(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int hns3_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *cmd)
|
||||
struct ethtool_coalesce *cmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hns3_nic_priv *priv = netdev_priv(netdev);
|
||||
struct hns3_enet_coalesce *tx_coal = &priv->tx_coal;
|
||||
|
@ -1321,7 +1327,9 @@ static void hns3_set_coalesce_per_queue(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int hns3_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *cmd)
|
||||
struct ethtool_coalesce *cmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct hnae3_handle *h = hns3_get_handle(netdev);
|
||||
struct hns3_nic_priv *priv = netdev_priv(netdev);
|
||||
|
|
|
@ -549,7 +549,9 @@ static void hinic_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void hinic_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 hinic_dev *nic_dev = netdev_priv(netdev);
|
||||
|
||||
|
@ -582,7 +584,9 @@ static int check_ringparam_valid(struct hinic_dev *nic_dev,
|
|||
}
|
||||
|
||||
static int hinic_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 hinic_dev *nic_dev = netdev_priv(netdev);
|
||||
u16 new_sq_depth, new_rq_depth;
|
||||
|
@ -795,13 +799,17 @@ static int __hinic_set_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int hinic_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __hinic_get_coalesce(netdev, coal, COALESCE_ALL_QUEUE);
|
||||
}
|
||||
|
||||
static int hinic_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __hinic_set_coalesce(netdev, coal, COALESCE_ALL_QUEUE);
|
||||
}
|
||||
|
|
|
@ -2137,8 +2137,11 @@ emac_ethtool_set_link_ksettings(struct net_device *ndev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void emac_ethtool_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *rp)
|
||||
static void
|
||||
emac_ethtool_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *rp,
|
||||
struct kernel_ethtool_ringparam *kernel_rp,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
rp->rx_max_pending = rp->rx_pending = NUM_RX_BUFF;
|
||||
rp->tx_max_pending = rp->tx_pending = NUM_TX_BUFF;
|
||||
|
|
|
@ -3094,7 +3094,9 @@ static u32 ibmvnic_get_link(struct net_device *netdev)
|
|||
}
|
||||
|
||||
static void ibmvnic_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 ibmvnic_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -3114,7 +3116,9 @@ static void ibmvnic_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ibmvnic_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 ibmvnic_adapter *adapter = netdev_priv(netdev);
|
||||
int ret;
|
||||
|
|
|
@ -2549,7 +2549,9 @@ static int e100_set_eeprom(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void e100_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 nic *nic = netdev_priv(netdev);
|
||||
struct param_range *rfds = &nic->params.rfds;
|
||||
|
@ -2562,7 +2564,9 @@ static void e100_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e100_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 nic *nic = netdev_priv(netdev);
|
||||
struct param_range *rfds = &nic->params.rfds;
|
||||
|
|
|
@ -539,7 +539,9 @@ static void e1000_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void e1000_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 e1000_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
|
@ -556,7 +558,9 @@ static void e1000_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e1000_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 e1000_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
|
@ -1739,7 +1743,9 @@ static int e1000_set_phys_id(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e1000_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct e1000_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -1755,7 +1761,9 @@ static int e1000_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e1000_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct e1000_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
|
|
|
@ -655,7 +655,9 @@ static void e1000_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void e1000_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 e1000_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -666,7 +668,9 @@ static void e1000_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e1000_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 e1000_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_ring *temp_tx = NULL, *temp_rx = NULL;
|
||||
|
@ -1991,7 +1995,9 @@ static int e1000_set_phys_id(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e1000_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct e1000_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -2004,7 +2010,9 @@ static int e1000_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int e1000_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct e1000_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -502,7 +502,9 @@ static void fm10k_set_msglevel(struct net_device *netdev, u32 data)
|
|||
}
|
||||
|
||||
static void fm10k_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 fm10k_intfc *interface = netdev_priv(netdev);
|
||||
|
||||
|
@ -517,7 +519,9 @@ static void fm10k_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int fm10k_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 fm10k_intfc *interface = netdev_priv(netdev);
|
||||
struct fm10k_ring *temp_ring;
|
||||
|
@ -632,7 +636,9 @@ clear_reset:
|
|||
}
|
||||
|
||||
static int fm10k_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct fm10k_intfc *interface = netdev_priv(dev);
|
||||
|
||||
|
@ -646,7 +652,9 @@ static int fm10k_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int fm10k_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct fm10k_intfc *interface = netdev_priv(dev);
|
||||
u16 tx_itr, rx_itr;
|
||||
|
|
|
@ -1916,7 +1916,9 @@ static void i40e_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void i40e_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 i40e_netdev_priv *np = netdev_priv(netdev);
|
||||
struct i40e_pf *pf = np->vsi->back;
|
||||
|
@ -1944,7 +1946,9 @@ static bool i40e_active_tx_ring_index(struct i40e_vsi *vsi, u16 index)
|
|||
}
|
||||
|
||||
static int i40e_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 i40e_ring *tx_rings = NULL, *rx_rings = NULL;
|
||||
struct i40e_netdev_priv *np = netdev_priv(netdev);
|
||||
|
@ -2812,13 +2816,17 @@ static int __i40e_get_coalesce(struct net_device *netdev,
|
|||
* i40e_get_coalesce - get a netdev's coalesce settings
|
||||
* @netdev: the netdev to check
|
||||
* @ec: ethtool coalesce data structure
|
||||
* @kernel_coal: ethtool CQE mode setting structure
|
||||
* @extack: extack for reporting error messages
|
||||
*
|
||||
* Gets the coalesce settings for a particular netdev. Note that if user has
|
||||
* modified per-queue settings, this only guarantees to represent queue 0. See
|
||||
* __i40e_get_coalesce for more details.
|
||||
**/
|
||||
static int i40e_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __i40e_get_coalesce(netdev, ec, -1);
|
||||
}
|
||||
|
@ -2986,11 +2994,15 @@ static int __i40e_set_coalesce(struct net_device *netdev,
|
|||
* i40e_set_coalesce - set coalesce settings for every queue on the netdev
|
||||
* @netdev: the netdev to change
|
||||
* @ec: ethtool coalesce settings
|
||||
* @kernel_coal: ethtool CQE mode setting structure
|
||||
* @extack: extack for reporting error messages
|
||||
*
|
||||
* This will set each queue to the same coalesce settings.
|
||||
**/
|
||||
static int i40e_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __i40e_set_coalesce(netdev, ec, -1);
|
||||
}
|
||||
|
|
|
@ -580,12 +580,16 @@ static void iavf_get_drvinfo(struct net_device *netdev,
|
|||
* iavf_get_ringparam - Get ring parameters
|
||||
* @netdev: network interface device structure
|
||||
* @ring: ethtool ringparam structure
|
||||
* @kernel_ring: ethtool extenal ringparam structure
|
||||
* @extack: netlink extended ACK report struct
|
||||
*
|
||||
* Returns current ring parameters. TX and RX rings are reported separately,
|
||||
* but the number of rings is not reported.
|
||||
**/
|
||||
static void iavf_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 iavf_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -599,12 +603,16 @@ static void iavf_get_ringparam(struct net_device *netdev,
|
|||
* iavf_set_ringparam - Set ring parameters
|
||||
* @netdev: network interface device structure
|
||||
* @ring: ethtool ringparam structure
|
||||
* @kernel_ring: ethtool external ringparam structure
|
||||
* @extack: netlink extended ACK report struct
|
||||
*
|
||||
* Sets ring parameters. TX and RX rings are controlled separately, but the
|
||||
* number of rings is not specified, so all rings get the same settings.
|
||||
**/
|
||||
static int iavf_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 iavf_adapter *adapter = netdev_priv(netdev);
|
||||
u32 new_rx_count, new_tx_count;
|
||||
|
@ -685,6 +693,8 @@ static int __iavf_get_coalesce(struct net_device *netdev,
|
|||
* iavf_get_coalesce - Get interrupt coalescing settings
|
||||
* @netdev: network interface device structure
|
||||
* @ec: ethtool coalesce structure
|
||||
* @kernel_coal: ethtool CQE mode setting structure
|
||||
* @extack: extack for reporting error messages
|
||||
*
|
||||
* Returns current coalescing settings. This is referred to elsewhere in the
|
||||
* driver as Interrupt Throttle Rate, as this is how the hardware describes
|
||||
|
@ -692,7 +702,9 @@ static int __iavf_get_coalesce(struct net_device *netdev,
|
|||
* only represents the settings of queue 0.
|
||||
**/
|
||||
static int iavf_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __iavf_get_coalesce(netdev, ec, -1);
|
||||
}
|
||||
|
@ -804,11 +816,15 @@ static int __iavf_set_coalesce(struct net_device *netdev,
|
|||
* iavf_set_coalesce - Set interrupt coalescing settings
|
||||
* @netdev: network interface device structure
|
||||
* @ec: ethtool coalesce structure
|
||||
* @kernel_coal: ethtool CQE mode setting structure
|
||||
* @extack: extack for reporting error messages
|
||||
*
|
||||
* Change current coalescing settings for every queue.
|
||||
**/
|
||||
static int iavf_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __iavf_set_coalesce(netdev, ec, -1);
|
||||
}
|
||||
|
|
|
@ -2656,7 +2656,9 @@ ice_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd,
|
|||
}
|
||||
|
||||
static void
|
||||
ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
|
||||
ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ice_netdev_priv *np = netdev_priv(netdev);
|
||||
struct ice_vsi *vsi = np->vsi;
|
||||
|
@ -2674,7 +2676,9 @@ ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
|
|||
}
|
||||
|
||||
static int
|
||||
ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
|
||||
ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ice_netdev_priv *np = netdev_priv(netdev);
|
||||
struct ice_tx_ring *xdp_rings = NULL;
|
||||
|
@ -3571,8 +3575,10 @@ __ice_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
ice_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec)
|
||||
static int ice_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __ice_get_coalesce(netdev, ec, -1);
|
||||
}
|
||||
|
@ -3794,8 +3800,10 @@ set_complete:
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
ice_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec)
|
||||
static int ice_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __ice_set_coalesce(netdev, ec, -1);
|
||||
}
|
||||
|
|
|
@ -864,7 +864,9 @@ static void igb_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void igb_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 igb_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -875,7 +877,9 @@ static void igb_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igb_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 igb_adapter *adapter = netdev_priv(netdev);
|
||||
struct igb_ring *temp_ring;
|
||||
|
@ -2178,7 +2182,9 @@ static int igb_set_phys_id(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igb_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||
int i;
|
||||
|
@ -2234,7 +2240,9 @@ static int igb_set_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igb_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -175,7 +175,9 @@ static void igbvf_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void igbvf_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 igbvf_adapter *adapter = netdev_priv(netdev);
|
||||
struct igbvf_ring *tx_ring = adapter->tx_ring;
|
||||
|
@ -188,7 +190,9 @@ static void igbvf_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igbvf_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 igbvf_adapter *adapter = netdev_priv(netdev);
|
||||
struct igbvf_ring *temp_ring;
|
||||
|
@ -314,7 +318,9 @@ static int igbvf_set_wol(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igbvf_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igbvf_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -327,7 +333,9 @@ static int igbvf_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igbvf_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igbvf_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
|
|
|
@ -567,8 +567,11 @@ static int igc_ethtool_set_eeprom(struct net_device *netdev,
|
|||
return ret_val;
|
||||
}
|
||||
|
||||
static void igc_ethtool_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static void
|
||||
igc_ethtool_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igc_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -578,8 +581,11 @@ static void igc_ethtool_get_ringparam(struct net_device *netdev,
|
|||
ring->tx_pending = adapter->tx_ring_count;
|
||||
}
|
||||
|
||||
static int igc_ethtool_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static int
|
||||
igc_ethtool_set_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igc_adapter *adapter = netdev_priv(netdev);
|
||||
struct igc_ring *temp_ring;
|
||||
|
@ -862,7 +868,9 @@ static void igc_ethtool_get_stats(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igc_ethtool_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igc_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -882,7 +890,9 @@ static int igc_ethtool_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int igc_ethtool_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct igc_adapter *adapter = netdev_priv(netdev);
|
||||
int i;
|
||||
|
|
|
@ -464,7 +464,9 @@ ixgb_get_drvinfo(struct net_device *netdev,
|
|||
|
||||
static void
|
||||
ixgb_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 ixgb_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgb_desc_ring *txdr = &adapter->tx_ring;
|
||||
|
@ -478,7 +480,9 @@ ixgb_get_ringparam(struct net_device *netdev,
|
|||
|
||||
static int
|
||||
ixgb_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 ixgb_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgb_desc_ring *txdr = &adapter->tx_ring;
|
||||
|
|
|
@ -1119,7 +1119,9 @@ static void ixgbe_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void ixgbe_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 ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgbe_ring *tx_ring = adapter->tx_ring[0];
|
||||
|
@ -1132,7 +1134,9 @@ static void ixgbe_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ixgbe_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 ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgbe_ring *temp_ring;
|
||||
|
@ -2358,7 +2362,9 @@ static int ixgbe_set_phys_id(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ixgbe_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -2412,7 +2418,9 @@ static bool ixgbe_update_rsc(struct ixgbe_adapter *adapter)
|
|||
}
|
||||
|
||||
static int ixgbe_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgbe_q_vector *q_vector;
|
||||
|
|
|
@ -225,7 +225,9 @@ static void ixgbevf_get_drvinfo(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void ixgbevf_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 ixgbevf_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -236,7 +238,9 @@ static void ixgbevf_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ixgbevf_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 ixgbevf_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgbevf_ring *tx_ring = NULL, *rx_ring = NULL;
|
||||
|
@ -787,7 +791,9 @@ static int ixgbevf_nway_reset(struct net_device *netdev)
|
|||
}
|
||||
|
||||
static int ixgbevf_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -811,7 +817,9 @@ static int ixgbevf_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ixgbevf_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
|
||||
struct ixgbevf_q_vector *q_vector;
|
||||
|
|
|
@ -2400,8 +2400,10 @@ jme_get_regs(struct net_device *netdev, struct ethtool_regs *regs, void *p)
|
|||
mdio_memcpy(jme, p32, JME_PHY_REG_NR);
|
||||
}
|
||||
|
||||
static int
|
||||
jme_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecmd)
|
||||
static int jme_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct jme_adapter *jme = netdev_priv(netdev);
|
||||
|
||||
|
@ -2437,8 +2439,10 @@ jme_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecmd)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
jme_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecmd)
|
||||
static int jme_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct jme_adapter *jme = netdev_priv(netdev);
|
||||
struct dynpcc_info *dpi = &(jme->dpi);
|
||||
|
|
|
@ -1611,8 +1611,10 @@ static void mv643xx_eth_get_drvinfo(struct net_device *dev,
|
|||
strlcpy(drvinfo->bus_info, "platform", sizeof(drvinfo->bus_info));
|
||||
}
|
||||
|
||||
static int
|
||||
mv643xx_eth_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
||||
static int mv643xx_eth_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mv643xx_eth_private *mp = netdev_priv(dev);
|
||||
|
||||
|
@ -1622,8 +1624,10 @@ mv643xx_eth_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
mv643xx_eth_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
||||
static int mv643xx_eth_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mv643xx_eth_private *mp = netdev_priv(dev);
|
||||
|
||||
|
@ -1634,7 +1638,9 @@ mv643xx_eth_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
|||
}
|
||||
|
||||
static void
|
||||
mv643xx_eth_get_ringparam(struct net_device *dev, struct ethtool_ringparam *er)
|
||||
mv643xx_eth_get_ringparam(struct net_device *dev, struct ethtool_ringparam *er,
|
||||
struct kernel_ethtool_ringparam *kernel_er,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mv643xx_eth_private *mp = netdev_priv(dev);
|
||||
|
||||
|
@ -1646,7 +1652,9 @@ mv643xx_eth_get_ringparam(struct net_device *dev, struct ethtool_ringparam *er)
|
|||
}
|
||||
|
||||
static int
|
||||
mv643xx_eth_set_ringparam(struct net_device *dev, struct ethtool_ringparam *er)
|
||||
mv643xx_eth_set_ringparam(struct net_device *dev, struct ethtool_ringparam *er,
|
||||
struct kernel_ethtool_ringparam *kernel_er,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mv643xx_eth_private *mp = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -4496,8 +4496,11 @@ static int mvneta_ethtool_nway_reset(struct net_device *dev)
|
|||
}
|
||||
|
||||
/* Set interrupt coalescing for ethtools */
|
||||
static int mvneta_ethtool_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c)
|
||||
static int
|
||||
mvneta_ethtool_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvneta_port *pp = netdev_priv(dev);
|
||||
int queue;
|
||||
|
@ -4520,8 +4523,11 @@ static int mvneta_ethtool_set_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
/* get coalescing for ethtools */
|
||||
static int mvneta_ethtool_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c)
|
||||
static int
|
||||
mvneta_ethtool_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvneta_port *pp = netdev_priv(dev);
|
||||
|
||||
|
@ -4545,8 +4551,11 @@ static void mvneta_ethtool_get_drvinfo(struct net_device *dev,
|
|||
}
|
||||
|
||||
|
||||
static void mvneta_ethtool_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static void
|
||||
mvneta_ethtool_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvneta_port *pp = netdev_priv(netdev);
|
||||
|
||||
|
@ -4556,8 +4565,11 @@ static void mvneta_ethtool_get_ringparam(struct net_device *netdev,
|
|||
ring->tx_pending = pp->tx_ring_size;
|
||||
}
|
||||
|
||||
static int mvneta_ethtool_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static int
|
||||
mvneta_ethtool_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvneta_port *pp = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -5367,8 +5367,11 @@ static int mvpp2_ethtool_nway_reset(struct net_device *dev)
|
|||
}
|
||||
|
||||
/* Set interrupt coalescing for ethtools */
|
||||
static int mvpp2_ethtool_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c)
|
||||
static int
|
||||
mvpp2_ethtool_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvpp2_port *port = netdev_priv(dev);
|
||||
int queue;
|
||||
|
@ -5400,8 +5403,11 @@ static int mvpp2_ethtool_set_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
/* get coalescing for ethtools */
|
||||
static int mvpp2_ethtool_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c)
|
||||
static int
|
||||
mvpp2_ethtool_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *c,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvpp2_port *port = netdev_priv(dev);
|
||||
|
||||
|
@ -5423,8 +5429,11 @@ static void mvpp2_ethtool_get_drvinfo(struct net_device *dev,
|
|||
sizeof(drvinfo->bus_info));
|
||||
}
|
||||
|
||||
static void mvpp2_ethtool_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static void
|
||||
mvpp2_ethtool_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvpp2_port *port = netdev_priv(dev);
|
||||
|
||||
|
@ -5434,8 +5443,11 @@ static void mvpp2_ethtool_get_ringparam(struct net_device *dev,
|
|||
ring->tx_pending = port->tx_ring_size;
|
||||
}
|
||||
|
||||
static int mvpp2_ethtool_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static int
|
||||
mvpp2_ethtool_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mvpp2_port *port = netdev_priv(dev);
|
||||
u16 prev_rx_ring_size = port->rx_ring_size;
|
||||
|
|
|
@ -359,7 +359,9 @@ static int otx2_set_pauseparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void otx2_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 otx2_nic *pfvf = netdev_priv(netdev);
|
||||
struct otx2_qset *qs = &pfvf->qset;
|
||||
|
@ -371,7 +373,9 @@ static void otx2_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int otx2_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 otx2_nic *pfvf = netdev_priv(netdev);
|
||||
bool if_up = netif_running(netdev);
|
||||
|
@ -415,7 +419,9 @@ static int otx2_set_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int otx2_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *cmd)
|
||||
struct ethtool_coalesce *cmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct otx2_nic *pfvf = netdev_priv(netdev);
|
||||
struct otx2_hw *hw = &pfvf->hw;
|
||||
|
@ -429,7 +435,9 @@ static int otx2_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int otx2_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct otx2_nic *pfvf = netdev_priv(netdev);
|
||||
struct otx2_hw *hw = &pfvf->hw;
|
||||
|
|
|
@ -492,7 +492,9 @@ static void skge_get_strings(struct net_device *dev, u32 stringset, u8 *data)
|
|||
}
|
||||
|
||||
static void skge_get_ring_param(struct net_device *dev,
|
||||
struct ethtool_ringparam *p)
|
||||
struct ethtool_ringparam *p,
|
||||
struct kernel_ethtool_ringparam *kernel_p,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct skge_port *skge = netdev_priv(dev);
|
||||
|
||||
|
@ -504,7 +506,9 @@ static void skge_get_ring_param(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int skge_set_ring_param(struct net_device *dev,
|
||||
struct ethtool_ringparam *p)
|
||||
struct ethtool_ringparam *p,
|
||||
struct kernel_ethtool_ringparam *kernel_p,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct skge_port *skge = netdev_priv(dev);
|
||||
int err = 0;
|
||||
|
@ -615,7 +619,9 @@ static inline u32 skge_usecs2clk(const struct skge_hw *hw, u32 usec)
|
|||
}
|
||||
|
||||
static int skge_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct skge_port *skge = netdev_priv(dev);
|
||||
struct skge_hw *hw = skge->hw;
|
||||
|
@ -639,7 +645,9 @@ static int skge_get_coalesce(struct net_device *dev,
|
|||
|
||||
/* Note: interrupt timer is per board, but can turn on/off per port */
|
||||
static int skge_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct skge_port *skge = netdev_priv(dev);
|
||||
struct skge_hw *hw = skge->hw;
|
||||
|
|
|
@ -4052,7 +4052,9 @@ static int sky2_set_pauseparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int sky2_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sky2_port *sky2 = netdev_priv(dev);
|
||||
struct sky2_hw *hw = sky2->hw;
|
||||
|
@ -4087,7 +4089,9 @@ static int sky2_get_coalesce(struct net_device *dev,
|
|||
|
||||
/* Note: this affect both ports */
|
||||
static int sky2_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ecmd)
|
||||
struct ethtool_coalesce *ecmd,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sky2_port *sky2 = netdev_priv(dev);
|
||||
struct sky2_hw *hw = sky2->hw;
|
||||
|
@ -4145,7 +4149,9 @@ static unsigned long roundup_ring_size(unsigned long pending)
|
|||
}
|
||||
|
||||
static void sky2_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 sky2_port *sky2 = netdev_priv(dev);
|
||||
|
||||
|
@ -4157,7 +4163,9 @@ static void sky2_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int sky2_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 sky2_port *sky2 = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -998,7 +998,9 @@ mlx4_en_set_link_ksettings(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int mlx4_en_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx4_en_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -1020,7 +1022,9 @@ static int mlx4_en_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int mlx4_en_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx4_en_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -1134,7 +1138,9 @@ static void mlx4_en_get_pauseparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int mlx4_en_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx4_en_priv *priv = netdev_priv(dev);
|
||||
struct mlx4_en_dev *mdev = priv->mdev;
|
||||
|
@ -1201,7 +1207,9 @@ out:
|
|||
}
|
||||
|
||||
static void mlx4_en_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx4_en_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -316,7 +316,9 @@ void mlx5e_ethtool_get_ringparam(struct mlx5e_priv *priv,
|
|||
}
|
||||
|
||||
static void mlx5e_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -382,7 +384,9 @@ unlock:
|
|||
}
|
||||
|
||||
static int mlx5e_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -512,7 +516,9 @@ int mlx5e_ethtool_get_coalesce(struct mlx5e_priv *priv,
|
|||
}
|
||||
|
||||
static int mlx5e_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
@ -630,7 +636,9 @@ int mlx5e_ethtool_set_coalesce(struct mlx5e_priv *priv,
|
|||
}
|
||||
|
||||
static int mlx5e_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -217,16 +217,22 @@ static int mlx5e_rep_get_sset_count(struct net_device *dev, int sset)
|
|||
}
|
||||
}
|
||||
|
||||
static void mlx5e_rep_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
static void
|
||||
mlx5e_rep_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(dev);
|
||||
|
||||
mlx5e_ethtool_get_ringparam(priv, param);
|
||||
}
|
||||
|
||||
static int mlx5e_rep_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
static int
|
||||
mlx5e_rep_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -250,7 +256,9 @@ static int mlx5e_rep_set_channels(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int mlx5e_rep_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
@ -258,7 +266,9 @@ static int mlx5e_rep_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int mlx5e_rep_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -67,7 +67,9 @@ static void mlx5i_get_ethtool_stats(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int mlx5i_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = mlx5i_epriv(dev);
|
||||
|
||||
|
@ -75,7 +77,9 @@ static int mlx5i_set_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static void mlx5i_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *param)
|
||||
struct ethtool_ringparam *param,
|
||||
struct kernel_ethtool_ringparam *kernel_param,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = mlx5i_epriv(dev);
|
||||
|
||||
|
@ -99,7 +103,9 @@ static void mlx5i_get_channels(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int mlx5i_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = mlx5i_epriv(netdev);
|
||||
|
||||
|
@ -107,7 +113,9 @@ static int mlx5i_set_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int mlx5i_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlx5e_priv *priv = mlx5i_epriv(netdev);
|
||||
|
||||
|
|
|
@ -33,8 +33,11 @@ static void mlxbf_gige_get_regs(struct net_device *netdev,
|
|||
memcpy_fromio(p, priv->base, MLXBF_GIGE_MMIO_REG_SZ);
|
||||
}
|
||||
|
||||
static void mlxbf_gige_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static void
|
||||
mlxbf_gige_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct mlxbf_gige *priv = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -6317,11 +6317,15 @@ static int netdev_set_pauseparam(struct net_device *dev,
|
|||
* netdev_get_ringparam - get tx/rx ring parameters
|
||||
* @dev: Network device.
|
||||
* @ring: Ethtool RING settings data structure.
|
||||
* @kernel_ring: Ethtool external RING settings data structure.
|
||||
* @extack: Netlink handle.
|
||||
*
|
||||
* This procedure returns the TX/RX ring settings.
|
||||
*/
|
||||
static void netdev_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct dev_priv *priv = netdev_priv(dev);
|
||||
struct dev_info *hw_priv = priv->adapter;
|
||||
|
|
|
@ -1651,8 +1651,10 @@ myri10ge_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *info)
|
|||
strlcpy(info->bus_info, pci_name(mgp->pdev), sizeof(info->bus_info));
|
||||
}
|
||||
|
||||
static int
|
||||
myri10ge_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *coal)
|
||||
static int myri10ge_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct myri10ge_priv *mgp = netdev_priv(netdev);
|
||||
|
||||
|
@ -1660,8 +1662,10 @@ myri10ge_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *coal)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
myri10ge_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *coal)
|
||||
static int myri10ge_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct myri10ge_priv *mgp = netdev_priv(netdev);
|
||||
|
||||
|
@ -1698,7 +1702,9 @@ myri10ge_set_pauseparam(struct net_device *netdev,
|
|||
|
||||
static void
|
||||
myri10ge_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 myri10ge_priv *mgp = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -5461,8 +5461,11 @@ static int s2io_ethtool_set_led(struct net_device *dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void s2io_ethtool_gringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static void
|
||||
s2io_ethtool_gringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct s2io_nic *sp = netdev_priv(dev);
|
||||
int i, tx_desc_count = 0, rx_desc_count = 0;
|
||||
|
|
|
@ -380,7 +380,9 @@ err_bad_set:
|
|||
}
|
||||
|
||||
static void nfp_net_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 nfp_net *nn = netdev_priv(netdev);
|
||||
|
||||
|
@ -405,7 +407,9 @@ static int nfp_net_set_ring_size(struct nfp_net *nn, u32 rxd_cnt, u32 txd_cnt)
|
|||
}
|
||||
|
||||
static int nfp_net_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 nfp_net *nn = netdev_priv(netdev);
|
||||
u32 rxd_cnt, txd_cnt;
|
||||
|
@ -1078,7 +1082,9 @@ static void nfp_net_get_regs(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int nfp_net_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nfp_net *nn = netdev_priv(netdev);
|
||||
|
||||
|
@ -1327,7 +1333,9 @@ exit_close_nsp:
|
|||
}
|
||||
|
||||
static int nfp_net_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nfp_net *nn = netdev_priv(netdev);
|
||||
unsigned int factor;
|
||||
|
|
|
@ -993,8 +993,11 @@ static void nixge_ethtools_get_drvinfo(struct net_device *ndev,
|
|||
strlcpy(ed->bus_info, "platform", sizeof(ed->bus_info));
|
||||
}
|
||||
|
||||
static int nixge_ethtools_get_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ecoalesce)
|
||||
static int
|
||||
nixge_ethtools_get_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ecoalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nixge_priv *priv = netdev_priv(ndev);
|
||||
u32 regval = 0;
|
||||
|
@ -1008,8 +1011,11 @@ static int nixge_ethtools_get_coalesce(struct net_device *ndev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int nixge_ethtools_set_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ecoalesce)
|
||||
static int
|
||||
nixge_ethtools_set_coalesce(struct net_device *ndev,
|
||||
struct ethtool_coalesce *ecoalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nixge_priv *priv = netdev_priv(ndev);
|
||||
|
||||
|
|
|
@ -4651,7 +4651,10 @@ static int nv_nway_reset(struct net_device *dev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void nv_get_ringparam(struct net_device *dev, struct ethtool_ringparam* ring)
|
||||
static void nv_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct fe_priv *np = netdev_priv(dev);
|
||||
|
||||
|
@ -4662,7 +4665,10 @@ static void nv_get_ringparam(struct net_device *dev, struct ethtool_ringparam* r
|
|||
ring->tx_pending = np->tx_ring_size;
|
||||
}
|
||||
|
||||
static int nv_set_ringparam(struct net_device *dev, struct ethtool_ringparam* ring)
|
||||
static int nv_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct fe_priv *np = netdev_priv(dev);
|
||||
u8 __iomem *base = get_hwbase(dev);
|
||||
|
|
|
@ -270,9 +270,13 @@ static int pch_gbe_nway_reset(struct net_device *netdev)
|
|||
* pch_gbe_get_ringparam - Report ring sizes
|
||||
* @netdev: Network interface device structure
|
||||
* @ring: Ring param structure
|
||||
* @kernel_ring: Ring external param structure
|
||||
* @extack: netlink handle
|
||||
*/
|
||||
static void pch_gbe_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 pch_gbe_adapter *adapter = netdev_priv(netdev);
|
||||
struct pch_gbe_tx_ring *txdr = adapter->tx_ring;
|
||||
|
@ -288,12 +292,16 @@ static void pch_gbe_get_ringparam(struct net_device *netdev,
|
|||
* pch_gbe_set_ringparam - Set ring sizes
|
||||
* @netdev: Network interface device structure
|
||||
* @ring: Ring param structure
|
||||
* @kernel_ring: Ring external param structure
|
||||
* @extack: netlink handle
|
||||
* Returns
|
||||
* 0: Successful.
|
||||
* Negative value: Failed.
|
||||
*/
|
||||
static int pch_gbe_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 pch_gbe_adapter *adapter = netdev_priv(netdev);
|
||||
struct pch_gbe_tx_ring *txdr, *tx_old;
|
||||
|
|
|
@ -69,7 +69,9 @@ pasemi_mac_ethtool_set_msglevel(struct net_device *netdev,
|
|||
|
||||
static void
|
||||
pasemi_mac_ethtool_get_ringparam(struct net_device *netdev,
|
||||
struct ethtool_ringparam *ering)
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct pasemi_mac *mac = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -406,7 +406,9 @@ static int ionic_set_fecparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ionic_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ionic_lif *lif = netdev_priv(netdev);
|
||||
|
||||
|
@ -424,7 +426,9 @@ static int ionic_get_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ionic_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ionic_lif *lif = netdev_priv(netdev);
|
||||
struct ionic_identity *ident;
|
||||
|
@ -509,7 +513,9 @@ static int ionic_set_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static void ionic_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 ionic_lif *lif = netdev_priv(netdev);
|
||||
|
||||
|
@ -520,7 +526,9 @@ static void ionic_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int ionic_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 ionic_lif *lif = netdev_priv(netdev);
|
||||
struct ionic_queue_params qparam;
|
||||
|
|
|
@ -392,7 +392,9 @@ netxen_nic_get_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom,
|
|||
|
||||
static void
|
||||
netxen_nic_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct netxen_adapter *adapter = netdev_priv(dev);
|
||||
|
||||
|
@ -430,7 +432,9 @@ netxen_validate_ringparam(u32 val, u32 min, u32 max, char *r_name)
|
|||
|
||||
static int
|
||||
netxen_nic_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct netxen_adapter *adapter = netdev_priv(dev);
|
||||
u16 max_rcv_desc = MAX_RCV_DESCRIPTORS_10G;
|
||||
|
@ -731,7 +735,9 @@ netxen_nic_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
|
|||
* firmware coalescing to default.
|
||||
*/
|
||||
static int netxen_set_intr_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ethcoal)
|
||||
struct ethtool_coalesce *ethcoal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct netxen_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
@ -775,7 +781,9 @@ static int netxen_set_intr_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int netxen_get_intr_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ethcoal)
|
||||
struct ethtool_coalesce *ethcoal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct netxen_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -589,7 +589,9 @@ int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto,
|
|||
struct flow_cls_offload *f);
|
||||
|
||||
void qede_forced_speed_maps_init(void);
|
||||
int qede_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal);
|
||||
int qede_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack);
|
||||
int qede_set_per_coalesce(struct net_device *dev, u32 queue,
|
||||
struct ethtool_coalesce *coal);
|
||||
|
||||
|
|
|
@ -760,7 +760,9 @@ static int qede_flash_device(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int qede_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *coal)
|
||||
struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
void *rx_handle = NULL, *tx_handle = NULL;
|
||||
struct qede_dev *edev = netdev_priv(dev);
|
||||
|
@ -819,7 +821,9 @@ out:
|
|||
return rc;
|
||||
}
|
||||
|
||||
int qede_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
|
||||
int qede_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qede_dev *edev = netdev_priv(dev);
|
||||
struct qede_fastpath *fp;
|
||||
|
@ -884,7 +888,9 @@ int qede_set_coalesce(struct net_device *dev, struct ethtool_coalesce *coal)
|
|||
}
|
||||
|
||||
static void qede_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 qede_dev *edev = netdev_priv(dev);
|
||||
|
||||
|
@ -895,7 +901,9 @@ static void qede_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int qede_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 qede_dev *edev = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -632,7 +632,9 @@ qlcnic_get_eeprom(struct net_device *dev, struct ethtool_eeprom *eeprom,
|
|||
|
||||
static void
|
||||
qlcnic_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qlcnic_adapter *adapter = netdev_priv(dev);
|
||||
|
||||
|
@ -663,7 +665,9 @@ qlcnic_validate_ringparam(u32 val, u32 min, u32 max, char *r_name)
|
|||
|
||||
static int
|
||||
qlcnic_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qlcnic_adapter *adapter = netdev_priv(dev);
|
||||
u16 num_rxd, num_jumbo_rxd, num_txd;
|
||||
|
@ -1527,7 +1531,9 @@ qlcnic_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
|
|||
* firmware coalescing to default.
|
||||
*/
|
||||
static int qlcnic_set_intr_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ethcoal)
|
||||
struct ethtool_coalesce *ethcoal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qlcnic_adapter *adapter = netdev_priv(netdev);
|
||||
int err;
|
||||
|
@ -1551,7 +1557,9 @@ static int qlcnic_set_intr_coalesce(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int qlcnic_get_intr_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ethcoal)
|
||||
struct ethtool_coalesce *ethcoal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qlcnic_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -133,7 +133,9 @@ static int emac_nway_reset(struct net_device *netdev)
|
|||
}
|
||||
|
||||
static void emac_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 emac_adapter *adpt = netdev_priv(netdev);
|
||||
|
||||
|
@ -144,7 +146,9 @@ static void emac_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int emac_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 emac_adapter *adpt = netdev_priv(netdev);
|
||||
|
||||
|
|
|
@ -246,7 +246,9 @@ qcaspi_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p)
|
|||
}
|
||||
|
||||
static void
|
||||
qcaspi_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring)
|
||||
qcaspi_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct qcaspi *qca = netdev_priv(dev);
|
||||
|
||||
|
@ -257,7 +259,9 @@ qcaspi_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring)
|
|||
}
|
||||
|
||||
static int
|
||||
qcaspi_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ring)
|
||||
qcaspi_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
const struct net_device_ops *ops = dev->netdev_ops;
|
||||
struct qcaspi *qca = netdev_priv(dev);
|
||||
|
|
|
@ -1388,7 +1388,9 @@ static void cp_get_drvinfo (struct net_device *dev, struct ethtool_drvinfo *info
|
|||
}
|
||||
|
||||
static void cp_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
ring->rx_max_pending = CP_RX_RING_SIZE;
|
||||
ring->tx_max_pending = CP_TX_RING_SIZE;
|
||||
|
|
|
@ -1749,7 +1749,10 @@ rtl_coalesce_info(struct rtl8169_private *tp)
|
|||
return ERR_PTR(-ELNRNG);
|
||||
}
|
||||
|
||||
static int rtl_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
||||
static int rtl_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct rtl8169_private *tp = netdev_priv(dev);
|
||||
const struct rtl_coalesce_info *ci;
|
||||
|
@ -1807,7 +1810,10 @@ static int rtl_coalesce_choose_scale(struct rtl8169_private *tp, u32 usec,
|
|||
return -ERANGE;
|
||||
}
|
||||
|
||||
static int rtl_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
|
||||
static int rtl_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct rtl8169_private *tp = netdev_priv(dev);
|
||||
u32 tx_fr = ec->tx_max_coalesced_frames;
|
||||
|
@ -1900,7 +1906,9 @@ static int rtl8169_set_eee(struct net_device *dev, struct ethtool_eee *data)
|
|||
}
|
||||
|
||||
static void rtl8169_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *data)
|
||||
struct ethtool_ringparam *data,
|
||||
struct kernel_ethtool_ringparam *kernel_data,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
data->rx_max_pending = NUM_RX_DESC;
|
||||
data->rx_pending = NUM_RX_DESC;
|
||||
|
|
|
@ -1184,7 +1184,9 @@ static void ravb_get_strings(struct net_device *ndev, u32 stringset, u8 *data)
|
|||
}
|
||||
|
||||
static void ravb_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ravb_private *priv = netdev_priv(ndev);
|
||||
|
||||
|
@ -1195,7 +1197,9 @@ static void ravb_get_ringparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int ravb_set_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ravb_private *priv = netdev_priv(ndev);
|
||||
int error;
|
||||
|
|
|
@ -2294,7 +2294,9 @@ static void sh_eth_get_strings(struct net_device *ndev, u32 stringset, u8 *data)
|
|||
}
|
||||
|
||||
static void sh_eth_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sh_eth_private *mdp = netdev_priv(ndev);
|
||||
|
||||
|
@ -2305,7 +2307,9 @@ static void sh_eth_get_ringparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
static int sh_eth_set_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sh_eth_private *mdp = netdev_priv(ndev);
|
||||
int ret;
|
||||
|
|
|
@ -274,7 +274,9 @@ static u32 sxgbe_usec2riwt(u32 usec, struct sxgbe_priv_data *priv)
|
|||
}
|
||||
|
||||
static int sxgbe_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sxgbe_priv_data *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -285,7 +287,9 @@ static int sxgbe_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int sxgbe_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct sxgbe_priv_data *priv = netdev_priv(dev);
|
||||
unsigned int rx_riwt;
|
||||
|
|
|
@ -20,8 +20,11 @@
|
|||
/* This is the maximum number of descriptor rings supported by the QDMA */
|
||||
#define EFX_EF100_MAX_DMAQ_SIZE 16384UL
|
||||
|
||||
static void ef100_ethtool_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static void
|
||||
ef100_ethtool_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct efx_nic *efx = netdev_priv(net_dev);
|
||||
|
||||
|
|
|
@ -97,7 +97,9 @@ static void efx_ethtool_get_regs(struct net_device *net_dev,
|
|||
*/
|
||||
|
||||
static int efx_ethtool_get_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct efx_nic *efx = netdev_priv(net_dev);
|
||||
unsigned int tx_usecs, rx_usecs;
|
||||
|
@ -115,7 +117,9 @@ static int efx_ethtool_get_coalesce(struct net_device *net_dev,
|
|||
}
|
||||
|
||||
static int efx_ethtool_set_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct efx_nic *efx = netdev_priv(net_dev);
|
||||
struct efx_channel *channel;
|
||||
|
@ -153,8 +157,11 @@ static int efx_ethtool_set_coalesce(struct net_device *net_dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void efx_ethtool_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static void
|
||||
efx_ethtool_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct efx_nic *efx = netdev_priv(net_dev);
|
||||
|
||||
|
@ -164,8 +171,11 @@ static void efx_ethtool_get_ringparam(struct net_device *net_dev,
|
|||
ring->tx_pending = efx->txq_entries;
|
||||
}
|
||||
|
||||
static int efx_ethtool_set_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static int
|
||||
efx_ethtool_set_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct efx_nic *efx = netdev_priv(net_dev);
|
||||
u32 txq_entries;
|
||||
|
|
|
@ -577,7 +577,9 @@ static int ef4_ethtool_nway_reset(struct net_device *net_dev)
|
|||
*/
|
||||
|
||||
static int ef4_ethtool_get_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ef4_nic *efx = netdev_priv(net_dev);
|
||||
unsigned int tx_usecs, rx_usecs;
|
||||
|
@ -595,7 +597,9 @@ static int ef4_ethtool_get_coalesce(struct net_device *net_dev,
|
|||
}
|
||||
|
||||
static int ef4_ethtool_set_coalesce(struct net_device *net_dev,
|
||||
struct ethtool_coalesce *coalesce)
|
||||
struct ethtool_coalesce *coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ef4_nic *efx = netdev_priv(net_dev);
|
||||
struct ef4_channel *channel;
|
||||
|
@ -633,8 +637,11 @@ static int ef4_ethtool_set_coalesce(struct net_device *net_dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void ef4_ethtool_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static void
|
||||
ef4_ethtool_get_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ef4_nic *efx = netdev_priv(net_dev);
|
||||
|
||||
|
@ -644,8 +651,11 @@ static void ef4_ethtool_get_ringparam(struct net_device *net_dev,
|
|||
ring->tx_pending = efx->txq_entries;
|
||||
}
|
||||
|
||||
static int ef4_ethtool_set_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
static int
|
||||
ef4_ethtool_set_ringparam(struct net_device *net_dev,
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct ef4_nic *efx = netdev_priv(net_dev);
|
||||
u32 txq_entries;
|
||||
|
|
|
@ -532,7 +532,9 @@ static void netsec_et_get_drvinfo(struct net_device *net_device,
|
|||
}
|
||||
|
||||
static int netsec_et_get_coalesce(struct net_device *net_device,
|
||||
struct ethtool_coalesce *et_coalesce)
|
||||
struct ethtool_coalesce *et_coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct netsec_priv *priv = netdev_priv(net_device);
|
||||
|
||||
|
@ -542,7 +544,9 @@ static int netsec_et_get_coalesce(struct net_device *net_device,
|
|||
}
|
||||
|
||||
static int netsec_et_set_coalesce(struct net_device *net_device,
|
||||
struct ethtool_coalesce *et_coalesce)
|
||||
struct ethtool_coalesce *et_coalesce,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct netsec_priv *priv = netdev_priv(net_device);
|
||||
|
||||
|
@ -1544,7 +1548,7 @@ static int netsec_start_gmac(struct netsec_priv *priv)
|
|||
netsec_write(priv, NETSEC_REG_NRM_RX_INTEN_CLR, ~0);
|
||||
netsec_write(priv, NETSEC_REG_NRM_TX_INTEN_CLR, ~0);
|
||||
|
||||
netsec_et_set_coalesce(priv->ndev, &priv->et_coalesce);
|
||||
netsec_et_set_coalesce(priv->ndev, &priv->et_coalesce, NULL, NULL);
|
||||
|
||||
if (netsec_mac_write(priv, GMAC_REG_OMR, value))
|
||||
return -ETIMEDOUT;
|
||||
|
|
|
@ -451,7 +451,9 @@ static int stmmac_nway_reset(struct net_device *dev)
|
|||
}
|
||||
|
||||
static void stmmac_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 stmmac_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
@ -462,7 +464,9 @@ static void stmmac_get_ringparam(struct net_device *netdev,
|
|||
}
|
||||
|
||||
static int stmmac_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)
|
||||
{
|
||||
if (ring->rx_mini_pending || ring->rx_jumbo_pending ||
|
||||
ring->rx_pending < DMA_MIN_RX_SIZE ||
|
||||
|
@ -809,7 +813,9 @@ static int __stmmac_get_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int stmmac_get_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __stmmac_get_coalesce(dev, ec, -1);
|
||||
}
|
||||
|
@ -893,7 +899,9 @@ static int __stmmac_set_coalesce(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int stmmac_set_coalesce(struct net_device *dev,
|
||||
struct ethtool_coalesce *ec)
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
return __stmmac_set_coalesce(dev, ec, -1);
|
||||
}
|
||||
|
|
|
@ -146,8 +146,11 @@ static void xlgmac_ethtool_get_channels(struct net_device *netdev,
|
|||
channel->tx_count = pdata->tx_q_count;
|
||||
}
|
||||
|
||||
static int xlgmac_ethtool_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
static int
|
||||
xlgmac_ethtool_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct xlgmac_pdata *pdata = netdev_priv(netdev);
|
||||
|
||||
|
@ -158,8 +161,11 @@ static int xlgmac_ethtool_get_coalesce(struct net_device *netdev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int xlgmac_ethtool_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec)
|
||||
static int
|
||||
xlgmac_ethtool_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ec,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct xlgmac_pdata *pdata = netdev_priv(netdev);
|
||||
struct xlgmac_hw_ops *hw_ops = &pdata->hw_ops;
|
||||
|
|
|
@ -2151,8 +2151,10 @@ bdx_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo)
|
|||
* @netdev
|
||||
* @ecoal
|
||||
*/
|
||||
static int
|
||||
bdx_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecoal)
|
||||
static int bdx_get_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecoal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
u32 rdintcm;
|
||||
u32 tdintcm;
|
||||
|
@ -2180,8 +2182,10 @@ bdx_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecoal)
|
|||
* @netdev
|
||||
* @ecoal
|
||||
*/
|
||||
static int
|
||||
bdx_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecoal)
|
||||
static int bdx_set_coalesce(struct net_device *netdev,
|
||||
struct ethtool_coalesce *ecoal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
u32 rdintcm;
|
||||
u32 tdintcm;
|
||||
|
@ -2239,9 +2243,13 @@ static inline int bdx_tx_fifo_size_to_packets(int tx_size)
|
|||
* bdx_get_ringparam - report ring sizes
|
||||
* @netdev
|
||||
* @ring
|
||||
* @kernel_ring
|
||||
* @extack
|
||||
*/
|
||||
static void
|
||||
bdx_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
|
||||
bdx_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bdx_priv *priv = netdev_priv(netdev);
|
||||
|
||||
|
@ -2256,9 +2264,13 @@ bdx_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
|
|||
* bdx_set_ringparam - set ring sizes
|
||||
* @netdev
|
||||
* @ring
|
||||
* @kernel_ring
|
||||
* @extack
|
||||
*/
|
||||
static int
|
||||
bdx_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
|
||||
bdx_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct bdx_priv *priv = netdev_priv(netdev);
|
||||
int rx_size = 0;
|
||||
|
|
|
@ -453,8 +453,11 @@ static int am65_cpsw_set_channels(struct net_device *ndev,
|
|||
return am65_cpsw_nuss_update_tx_chns(common, chs->tx_count);
|
||||
}
|
||||
|
||||
static void am65_cpsw_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ering)
|
||||
static void
|
||||
am65_cpsw_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct am65_cpsw_common *common = am65_ndev_to_common(ndev);
|
||||
|
||||
|
|
|
@ -817,7 +817,9 @@ static void cpmac_tx_timeout(struct net_device *dev, unsigned int txqueue)
|
|||
}
|
||||
|
||||
static void cpmac_get_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct cpmac_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
@ -833,7 +835,9 @@ static void cpmac_get_ringparam(struct net_device *dev,
|
|||
}
|
||||
|
||||
static int cpmac_set_ringparam(struct net_device *dev,
|
||||
struct ethtool_ringparam *ring)
|
||||
struct ethtool_ringparam *ring,
|
||||
struct kernel_ethtool_ringparam *kernel_ring,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct cpmac_priv *priv = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -845,7 +845,7 @@ static int cpsw_ndo_open(struct net_device *ndev)
|
|||
struct ethtool_coalesce coal;
|
||||
|
||||
coal.rx_coalesce_usecs = cpsw->coal_intvl;
|
||||
cpsw_set_coalesce(ndev, &coal);
|
||||
cpsw_set_coalesce(ndev, &coal, NULL, NULL);
|
||||
}
|
||||
|
||||
cpdma_ctlr_start(cpsw->dma);
|
||||
|
|
|
@ -152,7 +152,9 @@ void cpsw_set_msglevel(struct net_device *ndev, u32 value)
|
|||
priv->msg_enable = value;
|
||||
}
|
||||
|
||||
int cpsw_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal)
|
||||
int cpsw_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct cpsw_common *cpsw = ndev_to_cpsw(ndev);
|
||||
|
||||
|
@ -160,7 +162,9 @@ int cpsw_get_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int cpsw_set_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal)
|
||||
int cpsw_set_coalesce(struct net_device *ndev, struct ethtool_coalesce *coal,
|
||||
struct kernel_ethtool_coalesce *kernel_coal,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct cpsw_priv *priv = netdev_priv(ndev);
|
||||
u32 int_ctrl;
|
||||
|
@ -654,7 +658,9 @@ err:
|
|||
}
|
||||
|
||||
void cpsw_get_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ering)
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct cpsw_priv *priv = netdev_priv(ndev);
|
||||
struct cpsw_common *cpsw = priv->cpsw;
|
||||
|
@ -667,7 +673,9 @@ void cpsw_get_ringparam(struct net_device *ndev,
|
|||
}
|
||||
|
||||
int cpsw_set_ringparam(struct net_device *ndev,
|
||||
struct ethtool_ringparam *ering)
|
||||
struct ethtool_ringparam *ering,
|
||||
struct kernel_ethtool_ringparam *kernel_ering,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct cpsw_common *cpsw = ndev_to_cpsw(ndev);
|
||||
int descs_num, ret;
|
||||
|
|
|
@ -894,7 +894,7 @@ static int cpsw_ndo_open(struct net_device *ndev)
|
|||
struct ethtool_coalesce coal;
|
||||
|
||||
coal.rx_coalesce_usecs = cpsw->coal_intvl;
|
||||
cpsw_set_coalesce(ndev, &coal);
|
||||
cpsw_set_coalesce(ndev, &coal, NULL, NULL);
|
||||
}
|
||||
|
||||
cpdma_ctlr_start(cpsw->dma);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue