9 Commits
Author SHA1 Message Date
Pavan Chebbi a373934e27 bnxt_en: Update bnxt firmware spec
Since bnxt_fwctl is going to support additional commands in the next
patch,  add their missing definitions from the firmware spec.

Signed-off-by: Pavan Chebbi <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jason Gunthorpe <[email protected]>
2026-08-07 14:18:13 -03:00
Pavan Chebbi 5102836da8 fwctl/bnxt_en: Create an aux device for fwctl
Create an additional auxiliary device to support fwctl.
The next patch will create bnxt_fwctl and bind to this
device.

Link: https://patch.msgid.link/r/[email protected]
Reviewed-by: Andy Gospodarek <[email protected]>
Reviewed-by: Leon Romanovsky <[email protected]>
Signed-off-by: Pavan Chebbi <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
2026-03-27 09:12:36 -03:00
Pavan Chebbi 2c7c85c8c7 fwctl/bnxt_en: Refactor aux bus functions to be more generic
Up until now there was only one auxiliary device that bnxt
created and that was for RoCE driver. bnxt fwctl is also
going to use an aux bus device that bnxt should create.
This requires some nomenclature changes and refactoring of
the existing bnxt aux dev functions.

Convert 'aux_priv' and 'edev' members of struct bnxt into
arrays where each element contains supported auxbus device's
data. Move struct bnxt_aux_priv from bnxt.h to ulp.h because
that is where it belongs. Make aux bus init/uninit/add/del
functions more generic which will loop through all the aux
device types. Make bnxt_ulp_start/stop functions (the only
other common functions applicable to any aux device) loop
through the aux devices to update their config and states.
Make callers of bnxt_ulp_start() call it only when there
are no errors.

Also, as an improvement in code, bnxt_register_dev() can skip
unnecessary dereferencing of edev from bp, instead use the
edev pointer from the function parameter.

Future patches will reuse these functions to add an aux bus
device for fwctl.

Link: https://patch.msgid.link/r/[email protected]
Reviewed-by: Andy Gospodarek <[email protected]>
Reviewed-by: Leon Romanovsky <[email protected]>
Signed-off-by: Pavan Chebbi <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
2026-03-27 09:12:36 -03:00
Pavan Chebbi 7be18a1fa0 fwctl/bnxt_en: Move common definitions to include/linux/bnxt/
We have common definitions that are now going to be used
by more than one component outside of bnxt (bnxt_re and
fwctl)

Move bnxt_ulp.h to include/linux/bnxt/ as ulp.h.

Link: https://patch.msgid.link/r/[email protected]
Reviewed-by: Andy Gospodarek <[email protected]>
Reviewed-by: Leon Romanovsky <[email protected]>
Cc: [email protected]
Signed-off-by: Pavan Chebbi <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
2026-03-27 09:12:36 -03:00
Michael Chan fdb573d675 bnxt_en: Update FW interface to 1.10.3.151
The main changes are the new HWRM_PORT_PHY_FDRSTAT command to collect
FEC histogram bins and the new HWRM_NVM_DEFRAG command to defragment the
NVRAM.  There is also a minor name change in struct hwrm_vnic_cfg_input
that requires updating the bnxt_re driver's main.c.

Signed-off-by: Michael Chan <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
2026-01-10 15:19:50 -08:00
Michael Chan fa18932afb bnxt_en: Implement ethtool .set_tunable() for ETHTOOL_PFC_PREVENTION_TOUT
Support the setting of the tunable if it is supported by firmware.
The supported range is 0 to the maximum msec value reported by
firmware.  PFC_STORM_PREVENTION_AUTO is also supported and 0 means it
is disabled.

Reviewed-by: Andy Gospodarek <[email protected]>
Signed-off-by: Michael Chan <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
2025-09-18 13:09:43 +02:00
Michael Chan 6684b91d04 bnxt_en: Implement ethtool .get_tunable() for ETHTOOL_PFC_PREVENTION_TOUT
Return the current PFC watchdog timeout value if it is supported.

Reviewed-by: Andy Gospodarek <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Signed-off-by: Michael Chan <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
2025-09-18 13:09:43 +02:00
Michael Chan 5f8a4f34f6 bnxt_en: hsi: Update FW interface to 1.10.3.133
The major change is struct pcie_ctx_hw_stats_v2 which has new latency
histograms added.

Signed-off-by: Michael Chan <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
2025-08-20 19:34:07 -07:00
Andy Gospodarek c34632dbb2 bnxt: move bnxt_hsi.h to include/linux/bnxt/hsi.h
This moves bnxt_hsi.h contents to a common location so it can be
properly referenced by bnxt_en, bnxt_re, and bnge.

Signed-off-by: Andy Gospodarek <[email protected]>
Signed-off-by: Michael Chan <[email protected]>
Signed-off-by: Pavan Chebbi <[email protected]>
Reviewed-by: Vadim Fedorenko <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
2025-07-15 16:03:24 -07:00