This patchset introduces a support for new Aquantia hardware: AQC11x family with updated hardware (B1) and firmware (2.x and 3.x branches).
For that, a number of improvements in overall driver model were done: - Firmware specific ops tables - PCI module cleanup and simplification - Verified and tested hardware reset process Beside this some styling fixes: - HW register set defines lined up with kernel style - HW access functions are prefixed now - More tracing and helpers macros Igor Russkikh (22): net: aquantia: Eliminate AQ_DIMOF, replace with ARRAY_SIZE net: aquantia: Cleanup status flags accesses net: aquantia: Cleanup hardware access modules net: aquantia: Introduce new device ids definitions 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: Add new aQuantia devices into pci table net: aquantia: Introduce new AQC devices and capabilities 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: 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: Fix internal stats calculation on rx net: aquantia: bump driver version to match aquantia internal numbering drivers/net/ethernet/aquantia/atlantic/Makefile | 1 + drivers/net/ethernet/aquantia/atlantic/aq_cfg.h | 8 +- drivers/net/ethernet/aquantia/atlantic/aq_common.h | 39 +- drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 79 +- .../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 | 290 ++-- drivers/net/ethernet/aquantia/atlantic/aq_nic.h | 62 +- .../ethernet/aquantia/atlantic/aq_nic_internal.h | 45 - .../net/ethernet/aquantia/atlantic/aq_pci_func.c | 411 +++--- .../net/ethernet/aquantia/atlantic/aq_pci_func.h | 26 +- drivers/net/ethernet/aquantia/atlantic/aq_ring.c | 4 +- drivers/net/ethernet/aquantia/atlantic/aq_ring.h | 2 +- drivers/net/ethernet/aquantia/atlantic/aq_utils.h | 6 - drivers/net/ethernet/aquantia/atlantic/aq_vec.c | 5 +- drivers/net/ethernet/aquantia/atlantic/aq_vec.h | 4 +- .../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 472 +++--- .../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 | 506 +++---- .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.h | 28 +- .../aquantia/atlantic/hw_atl/hw_atl_b0_internal.h | 64 - .../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 | 1521 ++++++++++---------- .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 347 ++++- .../aquantia/atlantic/hw_atl/hw_atl_utils.h | 133 +- .../aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c | 184 +++ drivers/net/ethernet/aquantia/atlantic/ver.h | 6 +- 31 files changed, 3310 insertions(+), 3012 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.7.4