mirror_ubuntu-kernels/drivers/net/dsa/hirschmann
Kurt Kanzenbach 24dfc6eb39 net: dsa: hellcreek: Add TAPRIO offloading support
The switch has support for the 802.1Qbv Time Aware Shaper (TAS). Traffic
schedules may be configured individually on each front port. Each port has eight
egress queues. The traffic is mapped to a traffic class respectively via the PCP
field of a VLAN tagged frame.

The TAPRIO Qdisc already implements that. Therefore, this interface can simply
be reused. Add .port_setup_tc() accordingly.

The activation of a schedule on a port is split into two parts:

 * Programming the necessary gate control list (GCL)
 * Setup delayed work for starting the schedule

The hardware supports starting a schedule up to eight seconds in the future. The
TAPRIO interface provides an absolute base time. Therefore, periodic delayed
work is leveraged to check whether a schedule may be started or not.

Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-01-23 21:25:16 -08:00
..
hellcreek_hwtstamp.c net: dsa: hellcreek: Add support for hardware timestamping 2020-11-05 14:04:49 -08:00
hellcreek_hwtstamp.h net: dsa: hellcreek: Add support for hardware timestamping 2020-11-05 14:04:49 -08:00
hellcreek_ptp.c net: dsa: hellcreek: Add PTP status LEDs 2020-11-05 14:04:50 -08:00
hellcreek_ptp.h net: dsa: hellcreek: Add PTP status LEDs 2020-11-05 14:04:50 -08:00
hellcreek.c net: dsa: hellcreek: Add TAPRIO offloading support 2021-01-23 21:25:16 -08:00
hellcreek.h net: dsa: hellcreek: Add TAPRIO offloading support 2021-01-23 21:25:16 -08:00
Kconfig net: dsa: fix led_classdev build errors 2021-01-06 16:17:14 -08:00
Makefile net: dsa: hellcreek: Add support for hardware timestamping 2020-11-05 14:04:49 -08:00