diff options
author | Lendacky, Thomas <Thomas.Lendacky@amd.com> | 2015-04-09 12:11:51 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-09 17:35:37 -0400 |
commit | 8dee19e619bb6d4aefdf0ce5260099fec08601a3 (patch) | |
tree | 7d60b8bc7d40239d3b061ba1bd1ad4dce8eb802f /drivers/net/ethernet/amd/xgbe/xgbe.h | |
parent | 1e53d5bb8878dcbdbffde334ab89b1f57778b48c (diff) | |
download | lwn-8dee19e619bb6d4aefdf0ce5260099fec08601a3.tar.gz lwn-8dee19e619bb6d4aefdf0ce5260099fec08601a3.zip |
amd-xgbe: Allow rx-frames coalescing to be changed anytime
Currently the device must be down in order to update the rx-frames
coalescing setting because the interrupt indicator is set in the
descriptor data during initialization. Allow this setting to be changed
while the device is up by moving the interrupt decision into the
descriptor reset function and base the decision off of the supplied
descriptor index value.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amd/xgbe/xgbe.h')
-rw-r--r-- | drivers/net/ethernet/amd/xgbe/xgbe.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h index dd742426eb04..a864eabe5cd0 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -325,8 +325,6 @@ struct xgbe_ring_data { struct xgbe_tx_ring_data tx; /* Tx-related data */ struct xgbe_rx_ring_data rx; /* Rx-related data */ - unsigned int interrupt; /* Interrupt indicator */ - unsigned int mapped_as_page; /* Incomplete receive save location. If the budget is exhausted @@ -536,8 +534,9 @@ struct xgbe_hw_if { int (*dev_read)(struct xgbe_channel *); void (*tx_desc_init)(struct xgbe_channel *); void (*rx_desc_init)(struct xgbe_channel *); - void (*rx_desc_reset)(struct xgbe_ring_data *); void (*tx_desc_reset)(struct xgbe_ring_data *); + void (*rx_desc_reset)(struct xgbe_prv_data *, struct xgbe_ring_data *, + unsigned int); int (*is_last_desc)(struct xgbe_ring_desc *); int (*is_context_desc)(struct xgbe_ring_desc *); void (*tx_start_xmit)(struct xgbe_channel *, struct xgbe_ring *); |