mbox series

[net-next,v2,0/9] net: ipa: support more endpoints

Message ID 20221102221139.1091510-1-elder@linaro.org (mailing list archive)
Headers show
Series net: ipa: support more endpoints | expand

Message

Alex Elder Nov. 2, 2022, 10:11 p.m. UTC
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(-)

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 4, 2022, 10:20 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Wed,  2 Nov 2022 17:11:30 -0500 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,1/9] net: ipa: reduce arguments to ipa_table_init_add()
    https://git.kernel.org/netdev/net-next/c/5cb76899fb47
  - [net-next,v2,2/9] net: ipa: use ipa_table_mem() in ipa_table_reset_add()
    https://git.kernel.org/netdev/net-next/c/6337b147828b
  - [net-next,v2,3/9] net: ipa: add a parameter to aggregation registers
    https://git.kernel.org/netdev/net-next/c/1d8f16dbdf36
  - [net-next,v2,4/9] net: ipa: add a parameter to suspend registers
    (no matching commit)
  - [net-next,v2,5/9] net: ipa: use a bitmap for defined endpoints
    (no matching commit)
  - [net-next,v2,6/9] net: ipa: use a bitmap for available endpoints
    https://git.kernel.org/netdev/net-next/c/88de7672404d
  - [net-next,v2,7/9] net: ipa: support more filtering endpoints
    https://git.kernel.org/netdev/net-next/c/0f97fbd47858
  - [net-next,v2,8/9] net: ipa: use a bitmap for set-up endpoints
    https://git.kernel.org/netdev/net-next/c/ae5108e9b7fa
  - [net-next,v2,9/9] net: ipa: use a bitmap for enabled endpoints
    https://git.kernel.org/netdev/net-next/c/9b7a00653651

You are awesome, thank you!