• Alex Elder's avatar
    net: ipa: split sequencer type in two · 8ee5df65
    Alex Elder authored
    An IPA endpoint has a sequencer that must be configured based on how
    the endpoint is to be used.  Currently the IPA code programs the
    sequencer type by splitting a value into four 4-bit nibbles.  Doing
    that doesn't really add much value, and regardless, a better way of
    splitting the sequencer type is into two halves--the lower byte
    describing how normal packet processing is handled, and the next
    byte describing information about processing replicas.
    
    So split the sequencer type into two sub-parts:  the sequencer type
    and the replication sequencer type.  Define the values supported for
    the "main" sequencer type, and define the values supported for the
    replication part separately.
    
    In addition, the sequencer type names are quite verbose, encoding
    what the type includes, but also what it *excludes*.  Rename the
    sequencer types in a way that mainly describes the number of passes
    that a packet takes through the IPA processing pipeline, and how
    many of those passes end by supplying the processed packet to the
    microprocessor.
    
    The result expands the supported types beyond what is required for
    now, but simplifies the way these are defined.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8ee5df65
ipa_reg.h 25.7 KB