Document port egress rate limiting settings. Add defines for specifying egress rate limiting mode. Signed-off-by: Robert Beckett <bob.beckett@xxxxxxxxxxxxx> --- .../devicetree/bindings/net/dsa/marvell.txt | 22 +++++++++++++++++++ include/dt-bindings/net/dsa-mv88e6xxx.h | 5 +++++ 2 files changed, 27 insertions(+) diff --git a/Documentation/devicetree/bindings/net/dsa/marvell.txt b/Documentation/devicetree/bindings/net/dsa/marvell.txt index 7de90929c3c9..d33c1958f420 100644 --- a/Documentation/devicetree/bindings/net/dsa/marvell.txt +++ b/Documentation/devicetree/bindings/net/dsa/marvell.txt @@ -62,6 +62,28 @@ Optional properties for ports: MV88E6XXX_PORT_SCHED_STRICT_ALL - All queues use strict priority, where queues drain in descending queue number order. +- egress-limit-mode=<n> : Set port egress rate limiting mode. Valid values are: + MV88E6XXX_PORT_EGRESS_COUNT_MODE_FRAMES - Count layer + 2 frames (assumed to be 64kb). + MV88E6XXX_PORT_EGRESS_COUNT_MODE_L1 - Count all layer + 1 bits + MV88E6XXX_PORT_EGRESS_COUNT_MODE_L2 - Count all layer + 2 bits + MV88E6XXX_PORT_EGRESS_COUNT_MODE_L3 - Count all layer + 3 bits + Must also specify egress-limit-count. +- egress-limit-count=<n>: Set port egress rate limiting count. If + egress-limit-mode is FRAMES, this specifies the + maximum number of ethernet frames to allow to egress + from this port per second, otherwise it is number of + bits as counted based on the mode allowed to egress + from this port per second. + The HW has limitations which the driver adheres to: + between 64 Kbps to 1 Mbps in 16 Kbps increments + between 1 Mbps to 100 Mbps in 1Mbps increments + between 100 Mbps to 1 Gbps in 10 Mbps increments. + Other values will be rounded down the previous + increment. Example: diff --git a/include/dt-bindings/net/dsa-mv88e6xxx.h b/include/dt-bindings/net/dsa-mv88e6xxx.h index 3f62003841ce..33ecd94f5e22 100644 --- a/include/dt-bindings/net/dsa-mv88e6xxx.h +++ b/include/dt-bindings/net/dsa-mv88e6xxx.h @@ -9,6 +9,11 @@ #ifndef _DT_BINDINGS_MV88E6XXX_H #define _DT_BINDINGS_MV88E6XXX_H +#define MV88E6XXX_PORT_EGRESS_COUNT_MODE_FRAMES 0 +#define MV88E6XXX_PORT_EGRESS_COUNT_MODE_L1 1 +#define MV88E6XXX_PORT_EGRESS_COUNT_MODE_L2 2 +#define MV88E6XXX_PORT_EGRESS_COUNT_MODE_L3 3 + #define MV88E6XXX_PORT_SCHED_ROUND_ROBIN 0 #define MV88E6XXX_PORT_SCHED_STRICT_3 1 #define MV88E6XXX_PORT_SCHED_STRICT_3_2 2 -- 2.18.0