[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200520134734.2014-1-irusskikh@marvell.com>
Date: Wed, 20 May 2020 16:47:22 +0300
From: Igor Russkikh <irusskikh@...vell.com>
To: <netdev@...r.kernel.org>
CC: "David S . Miller" <davem@...emloft.net>,
Mark Starovoytov <mstarovoitov@...vell.com>,
Igor Russkikh <irusskikh@...vell.com>
Subject: [PATCH net-next 00/12] net: atlantic: QoS implementation
This patch series adds support for mqprio rate limiters and multi-TC:
* max_rate is supported on both A1 and A2;
* min_rate is supported on A2 only;
This is a joint work of Mark and Dmitry.
To implement this feature, a couple of rearrangements and code
improvements were done, in areas of TC/ring management, allocation
control, etc.
One of the problems we faced is conflicting ptp functionality, which
due to hardware limitations consumes whole traffic class.
Patches below has more detailed description on how this coexist now.
Dmitry Bezrukov (4):
net: atlantic: changes for multi-TC support
net: atlantic: move PTP TC initialization to a separate function
net: atlantic: changes for multi-TC support
net: atlantic: QoS implementation: multi-TC support
Mark Starovoytov (8):
net: atlantic: per-TC queue statistics
net: atlantic: make TCVEC2RING accept nic_cfg
net: atlantic: QoS implementation: max_rate
net: atlantic: automatically downgrade the number of queues if
necessary
net: atlantic: always use random TC-queue mapping for TX on A2.
net: atlantic: change the order of arguments for TC weight/credit
setters
net: atlantic: QoS implementation: min_rate
net: atlantic: proper rss_ctrl1 (54c0) initialization
.../net/ethernet/aquantia/atlantic/aq_cfg.h | 3 +
.../ethernet/aquantia/atlantic/aq_ethtool.c | 74 +++--
.../ethernet/aquantia/atlantic/aq_filters.c | 11 +-
.../net/ethernet/aquantia/atlantic/aq_hw.h | 20 +-
.../ethernet/aquantia/atlantic/aq_hw_utils.c | 26 ++
.../ethernet/aquantia/atlantic/aq_hw_utils.h | 2 +
.../net/ethernet/aquantia/atlantic/aq_main.c | 72 ++++-
.../net/ethernet/aquantia/atlantic/aq_nic.c | 266 ++++++++++++----
.../net/ethernet/aquantia/atlantic/aq_nic.h | 27 +-
.../ethernet/aquantia/atlantic/aq_pci_func.c | 3 +
.../net/ethernet/aquantia/atlantic/aq_ptp.c | 27 +-
.../net/ethernet/aquantia/atlantic/aq_ring.c | 19 +-
.../net/ethernet/aquantia/atlantic/aq_vec.c | 72 +++--
.../net/ethernet/aquantia/atlantic/aq_vec.h | 8 +-
.../aquantia/atlantic/hw_atl/hw_atl_a0.c | 10 +-
.../aquantia/atlantic/hw_atl/hw_atl_b0.c | 255 ++++++++++-----
.../aquantia/atlantic/hw_atl/hw_atl_b0.h | 2 +
.../atlantic/hw_atl/hw_atl_b0_internal.h | 6 +-
.../aquantia/atlantic/hw_atl/hw_atl_llh.c | 65 +++-
.../aquantia/atlantic/hw_atl/hw_atl_llh.h | 32 +-
.../atlantic/hw_atl/hw_atl_llh_internal.h | 101 +++++-
.../aquantia/atlantic/hw_atl2/hw_atl2.c | 301 +++++++++++++-----
.../atlantic/hw_atl2/hw_atl2_internal.h | 12 +-
.../aquantia/atlantic/hw_atl2/hw_atl2_llh.c | 36 ++-
.../aquantia/atlantic/hw_atl2/hw_atl2_llh.h | 19 +-
.../atlantic/hw_atl2/hw_atl2_llh_internal.h | 111 +++++--
26 files changed, 1200 insertions(+), 380 deletions(-)
--
2.25.1
Powered by blists - more mailing lists