lkml.org 
[lkml]   [2022]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH net-next v2 0/9] net: ipa: support more endpoints
    Date
    This series adds support for more than 32 IPA endpoints.  To do
    this, five registers whose bits represent endpoint state are
    replicated as needed to represent endpoints beyond 32. For existing
    platforms, the number of endpoints is never greater than 32, so
    there is just one of each register. IPA v5.0+ supports more than
    that though; these changes prepare the code for that.

    Beyond that, the IPA fields that represent endpoints in a 32-bit
    bitmask are updated to support an arbitrary number of these endpoint
    registers. (There is one exception, explained in patch 7.)

    The first two patches are some sort of unrelated cleanups, making
    use of a helper function introduced recently.

    The third and fourth use parameterized functions to determine the
    register offset for registers that represent endpoints.

    The last five convert fields representing endpoints to allow more
    than 32 endpoints to be represented.

    Since v1, I have implemented Jakub's suggestions:
    - Don't print a message on (bitmap) memory allocation failure
    - Do not do "mass null checks" when allocating bitmaps
    - Rework some code to ensure error path is sane

    -Alex

    Alex Elder (9):
    net: ipa: reduce arguments to ipa_table_init_add()
    net: ipa: use ipa_table_mem() in ipa_table_reset_add()
    net: ipa: add a parameter to aggregation registers
    net: ipa: add a parameter to suspend registers
    net: ipa: use a bitmap for defined endpoints
    net: ipa: use a bitmap for available endpoints
    net: ipa: support more filtering endpoints
    net: ipa: use a bitmap for set-up endpoints
    net: ipa: use a bitmap for enabled endpoints

    drivers/net/ipa/ipa.h | 26 ++--
    drivers/net/ipa/ipa_endpoint.c | 185 ++++++++++++++++-----------
    drivers/net/ipa/ipa_endpoint.h | 2 +-
    drivers/net/ipa/ipa_interrupt.c | 34 +++--
    drivers/net/ipa/ipa_main.c | 7 +-
    drivers/net/ipa/ipa_table.c | 91 +++++++------
    drivers/net/ipa/ipa_table.h | 6 +-
    drivers/net/ipa/reg/ipa_reg-v3.1.c | 13 +-
    drivers/net/ipa/reg/ipa_reg-v3.5.1.c | 13 +-
    drivers/net/ipa/reg/ipa_reg-v4.11.c | 13 +-
    drivers/net/ipa/reg/ipa_reg-v4.2.c | 13 +-
    drivers/net/ipa/reg/ipa_reg-v4.5.c | 13 +-
    drivers/net/ipa/reg/ipa_reg-v4.9.c | 13 +-
    13 files changed, 241 insertions(+), 188 deletions(-)

    --
    2.34.1

    \
     
     \ /
      Last update: 2022-11-02 23:12    [W:3.793 / U:0.320 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site