• Roger Quadros's avatar
    net: ethernet: ti: cpsw_ale: add policer/classifier helpers and setup defaults · 961d4187
    Roger Quadros authored
    The Policer registers in the ALE register space are just shadow registers
    and use an index field in the policer table control register to read/write
    to the actual Polier registers.
    Add helper functions to Read and Write to Policer registers.
    
    Also add a helper function to set the thread value to classifier/policer
    mapping. Any packet that first matches the classifier will be sent to the
    thread (flow) that is set in the classifier to thread mapping table.
    If not set then it goes to the default flow.
    
    Default behaviour is to have 8 classifiers to map 8 DSCP/PCP
    priorities to N receive threads (flows). N depends on number of
    RX channels enabled for the port.
    As per the standard [1] User prioritie 1 (Background) and 2 (Spare) have
    lower priority than the user priority 0 (default). User priority 1 being
    of the lowest priority.
    
    [1] IEEE802.1D-2004, IEEE Standard for Local and metropolitan area networks
    Table G-2 - Traffic type acronyms
    Table G-3 - Defining traffic types
    Signed-off-by: default avatarRoger Quadros <rogerq@kernel.org>
    Reviewed-by: default avatarSimon Horman <horms@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    961d4187
cpsw_ale.c 45.7 KB