diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2018-03-28 15:15:37 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-30 10:03:36 -0400 |
commit | a8cdfbdf885f3d3b4940ea31696a4492afd331f7 (patch) | |
tree | 5b1eeedf73b3226eb565c012a23786866cc6fc6f /drivers/net/ethernet/broadcom/bcmsysport.h | |
parent | net: systemport: Remove adaptive TX coalescing (diff) | |
download | linux-dev-a8cdfbdf885f3d3b4940ea31696a4492afd331f7.tar.xz linux-dev-a8cdfbdf885f3d3b4940ea31696a4492afd331f7.zip |
net: systemport: Fix coalescing settings handling
There were a number of issues with setting the RX coalescing parameters:
- we would not be preserving values that would have been configured
across close/open calls, instead we would always reset to no timeout
and 1 interrupt per packet, this would also prevent DIM from setting its
default usec/pkts values
- when adaptive RX would be turned on, we woud not be fetching the
default parameters, we would stay with no timeout/1 packet per
interrupt until the estimator kicks in and changes that
- finally disabling adaptive RX coalescing while providing parameters
would not be honored, and we would stay with whatever DIM had
previously determined instead of the user requested parameters
Fixes: b6e0e875421e ("net: systemport: Implement adaptive interrupt coalescing")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Tal Gilboa <talgi@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bcmsysport.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bcmsysport.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bcmsysport.h b/drivers/net/ethernet/broadcom/bcmsysport.h index 57e18ef8f206..d6e5d0cbf3a3 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.h +++ b/drivers/net/ethernet/broadcom/bcmsysport.h @@ -701,8 +701,6 @@ struct bcm_sysport_net_dim { u16 event_ctr; unsigned long packets; unsigned long bytes; - u32 coal_usecs; - u32 coal_pkts; struct net_dim dim; }; @@ -755,6 +753,8 @@ struct bcm_sysport_priv { unsigned int rx_c_index; struct bcm_sysport_net_dim dim; + u32 rx_max_coalesced_frames; + u32 rx_coalesce_usecs; /* PHY device */ struct device_node *phy_dn; |