mbox series

[v2,net-next,00/16] net: atlantic: Aquantia driver updates 2019-04

Message ID cover.1556024424.git.igor.russkikh@aquantia.com
Headers show
Series net: atlantic: Aquantia driver updates 2019-04 | expand

Message

Igor Russkikh April 23, 2019, 1:17 p.m. UTC
This patchset contains various improvements:

- Work targeting link up speedups: link interrupt introduced, some other 
  logic changes to imrove this.
- FW operations securing with mutex
- Counters and statistics logic improved by Dmitry
- read out of chip temperature via hwmon interface implemented by
  Yana and Nikita.

v2 changes:
- use threaded irq for link state handling
- rework hwmon via devm_hwmon_device_register_with_info
Extra comments on review from Andrew:
- direct device name pointer is used in hwmon registration.
  This causes hwmon device to derive possible interface name changes
- Will consider sanity checks for firmware mutex lock separately.
  Right now there is no single point exsists where such check could
  be easily added.
- There is no way now to fetch and configure min/max/crit temperatures
  via FW. Will investigate this separately.

Dmitry Bogdanov (3):
  net: aquantia: fetch up to date statistics on ethtool request
  net: aquantia: get total counters from DMA block
  net: aquantia: fixups on 64bit dma counters

Igor Russkikh (7):
  net: aquantia: add link interrupt fields
  net: aquantia: link interrupt handling function
  net: aquantia: link status irq handling
  net: aquantia: improve ifup link detection
  net: aquantia: use macros for better visibility
  net: aquantia: user correct MSI irq type
  net: aquantia: extract timer cb into work job

Nikita Danilov (4):
  net: aquantia: create global service workqueue
  net: aquantia: introduce fwreq mutex
  net: aquantia: wrap fw ops by mutex
  net: aquantia: remove outdated device ids

Yana Esina (2):
  net: aquantia: add infrastructure to readout chip temperature
  net: aquantia: implement hwmon api for chip temperature

 .../net/ethernet/aquantia/atlantic/Makefile   |   1 +
 .../ethernet/aquantia/atlantic/aq_common.h    |   3 -
 .../ethernet/aquantia/atlantic/aq_drvinfo.c   | 129 ++++++++++++++++++
 .../ethernet/aquantia/atlantic/aq_drvinfo.h   |  16 +++
 .../ethernet/aquantia/atlantic/aq_ethtool.c   |  22 ++-
 .../net/ethernet/aquantia/atlantic/aq_hw.h    |   4 +
 .../net/ethernet/aquantia/atlantic/aq_main.c  |  41 ++++++
 .../net/ethernet/aquantia/atlantic/aq_main.h  |   2 +
 .../net/ethernet/aquantia/atlantic/aq_nic.c   | 121 ++++++++++++----
 .../net/ethernet/aquantia/atlantic/aq_nic.h   |   6 +-
 .../ethernet/aquantia/atlantic/aq_pci_func.c  |  49 ++++---
 .../ethernet/aquantia/atlantic/aq_pci_func.h  |   7 +-
 .../aquantia/atlantic/hw_atl/hw_atl_a0.c      |   8 +-
 .../aquantia/atlantic/hw_atl/hw_atl_b0.c      |  13 +-
 .../aquantia/atlantic/hw_atl/hw_atl_b0.h      |   3 -
 .../aquantia/atlantic/hw_atl/hw_atl_llh.c     |   5 -
 .../aquantia/atlantic/hw_atl/hw_atl_llh.h     |   3 -
 .../atlantic/hw_atl/hw_atl_llh_internal.h     |   3 -
 .../aquantia/atlantic/hw_atl/hw_atl_utils.c   |  15 +-
 .../atlantic/hw_atl/hw_atl_utils_fw2x.c       |  36 +++++
 20 files changed, 407 insertions(+), 80 deletions(-)
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_drvinfo.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_drvinfo.h