• Alex Elder's avatar
    net: ipa: add a parameter to aggregation registers · 1d8f16db
    Alex Elder authored
    Starting with IPA v5.0, a single IPA instance can have more than 32
    endpoints defined.  To handle this, each register that holds a
    bitmap of IPA endpoints is replicated as needed to represent the
    available endpoints.
    
    To prepare for this, registers that represent endpoint IDs in a bit
    mask will be defined to have a parameter, with a stride value of 4
    bytes.  The first 32 endpoints are represented in the first 32-bit
    register, then the next (up to) 32 endpoints at an offset 4 bytes
    higher.  When accessing such a register, the endpoint ID divided
    by 32 determines the offset, and the endpoint ID modulo 32 defines
    the endpoint's bit position within the register.
    
    The first two registers we'll update for this are STATE_AGGR_ACTIVE
    and AGGR_FORCE_CLOSE.
    
    Until more than 32 endpoints are supported, this change has no
    practical effect.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1d8f16db
ipa_reg-v4.2.c 14.5 KB