• Vladimir Oltean's avatar
    net: enetc: add support for preemptible traffic classes · 01e23b2b
    Vladimir Oltean authored
    PFs which support the MAC Merge layer also have a set of 8 registers
    called "Port traffic class N frame preemption register (PTC0FPR - PTC7FPR)".
    Through these, a traffic class (group of TX rings of same dequeue
    priority) can be mapped to the eMAC or to the pMAC.
    
    There's nothing particularly spectacular here. We should probably only
    commit the preemptible TCs to hardware once the MAC Merge layer became
    active, but unlike Felix, we don't have an IRQ that notifies us of that.
    We'd have to sleep for up to verifyTime (127 ms) to wait for a
    resolution coming from the verification state machine; not only from the
    ndo_setup_tc() code path, but also from enetc_mm_link_state_update().
    Since it's relatively complicated and has a relatively small benefit,
    I'm not doing it.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: default avatarFerenc Fejes <fejes@inf.elte.hu>
    Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    01e23b2b
enetc.c 77.3 KB