• Kurt Kanzenbach's avatar
    net: dsa: hellcreek: Add TAPRIO offloading support · 24dfc6eb
    Kurt Kanzenbach authored
    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's avatarKurt Kanzenbach <kurt@linutronix.de>
    Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    24dfc6eb
hellcreek.c 41.7 KB