• Florian Fainelli's avatar
    net: dsa: bcm_sf2: Make UDF slices more configurable · 5d80bcbb
    Florian Fainelli authored
    In preparation for introducing IPv6 rules support, make the
    cfp_udf_layout more flexible and match more accurately how the HW is
    designed: we have 3 + 1 slices per protocol, but we may not be using all
    of them and we are relative to a particular base offset (slice A for
    IPv4 for instance). Also populate the slice number that should be used
    (slice 1 for IPv4) based on the lookup function.
    
    Finally, we introduce two helper functions: udf_upper_bits() and
    udf_lower_bits() to help setting the UDF_n_* valid bits based on the
    number of UDFs valid within a slice. Update the IPv4 rule setting to
    make use of it to be more robust wrt. change in number of User Defined
    Fields being programmed.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5d80bcbb
bcm_sf2_cfp.c 17.1 KB