Merge branch 'net-atlantic-QoS-implementation'
authorDavid S. Miller <davem@davemloft.net>
Fri, 22 May 2020 21:08:29 +0000 (14:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 May 2020 21:08:29 +0000 (14:08 -0700)
commitb79f91f15721f3378e618c690c7ad9a477cd7900
tree25315f1a3ef14bdbbedb8c1d1579ba114875c4e7
parent59b8d27705331fed60b7161dc38121708572672a
parent40f05e5b0d0e6ed5cc868cd09fa976495716b8f9
Merge branch 'net-atlantic-QoS-implementation'

Igor Russkikh says:

====================
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
consumes a whole traffic class due to hardware limitations.
Patches below have a more detailed description on how PTP and multi-TC
co-exist right now.

v2:
 * accommodated review comments (-Wmissing-prototypes and
   -Wunused-but-set-variable findings);
 * added user notification in case of conflicting multi-TC<->PTP
   configuration;
 * added automatic PTP disabling, if a conflicting configuration is
   detected;
 * removed module param, which was used for PTP disabling in v1;

v1: https://patchwork.ozlabs.org/cover/1294380/
====================

Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>