[SRU] [linux-oem] [PATCH 00/58] Update Aquantia driver to fix various issues

Kai-Heng Feng kai.heng.feng at canonical.com
Tue Mar 27 16:34:44 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1759303

[Impact] According to commit log, there are lots of issues got fixed for
Aquantia driver since v4.13.

[Test] It's a request from costumer.  Unless Aquantia provides a
reproducer, we need Aquantia to verify it.

[Fix] Update Aquantia driver to 2.0.2.1, basically keep the driver in
sync with Linux kernel v4.16. 

I revert the old commits because it got the order reversed, there are
even two same commits, "net: aquantia: Reset nic statistics on interface
up/down". So let's revert them and start anew.

Please review it here:
https://github.com/khfeng/linux/tree/artful-linux-oem-aquantia-4.16

I'll make a new SRU for Bionic if we don't have any issue on linux-oem.

[Regression Potential] Low. The driver is the same one as in v4.16, so
it should be well tested by Aquantia.

Igor Russkikh (47):
  aquantia: Setup max_mtu in ndev to enable jumbo frames
  aquantia: Fix Tx queue hangups
  aquantia: Fix transient invalid link down/up indications
  net: aquantia: Reset nic statistics on interface up/down
  net: aquantia: Add queue restarts stats counter
  net: aquantia: Fixed transient link up/down/up notification
  net: aquantia: Limit number of MSIX irqs to the number of cpus
  net: aquantia: mmio unmap was not performed on driver removal
  net: aquantia: Enable coalescing management via ethtool interface
  net: aquantia: Bad udp rate on default interrupt coalescing
  net: aquantia: Fix actual speed capabilities reporting
  net: aquantia: Fix hardware DMA stream overload on large MRRS
  net: aquantia: Extend stat counters to 64bit values
  net: aquantia: Fill ndev stat couters from hardware
  net: aquantia: Fill in multicast counter in ndev stats from hardware
  net: aquantia: Improve link state and statistics check interval
    callback
  net: aquantia: Update hw counters on hw init
  net: aquantia: Fix typo in ethtool statistics names
  net: aquantia: Increment driver version
  net: aquantia: Eliminate AQ_DIMOF, replace with ARRAY_SIZE
  net: aquantia: Cleanup status flags accesses
  net: aquantia: Cleanup hardware access modules
  net: aquantia: Remove duplicate hardware descriptors declarations
  net: aquantia: Add const qualifiers for hardware ops tables
  net: aquantia: Simplify dependencies between pci modules
  net: aquantia: Eliminate aq_nic structure abstraction
  net: aquantia: Fix register definitions to linux style
  net: aquantia: Prepend hw access functions declarations with prefix
  net: aquantia: Fix internal stats calculation on rx
  net: aquantia: Introduce new device ids and constants
  net: aquantia: Introduce new AQC devices and capabilities
  net: aquantia: Convert hw and caps structures to const static pointers
  net: aquantia: Cleanup pci functions module
  net: aquantia: Remove create/destroy from hw ops
  net: aquantia: Change confusing no_ff_addr to more meaningful name
  net: aquantia: Introduce firmware ops callbacks
  net: aquantia: Introduce support for new firmware on AQC cards
  net: aquantia: Introduce global AQC hardware reset sequence
  net: aquantia: Report correct mediatype via ethtool
  net: aquantia: bump driver version to match aquantia internal
    numbering
  net: aquantia: Fix hardware reset when SPI may rarely hangup
  net: aquantia: Fix a regression with reset on old firmware
  net: aquantia: Change inefficient wait loop on fw data reads
  net: aquantia: Add tx clean budget and valid budget handling logic
  net: aquantia: Allow live mac address changes
  net: aquantia: Implement pci shutdown callback
  net: aquantia: driver version bump

Kai-Heng Feng (9):
  UBUNTU: SAUCE: Revert "net: aquantia: Reset nic statistics on
    interface up/down"
  UBUNTU: SAUCE: Revert "net: aquantia: Add queue restarts stats
    counter"
  UBUNTU: SAUCE: Revert "net: aquantia: Fixed transient link up/down/up
    notification"
  UBUNTU: SAUCE: Revert "net: aquantia: Limit number of MSIX irqs to the
    number of cpus"
  UBUNTU: SAUCE: Revert "net: aquantia: mmio unmap was not performed on
    driver removal"
  UBUNTU: SAUCE: Revert "net: aquantia: Enable coalescing management via
    ethtool interface"
  UBUNTU: SAUCE: Revert "net: aquantia: Reset nic statistics on
    interface up/down"
  UBUNTU: SAUCE: Revert "aquantia: Fix Tx queue hangups"
  UBUNTU: SAUCE: Revert "net: aquantia: Bad udp rate on default
    interrupt coalescing"

Pavel Belous (2):
  aquantia: Switch to use napi_gro_receive
  atlantic: fix iommu errors

 drivers/net/ethernet/aquantia/atlantic/Makefile    |    1 +
 drivers/net/ethernet/aquantia/atlantic/aq_cfg.h    |   15 +-
 drivers/net/ethernet/aquantia/atlantic/aq_common.h |   39 +-
 .../net/ethernet/aquantia/atlantic/aq_ethtool.c    |   16 +-
 drivers/net/ethernet/aquantia/atlantic/aq_hw.h     |  102 +-
 .../net/ethernet/aquantia/atlantic/aq_hw_utils.c   |   11 +-
 .../net/ethernet/aquantia/atlantic/aq_hw_utils.h   |    3 +
 drivers/net/ethernet/aquantia/atlantic/aq_main.c   |  110 +-
 drivers/net/ethernet/aquantia/atlantic/aq_main.h   |    2 +
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c    |  437 +++---
 drivers/net/ethernet/aquantia/atlantic/aq_nic.h    |   63 +-
 .../ethernet/aquantia/atlantic/aq_nic_internal.h   |   45 -
 .../net/ethernet/aquantia/atlantic/aq_pci_func.c   |  423 +++---
 .../net/ethernet/aquantia/atlantic/aq_pci_func.h   |   26 +-
 drivers/net/ethernet/aquantia/atlantic/aq_ring.c   |   41 +-
 drivers/net/ethernet/aquantia/atlantic/aq_ring.h   |   15 +-
 drivers/net/ethernet/aquantia/atlantic/aq_utils.h  |    6 -
 drivers/net/ethernet/aquantia/atlantic/aq_vec.c    |   17 +-
 drivers/net/ethernet/aquantia/atlantic/aq_vec.h    |    4 +-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c  |  463 +++---
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.h  |   18 +-
 .../aquantia/atlantic/hw_atl/hw_atl_a0_internal.h  |   65 -
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c  |  505 ++++---
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.h  |   28 +-
 .../aquantia/atlantic/hw_atl/hw_atl_b0_internal.h  |   66 +-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c | 1326 +++++++++--------
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h |  544 +++----
 .../aquantia/atlantic/hw_atl/hw_atl_llh_internal.h | 1523 ++++++++++----------
 .../aquantia/atlantic/hw_atl/hw_atl_utils.c        |  475 ++++--
 .../aquantia/atlantic/hw_atl/hw_atl_utils.h        |  138 +-
 .../aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c   |  184 +++
 drivers/net/ethernet/aquantia/atlantic/ver.h       |   10 +-
 32 files changed, 3588 insertions(+), 3133 deletions(-)
 delete mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_nic_internal.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c

-- 
2.15.1





More information about the kernel-team mailing list