public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH fwctl 0/5] fwctl/bnxt_fwctl: fwctl for Broadcom Netxtreme devices
@ 2026-01-18 12:33 Pavan Chebbi
  2026-01-18 12:33 ` [PATCH fwctl 1/5] fwctl/bnxt_en: Move common definitions to include/linux/bnxt/ Pavan Chebbi
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Pavan Chebbi @ 2026-01-18 12:33 UTC (permalink / raw)
  To: jgg, michael.chan
  Cc: linux-kernel, dave.jiang, saeedm, Jonathan.Cameron, gospo,
	selvin.xavier, leon, kalesh-anakkur.purayil, Pavan Chebbi

Introducing bnxt_fwctl which follows along Jason's work [1].
It is an aux bus driver that enables fwctl for Broadcom
NetXtreme 574xx, 575xx and 576xx series chipsets by using
bnxt driver's capability to talk to devices' firmware.

The first patch moves the ULP definitions to a common place
inside include/linux/bnxt/. The second and third patches
refactor and extend the existing bnxt aux bus functions to
be able to add more than one auxiliary device. The last three
patches create an additional bnxt aux device, add bnxt_fwctl,
and the documentation.

Based on the feedback received on v5 here:
https://lore.kernel.org/netdev/20251014081033.1175053-1-pavan.chebbi@broadcom.com/ ,
posting this new series to fwctl tree.

This series has the below changes from v5 that was posted to
netdev:
Patch #2: Addressed Leon's comment regarding defensive programming
style of aux dev functions
Patch #4: Removed support for commands that don't comply with fwctl
guidelines. Also addressed additional comments from Jonathan
Patch #5: Added info for example python3 program

v5: Addressed the v4's review comments as below:
Patch #2 and #3: Simplified aux bus device creation logic by
having the core maintain arrays of pointers to aux devices and
their contexts, thereby avoiding function calls from aux dev.
[thanks Leon]
Patch #4: Used memdup_user() as suggested by cocci. Addressed
additional review comments from Jonathon and Dave. Collected
Rb tags from Dave.

v4: In patch #4, added the missing kfree on error for response
buffer. Improved documentation in patch #5 based on comments
from Dave.

v3: Addressed the review comments as below
Patch #1: Removed redundant common.h [thanks Saeed]
Patch #2 and #3 merged into a single patch [thanks Jonathan]
Patch #3: Addressed comments from Jonathan
Patch #4 and #5: Addressed comments from Jonathan and Dave

v2: In patch #5, fixed a sparse warning where a __le16 was
degraded to an integer. Also addressed kdoc warnings for
include/uapi/fwctl/bnxt.h in the same patch.

The following are changes since commit e84d960149e71e8d5e4db69775ce31305898ed0c:
  Merge tag 'for-6.19-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
and are available in the git repository at:
  https://github.com/pavanchebbi/linux/tree/fwctl-bnxt

[1] https://lore.kernel.org/netdev/0-v5-642aa0c94070+4447f-fwctl_jgg@nvidia.com/

Pavan Chebbi (5):
  fwctl/bnxt_en: Move common definitions to include/linux/bnxt/
  fwctl/bnxt_en: Refactor aux bus functions to be more generic
  fwctl/bnxt_en: Create an aux device for fwctl
  fwctl/bnxt_fwctl: Add bnxt fwctl device
  fwctl/bnxt_fwctl: Add documentation entries

 .../userspace-api/fwctl/bnxt_fwctl.rst        |  83 ++++
 Documentation/userspace-api/fwctl/fwctl.rst   |   1 +
 Documentation/userspace-api/fwctl/index.rst   |   1 +
 MAINTAINERS                                   |   6 +
 drivers/fwctl/Kconfig                         |  11 +
 drivers/fwctl/Makefile                        |   1 +
 drivers/fwctl/bnxt/Makefile                   |   4 +
 drivers/fwctl/bnxt/main.c                     | 416 ++++++++++++++++++
 drivers/infiniband/hw/bnxt_re/debugfs.c       |   2 +-
 drivers/infiniband/hw/bnxt_re/main.c          |   2 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c      |   2 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.h     |   2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c     |  31 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  17 +-
 .../net/ethernet/broadcom/bnxt/bnxt_devlink.c |   2 +-
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c |   4 +-
 .../net/ethernet/broadcom/bnxt/bnxt_sriov.c   |   2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 331 ++++++++------
 .../bnxt_ulp.h => include/linux/bnxt/ulp.h    |  24 +-
 include/uapi/fwctl/bnxt.h                     |  64 +++
 include/uapi/fwctl/fwctl.h                    |   1 +
 21 files changed, 847 insertions(+), 160 deletions(-)
 create mode 100644 Documentation/userspace-api/fwctl/bnxt_fwctl.rst
 create mode 100644 drivers/fwctl/bnxt/Makefile
 create mode 100644 drivers/fwctl/bnxt/main.c
 rename drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h => include/linux/bnxt/ulp.h (87%)
 create mode 100644 include/uapi/fwctl/bnxt.h

-- 
2.39.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-01-25 16:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-18 12:33 [PATCH fwctl 0/5] fwctl/bnxt_fwctl: fwctl for Broadcom Netxtreme devices Pavan Chebbi
2026-01-18 12:33 ` [PATCH fwctl 1/5] fwctl/bnxt_en: Move common definitions to include/linux/bnxt/ Pavan Chebbi
2026-01-25 12:35   ` Leon Romanovsky
2026-01-18 12:33 ` [PATCH fwctl 2/5] fwctl/bnxt_en: Refactor aux bus functions to be more generic Pavan Chebbi
2026-01-25 13:09   ` Leon Romanovsky
2026-01-25 13:50     ` Pavan Chebbi
2026-01-25 16:43       ` Leon Romanovsky
2026-01-18 12:33 ` [PATCH fwctl 3/5] fwctl/bnxt_en: Create an aux device for fwctl Pavan Chebbi
2026-01-18 12:34 ` [PATCH fwctl 4/5] fwctl/bnxt_fwctl: Add bnxt fwctl device Pavan Chebbi
2026-01-25 13:19   ` Leon Romanovsky
2026-01-18 12:34 ` [PATCH fwctl 5/5] fwctl/bnxt_fwctl: Add documentation entries Pavan Chebbi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox