Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Alex Elder <elder@linaro.org>
To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com
Cc: mka@chromium.org, evgreen@chromium.org, andersson@kernel.org,
	quic_cpratapa@quicinc.com, quic_avuyyuru@quicinc.com,
	quic_jponduru@quicinc.com, quic_subashab@quicinc.com,
	elder@kernel.org, netdev@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH net-next v2 0/9] net: ipa: support more endpoints
Date: Wed,  2 Nov 2022 17:11:30 -0500	[thread overview]
Message-ID: <20221102221139.1091510-1-elder@linaro.org> (raw)

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


             reply	other threads:[~2022-11-02 22:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-02 22:11 Alex Elder [this message]
2022-11-02 22:11 ` [PATCH net-next v2 1/9] net: ipa: reduce arguments to ipa_table_init_add() Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 2/9] net: ipa: use ipa_table_mem() in ipa_table_reset_add() Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 3/9] net: ipa: add a parameter to aggregation registers Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 4/9] net: ipa: add a parameter to suspend registers Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 5/9] net: ipa: use a bitmap for defined endpoints Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 6/9] net: ipa: use a bitmap for available endpoints Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 7/9] net: ipa: support more filtering endpoints Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 8/9] net: ipa: use a bitmap for set-up endpoints Alex Elder
2022-11-02 22:11 ` [PATCH net-next v2 9/9] net: ipa: use a bitmap for enabled endpoints Alex Elder
2022-11-04 10:20 ` [PATCH net-next v2 0/9] net: ipa: support more endpoints patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221102221139.1091510-1-elder@linaro.org \
    --to=elder@linaro.org \
    --cc=andersson@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=elder@kernel.org \
    --cc=evgreen@chromium.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=quic_avuyyuru@quicinc.com \
    --cc=quic_cpratapa@quicinc.com \
    --cc=quic_jponduru@quicinc.com \
    --cc=quic_subashab@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox