linux/drivers/net/dsa/ocelot
Michael Walle 297c4de6f7 net: dsa: felix: re-enable TAS guard band mode
Commit 316bcffe44 ("net: dsa: felix: disable always guard band bit for
TAS config") disabled the guard band and broke 802.3Qbv compliance.

There are two issues here:
 (1) Without the guard band the end of the scheduling window could be
     overrun by a frame in transit.
 (2) Frames that don't fit into a configured window will still be sent.

The reason for both issues is that the switch will schedule the _start_
of a frame transmission inside the predefined window without taking the
length of the frame into account. Thus, we'll need the guard band which
will close the gate early, so that a complete frame can still be sent.
Revert the commit and add a note.

For a lengthy discussion see [1].

[1] https://lore.kernel.org/netdev/c7618025da6723418c56a54fe4683bd7@walle.cc/

Fixes: 316bcffe44 ("net: dsa: felix: disable always guard band bit for TAS config")
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-05-10 14:48:55 -07:00
..
felix.c net: mscc: ocelot: convert to ocelot_port_txtstamp_request() 2021-04-27 14:10:15 -07:00
felix.h net: dsa: felix: setup MMIO filtering rules for PTP when using tag_8021q 2021-02-14 17:31:44 -08:00
felix_vsc9959.c net: dsa: felix: re-enable TAS guard band mode 2021-05-10 14:48:55 -07:00
Kconfig net: dsa: add a second tagger for Ocelot switches based on tag_8021q 2021-01-29 21:25:27 -08:00
Makefile net: dsa: seville: build as separate module 2020-09-18 17:52:51 -07:00
seville_vsc9953.c net: dsa: tag_ocelot: create separate tagger for Seville 2021-02-14 17:31:44 -08:00