From: Michael Chan <michael.chan@broadcom.com>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, kuba@kernel.org, edwin.peer@broadcom.com,
gospo@broadcom.com
Subject: [PATCH net-next 00/11] bnxt_en: Implement new driver APIs to send FW messages
Date: Sat, 28 Aug 2021 17:58:19 -0400 [thread overview]
Message-ID: <1630187910-22252-1-git-send-email-michael.chan@broadcom.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2235 bytes --]
The current driver APIs to send messages to the firmware allow only one
outstanding message in flight. There is only one buffer for the firmware
response for each firmware channel. To send a firmware message, all
callers must take a mutex and it is released after the firmware response
has been read. This scheme does not allow multiple firmware messages
in flight. Firmware may take a long time to respond to some messages
(e.g. NVRAM related ones) and this causes the mutex to be held for
a long time, blocking other callers.
This patchset intoduces the new driver APIs to address the above
shortcomings. All callers are then updated to use the new APIs.
Edwin Peer (11):
bnxt_en: remove DMA mapping for KONG response
bnxt_en: Refactor the HWRM_VER_GET firmware calls
bnxt_en: move HWRM API implementation into separate file
bnxt_en: introduce new firmware message API based on DMA pools
bnxt_en: discard out of sequence HWRM responses
bnxt_en: add HWRM request assignment API
bnxt_en: add support for HWRM request slices
bnxt_en: use link_lock instead of hwrm_cmd_lock to protect link_info
bnxt_en: update all firmware calls to use the new APIs
bnxt_en: remove legacy HWRM interface
bnxt_en: support multiple HWRM commands in flight
drivers/net/ethernet/broadcom/bnxt/Makefile | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2129 ++++++++---------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 101 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 185 +-
.../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 81 +-
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 548 +++--
.../net/ethernet/broadcom/bnxt/bnxt_hwrm.c | 763 ++++++
.../net/ethernet/broadcom/bnxt/bnxt_hwrm.h | 145 ++
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 130 +-
.../net/ethernet/broadcom/bnxt/bnxt_sriov.c | 457 ++--
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 264 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 31 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 62 +-
13 files changed, 2901 insertions(+), 1997 deletions(-)
create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c
create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.h
--
2.18.1
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
next reply other threads:[~2021-08-28 21:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-28 21:58 Michael Chan [this message]
2021-08-28 21:58 ` [PATCH net-next 01/11] bnxt_en: remove DMA mapping for KONG response Michael Chan
2021-08-28 21:58 ` [PATCH net-next 02/11] bnxt_en: Refactor the HWRM_VER_GET firmware calls Michael Chan
2021-08-28 21:58 ` [PATCH net-next 03/11] bnxt_en: move HWRM API implementation into separate file Michael Chan
2021-08-28 21:58 ` [PATCH net-next 04/11] bnxt_en: introduce new firmware message API based on DMA pools Michael Chan
2021-08-29 0:13 ` kernel test robot
2021-08-28 21:58 ` [PATCH net-next 05/11] bnxt_en: discard out of sequence HWRM responses Michael Chan
2021-08-28 21:58 ` [PATCH net-next 06/11] bnxt_en: add HWRM request assignment API Michael Chan
2021-08-28 21:58 ` [PATCH net-next 07/11] bnxt_en: add support for HWRM request slices Michael Chan
2021-08-28 21:58 ` [PATCH net-next 08/11] bnxt_en: use link_lock instead of hwrm_cmd_lock to protect link_info Michael Chan
2021-08-28 21:58 ` [PATCH net-next 09/11] bnxt_en: update all firmware calls to use the new APIs Michael Chan
2021-08-29 3:49 ` kernel test robot
2021-08-28 21:58 ` [PATCH net-next 10/11] bnxt_en: remove legacy HWRM interface Michael Chan
2021-08-28 21:58 ` [PATCH net-next 11/11] bnxt_en: support multiple HWRM commands in flight Michael Chan
2021-08-28 22:07 ` [PATCH net-next 00/11] bnxt_en: Implement new driver APIs to send FW messages Andrew Lunn
2021-08-28 22:58 ` Michael Chan
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=1630187910-22252-1-git-send-email-michael.chan@broadcom.com \
--to=michael.chan@broadcom.com \
--cc=davem@davemloft.net \
--cc=edwin.peer@broadcom.com \
--cc=gospo@broadcom.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).