This patchset adds more features for Atlantic NICs: * media detect; * additional per-queue stats; * PTP stats; * ipv6 support for TCP LSO and UDP GSO; * 64-bit operations; * A0 ntuple filters; * MAC temperature (hwmon).
This work is a joint effort of Marvell developers. v3: * reworked patches related to stats: . fixed u64_stats_update_* usage; . use simple assignment in _get_stats / _fill_stats_data; . made _get_sw_stats / _fill_stats_data return count as return value; . split rx and tx per-queue stats; v2: https://patchwork.ozlabs.org/cover/1329652/ * removed media detect feature (will be reworked and submitted later); * removed irq counter from stats; * use u64_stats_update_* to protect 64-bit stats; * use io-64-nonatomic-lo-hi.h for readq/writeq fallbacks; v1: https://patchwork.ozlabs.org/cover/1327894/ Dmitry Bogdanov (2): net: atlantic: additional per-queue stats net: atlantic: A0 ntuple filters Igor Russkikh (1): net: atlantic: enable ipv6 support for TCP LSO and UDP GSO Mark Starovoytov (7): net: atlantic: move FRAC_PER_NS to aq_hw.h net: atlantic: use simple assignment in _get_stats and _get_sw_stats net: atlantic: make _get_sw_stats return count as return value net: atlantic: split rx and tx per-queue stats net: atlantic: use u64_stats_update_* to protect access to 64-bit stats net: atlantic: use U32_MAX in aq_hw_utils.c net: atlantic: add hwmon getter for MAC temperature Nikita Danilov (1): net: atlantic: use intermediate variable to improve readability a bit Pavel Belous (2): net: atlantic: PTP statistics net: atlantic: add support for 64-bit reads/writes .../ethernet/aquantia/atlantic/aq_drvinfo.c | 62 +++++--- .../ethernet/aquantia/atlantic/aq_drvinfo.h | 10 +- .../ethernet/aquantia/atlantic/aq_ethtool.c | 68 +++++++-- .../net/ethernet/aquantia/atlantic/aq_hw.h | 7 + .../ethernet/aquantia/atlantic/aq_hw_utils.c | 34 +++-- .../ethernet/aquantia/atlantic/aq_hw_utils.h | 8 +- .../net/ethernet/aquantia/atlantic/aq_nic.c | 6 +- .../net/ethernet/aquantia/atlantic/aq_ptp.c | 68 ++++++--- .../net/ethernet/aquantia/atlantic/aq_ptp.h | 27 +++- .../net/ethernet/aquantia/atlantic/aq_ring.c | 74 +++++++++- .../net/ethernet/aquantia/atlantic/aq_ring.h | 22 ++- .../net/ethernet/aquantia/atlantic/aq_vec.c | 74 +++------- .../net/ethernet/aquantia/atlantic/aq_vec.h | 11 +- .../aquantia/atlantic/hw_atl/hw_atl_a0.c | 136 +++++++++++++----- .../aquantia/atlantic/hw_atl/hw_atl_b0.c | 66 +++++++-- .../aquantia/atlantic/hw_atl/hw_atl_llh.c | 44 ++++++ .../aquantia/atlantic/hw_atl/hw_atl_llh.h | 18 +++ .../atlantic/hw_atl/hw_atl_llh_internal.h | 30 ++++ .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 1 + .../atlantic/hw_atl/hw_atl_utils_fw2x.c | 3 +- .../aquantia/atlantic/hw_atl2/hw_atl2.c | 1 + .../atlantic/hw_atl2/hw_atl2_utils_fw.c | 21 +++ 22 files changed, 608 insertions(+), 183 deletions(-) -- 2.25.1