In this patchset Anton Mikaev and I added some useful ethtool operations: - ring size changes - link renegotioation - flow control management
The patch also improves init/deinit sequence. V3 changes: - After review and analysis it is clear that rtnl lock (which is captured by default on ethtool ops) is enough to secure possible overlapping of dev open/close. Thus, just dropping internal mutex. V2 changes: - using mutex to secure simultaneous dev close/open - using state var to store/restore dev state Igor Russkikh (5): net: aquantia: Ethtool based ring size configuration net: aquantia: Improve adapter init/deinit logic net: aquantia: Implement rx/tx flow control ethtools callback net: aquantia: Add renegotiate ethtool operation support net: aquantia: bump driver version .../net/ethernet/aquantia/atlantic/aq_ethtool.c | 117 +++++++++++++++++++++ drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 20 +++- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 12 ++- .../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 47 +++++---- .../aquantia/atlantic/hw_atl/hw_atl_a0_internal.h | 8 ++ .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 51 ++++----- .../aquantia/atlantic/hw_atl/hw_atl_b0_internal.h | 8 ++ .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 54 +++++----- .../aquantia/atlantic/hw_atl/hw_atl_utils.h | 35 ++++++ .../aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c | 69 +++++++++++- drivers/net/ethernet/aquantia/atlantic/ver.h | 4 +- 11 files changed, 341 insertions(+), 84 deletions(-) -- 2.7.4