Commit graph

126 commits

Author SHA1 Message Date
Mark Johnston
6752417b9b bnxt: Fix the request length in bnxt_hwrm_func_backing_store_cfg()
PR:		286720
Reviewed by:	zlei
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D50491

(cherry picked from commit 5ca390f03bc63bccc8952313d536fd4bcabf2cab)
2025-10-06 17:01:22 +02:00
Gordon Bergling
ab511ac2ed bnxt(4): Fix typos in a comment and a kernel message
- s/priviledged/privileged/

(cherry picked from commit 74eb496c1019f702a28b4fa757f1139fbcf44895)
2025-08-26 10:25:58 +02:00
Kevin Bowling
0e656cb466 bnxt: Fix BASE-T, 40G AOC, 1G-CX, autoneg and unknown media lists
This was broken in c63d67e137f3, the early returns prevent building the
media lists as expected.

The BASE-T parts of the patch were suggested by "cyric@mm.st", while I
am adding the additional 40G AOC, 1CX, autoneg and unknown PHY fixes
based on code inspection.  There may be additional work left here for
Broadcom but this is certainly better than the returns.

PR:		287395

Reported by:	mickael.maillot@gmail.com, cyric@mm.st
Tested by:	Einar Bjarni Halldórsson <einar@isnic.is>

(cherry picked from commit 5e6e4f752833acc96f1efc893318d3f6b74b9689)
2025-07-16 13:38:56 +02:00
Bjoern A. Zeeb
32ab81fa25 bnxt: add guards around struct_group macros
The header file might be included after linux/stddef.h or others are
included and the macros would be re-defined.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	imp
Differential Revision: https://reviews.freebsd.org/D50156

(cherry picked from commit 152e6197615570e7a2f5f1c6c2ed00ecee9dd10c)
2025-07-16 13:36:15 +02:00
Bjoern A. Zeeb
743d465e86 LinuxKPI: MODULE_DEVICE_TABLE() factor out the bus specific MODULE_PNP_INFO()
In order to be able to use MODULE_DEVICE_TABLE() with multiple bus
attachments, factor out the bus-specfic MODULE_PNP_INFO() and place
it next to the structure defining the table.

As it turns out bnxt(4) has been using the MODULE_DEVICE_TABLE() with
PCI attachments for the "auxillary" bus so far.  That makes little sense.
Define the MODULE_PNP_INFO() to nothing for that.  We may consider
pulling these LinucKPI bits in semi-native drivers into LinuxKPI
one day as that route is not really sustainabke.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	imp, dumbbell
Differential Revision: https://reviews.freebsd.org/D51049

(cherry picked from commit 2f5666c1727c949491f73e6c3277b7b542131714)
2025-07-16 08:34:33 +02:00
Sreekanth Reddy
47a360ff22 bnxt_en: Thor2 Ring counters not incrementing during traffic
The ctx_hw_stats_ext DMA address was not correctly passed to the
firmware during the HWRM_STAT_CTX_ALLOC allocation, causing stats to not
populate for Thor2.  Passing the correct DMA length resolved the issue

MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49732
(cherry picked from commit fec0e2064818f991867c9851a837012ea31774da)
2025-04-27 16:02:59 -06:00
Sreekanth Reddy
4ed8c41831 bnxt_en: Unhandled async event type 76
The completion event type 76 is not supported by the driver. Instead of
flooding the dmesg with "Unknown event type" messages when this event
occurs, move the print under debug level.

MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49731
(cherry picked from commit 6450d937955fcd1ab9034c49d53306e882c4a281)
2025-04-27 16:02:59 -06:00
Sreekanth Reddy
ced1133739 bnxt_en: Thor2 Specific Doorbell related changes
Doorbell offset :
For Thor controllers doorbell offset was always hardcoded to 0x10000 for
PF devices where as for Thor2 controllers doorbell offset will be
legacy_l2_db_size_kb value provided by firmware through hwrm_func_qcfg
command.

CQ Toggle & Epoch bits support :
In order to handle out of order doorbell handling as part of Dropped
Doorbell Recovery, HW expects two changes in the driver in data path.

- First change is the epoch bit changes while updating the producer
indexes of Tx. This epoch bit is toggled by the driver, each time the
queue is wrapped for that specific doorbell.

- The second change is to add a toggle bit pair to each ARM type
doorbell.  This includes the CQ_ARMALL, CQ_ARMSE, CQ_ARMENA
doorbells. The toggle bit pair in context is incremented by the chip
each time a new NQE completion is generated by the chip. To keep the
driver in-sync, the toggle bit pair will be passed in the NQE to the
host completion. This will be the toggle bit pair value that the host
must use to setup the next NQE operation. The driver will pass that
latest toggle bit pair value into the ARM type doorbells it generates to
the chip. The doorbell clients will compare the toggle bit pair in each
doorbell with the value in context.  If the values match, the doorbell
will be honored. If the values do not match, the doorbell will be
discarded.

MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49730
(cherry picked from commit 39c0b8b7994b0d339bffb0b17291c4a2b14cae3a)
2025-04-27 16:02:59 -06:00
Sreekanth Reddy
32fdad17f0 bnxt_en: 400G speed support
Added 400G speed module support.

MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49729
(cherry picked from commit dac78335c42dce2ce9daf5856539510a42d7d8cd)
2025-04-27 16:02:59 -06:00
Sreekanth Reddy
dd6c9bcdcc if_bnxt: add support for RX completion record type V3
Added support for  RX V3 completion record types-
CMPL_BASE_TYPE_RX_TPA_START_V3 and CMPL_BASE_TYPE_RX_L2_V3.

MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49728
(cherry picked from commit 526d74f6ca55c7a4b9c0c745d13e94c7a7bb6e0b)
2025-04-27 16:02:58 -06:00
Sreekanth Reddy
baa2ff7ac8 bnxt_en: Add backing store V2 support
Add backing store V2 support.
Thor2 controllers supports only the V2 support.

MFC-After: 3 days
Reviewed-by: Warner Losh <imp@FreeBSD.org>
Differential-Revision: https://reviews.freebsd.org/D49727
(cherry picked from commit d5ce906da7c55085f93fce096ebb8bc44a3cffe5)
2025-04-27 16:02:58 -06:00
Sreekanth Reddy
e2692e8aa2 bnxt_en: Update HSI header
Update HSI header to support Thor2 controllers.

MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49726
(cherry picked from commit bb90baed6c275495b03adc5569346a59fce2a3c8)
2025-04-27 16:02:58 -06:00
Sreekanth Reddy
45e161020c bnxt_en: Add 5760X (Thor2) PCI IDs support
Add Thor2 PCI IDs.

Reviewed-by: Warner Losh <imp@FreeBSD.org>
Reviewed-by: Sumit Saxena <sumit.saxena@broadcom.com>
MFC-After: 3 days
Differential-Revision: https://reviews.freebsd.org/D49725
(cherry picked from commit 26bd37da01cff2b2024f3f63b9ca318bf3a01669)
2025-04-27 16:02:58 -06:00
Krzysztof Galazka
7313d4a3dc iflib(4): Replace admin taskqueue group with per-interface taskqueues
Using one taskqueue group with single thread to execute all admin
tasks may lead to unexpected timeouts when long running task (e.g.
handling a reset after FW update) for one interface prevents
tasks from other interfaces being executed. Taskqueue group API
doesn't let to dynamically add threads, and pre-allocating thread
for each CPU as it's done for traffic queues would be a waste
of resources on systems with small number of interfaces. Replace
global taskqueue group for admin tasks with taskqueue allocated
for each interface to allow independent execution.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Reviewed by: imp, jhb
Pull Request: https://github.com/freebsd/freebsd-src/pull/1336
(cherry picked from commit 3ad01642fe9e241124553f2f18fd365ffea5d20b)
2025-04-27 16:02:58 -06:00
Vinícius Ferrão
54f842ed88 /sys/dev/bnxt: Enable NPAR support on BCM57504
This commit enables NPAR support for Broadcom 57504 10/25GbE NICs

Signed-off-by: Vinícius Ferrão <vinicius@ferrao.net.br>
Reviewed by: imp,ssaxena,nightquick@proton.me
Pull Request: https://github.com/freebsd/freebsd-src/pull/1306
(cherry picked from commit 0bff716674418ec9f8c48131fb34cafc0af671e8)
2025-04-27 16:02:58 -06:00
Zhenlei Huang
43339e7fc8 bnxt_en: Improve sysctl handler bnxt_dcb_list_app()
Prefer sbuf_new_for_sysctl() over error-prone manually managed buffer.

No functional change intended.

Reviewed by:	markj
Tested by:	Daniel Porsch <daniel.porsch@loopia.se>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D48496

(cherry picked from commit 91bae242bc54856c560557b5ba245df94d570e95)
2025-02-22 10:50:55 +08:00
Zhenlei Huang
072303d432 bnxt_en: Remove pointless NULL check for sysctl arg1
Those sysctl handlers have been guaranteed to have non-null softc. No
need for NULL check within sysctl handlers.

No functional change intended.

Reviewed by:	markj
Tested by:	Daniel Porsch <daniel.porsch@loopia.se>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D48495

(cherry picked from commit 747fd2db538a85df84ae6ac1e58494295b4a65ee)
2025-02-22 10:50:55 +08:00
Zhenlei Huang
83c27109b9 bnxt_en: Fix the description of sysctl knob dev.bnxt.X.dcb.dcbx_cap
While here, update the description of dev.bnxt.X.dcb to more informative
words "Data Center Bridging".

Reviewed by:	markj
Fixes:	35b53f8c989f bnxt_en: Add PFC, ETS & App TLVs protocols support
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D48993

(cherry picked from commit 0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3)
2025-02-22 10:50:55 +08:00
Zhenlei Huang
acc2d47123 bnxt_en: Retrieve maximum of 128 APP TLVs
It appears that the maximum number of APP TLVs supported by the hardware
is 128 according to D45005. Well Daniel Porsch reported an issue PR284073
which shows that the number can exceed the limit, causing out of bound
write to on-stack allocated variable app[128] and the kernel panics.

Limit to 128 while retrieving APP TLVs.

PR:		284073
Reviewed by:	markj
Tested by:	Daniel Porsch <daniel.porsch@loopia.se>
Fixes:	35b53f8c989f bnxt_en: Add PFC, ETS & App TLVs protocols support
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D48589

(cherry picked from commit 3de231b4d956f7b9c22e31f75805030a417f7bf3)
2025-02-22 10:50:55 +08:00
Zhenlei Huang
e763c326fc bnxt(4): Stop checking for failures from malloc(M_WAITOK)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D45852

(cherry picked from commit dcd387aaa5d4409a7e99376e0254029fce1a48a8)
2024-09-30 12:44:20 +08:00
Vladimir Kondratyev
ef2a82120f LinuxKPI: Add min_not_zero() to linux/minmax.h
It returns the minimum that is not zero, except both equals to zero.

Sponsored by:	Serenity Cyber Security, LLC
MFC after:	1 week
Reviewed by:	bz, emaste, ssaxena
Differential Revision:	https://reviews.freebsd.org/D45450
Differential Revision:	https://reviews.freebsd.org/D45451

(cherry picked from commit 07c7c41ca1e31c20c2e2d8fb68c148f521831e4d)
2024-08-02 00:09:39 +03:00
Mark Johnston
54478f4b7e bnxt_re: Explicitly cast pointer-to-integer conversions
Reported by:	Jenkins
Fixes:	acd884dec99a ("RDMA/bnxt_re: Add bnxt_re RoCE driver")

(cherry picked from commit bbe42332e5b2cbe16a885360fad4462d13c7b357)
2024-06-03 13:23:15 -06:00
Sumit Saxena
93265fb21c RDMA/bnxt_re: Add bnxt_re RoCE driver
This patch introduces the RoCE driver for the
Broadcom NetXtreme-E 10/25/50/100/200G RoCE HCAs.

The RoCE driver is a two part driver that relies
on the bnxt_en NIC driver to operate. The changes
needed in the bnxt_en driver is included through
another patch "L2-RoCE driver communication interface"
in this set.

Presently, There is no user space support, Hence
recommendation to use the krping kernel module for
testing. User space support will be incorporated in
subsequent patch submissions.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45011

(cherry picked from commit acd884dec99adcf8c4cdd0aa8a50be79c216f8e8)
2024-06-03 13:23:15 -06:00
Chandrakanth patil
7a63abf952 bnxt_en: Driver version update to 230.0.133.0
Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45010

(cherry picked from commit 862af86f4b7d2aec0623d19796e79cf96b4c7af6)
2024-06-03 13:23:14 -06:00
Chandrakanth patil
7f352c7d5f bnxt_en: Firmware header version update to 1.10.3.42
This file is automatically generated from the firmware code to
export the driver interfaces.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45009

(cherry picked from commit 3d8bbe001115f3e9742c128716335e654729ce1a)
2024-06-03 13:23:14 -06:00
Chandrakanth patil
9464f91b31 bnxt_en: Firmware error recovery support
Implement firmware error recovery support for Thor adapters.
This entails enabling the capability for the firmware to initiate
error recovery. Specifically, the firmware will send the reset notify
asynchronous event to notify the driver of an error and impending reset.
Subsequently, the driver will queue a task to execute the following steps.

1. Deactivate the allocated resources.
2. Await completion of the firmware's recovery process.
3. Configure the resources and reactivate the network interface.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45008

(cherry picked from commit c9965974a52b5dfad1737706b7f2623d999fb569)
2024-06-03 13:23:14 -06:00
Chandrakanth patil
fba2468e16 bnxt_en: Added support for priority queues extended stats
Below priority queues extended stats are exposed to sysctl:

tx_bytes_pri{0-7}
rx_bytes_pri{0-7}
tx_packets_pri{0-7}
rx_packets_pri{0-7}

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45007

(cherry picked from commit 032899b59c25389e60a0a092a0dad347102a6edc)
2024-06-03 13:23:14 -06:00
Chandrakanth patil
107e02d706 bnxt_en: L2-RoCE driver communication interface
- Added Aux bus support for RoCE.
- Implemented the ulp ops that are required by RoCE driver.
- Restructure context memory data structures
- DBR pacing support

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45006

(cherry picked from commit 050d28e13cdede7528944c0abf8d0455729c63fd)
2024-06-03 13:23:14 -06:00
Chandrakanth patil
ac940a8b92 bnxt_en: Add PFC, ETS & App TLVs protocols support
Created new directory "bnxt_en" in /dev/bnxt and /modules/bnxt
and moved source files and Makefile into respective directory.

ETS support:

   - Added new files bnxt_dcb.c & bnxt_dcb.h
   - Added sysctl node 'dcb' and created handlers 'ets' and
     'dcbx_cap'
   - Add logic to validate user input and configure ETS in
     the firmware
   - Updated makefile to include bnxt_dcb.c & bnxt_dcb.h

PFC support:

   - Created sysctl handlers 'pfc' under node 'dcb'
   - Added logic to validate user input and configure PFC in
     the firmware.

App TLV support:

   - Created 3 new sysctl handlers under node 'dcb'
       - set_apptlv (write only): Sets a specified TLV
       - del_apptlv (write only): Deletes a specified TLV
       - list_apptlv (read only): Lists all APP TLVs configured
   - Added logic to validate user input and configure APP TLVs
     in the firmware.

Added Below DCB ops for management interface:

   - Set PFC, Get PFC, Set ETS, Get ETS, Add App_TLV, Del App_TLV
     Lst App_TLV

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D45005

(cherry picked from commit 35b53f8c989f62286aad075ef2e97bba358144f8)
2024-06-03 13:23:14 -06:00
Chandrakanth Patil
e7b0af020c if_bnxt: Set 1G/10G baseT force speed as auto speeds
The firmware lacks support for manually setting 1G and 10G baseT speeds.
However, the driver can enable auto speed masks to achieve automatic configuration
at these speeds.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42960

(cherry picked from commit 770e7ba3ebe87ba7ffc872c87de72707757b4e25)
2024-06-03 13:23:14 -06:00
Chandrakanth Patil
def6e32283 if_bnxt: 50G, 100G and 200G PAM4 support
Add support for 50G, 100G and 200G PAM4 support

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42959

(cherry picked from commit c63d67e137f353f4bc4d0d56bd793f83204a3e1e)
2024-06-03 13:23:13 -06:00
Sumit Saxena
43d9017a2f if_bnxt: Pluggable Module Display Support
This update enables the display of pluggable module information
to users via the ifconfig utility.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42958

(cherry picked from commit 3320f0f69f06df5c36daa8ff71e0c07908ff0f1a)
2024-06-03 13:23:13 -06:00
Chandrakanth Patil
9b5383c53e if_bnxt: Implementation of Extended Port Hardware Stats Support for THOR Controller
The newly added port extended hardware statistics are now accessible to
users through the sysctl interface. Also, Few obsolete stats are removed
and few stats are renamed.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42957

(cherry picked from commit d36b36621a9c0f785ebea495c57e975b8a526b67)
2024-06-03 13:23:13 -06:00
Chandrakanth Patil
1b5ff4b14d if_bnxt: Integrate AOC Cable Support into Current 40G PHY Speed
Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D429506

(cherry picked from commit 816abba22efcf1ba51f61b1d89320ca8b576274e)
2024-06-03 13:23:13 -06:00
Chandrakanth Patil
51f6f533ba if_bnxt: Update Firmware Header to Latest Version 1.10.2.136
Update Firmware Header to Latest Version 1.10.2.136.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42955

(cherry picked from commit 25f38d09907fdfcc473fdc53c17b7c2d8c7c09a1)
2024-06-03 13:23:13 -06:00
Chandrakanth Patil
baa7cf2524 if_bnxt: Update Maximum Configurable MTU from 9000 to 9600
Increasing the maximum configurable MTU from 9000 to 9600 to
align with the firmware's capability of handling an MTU up to 9600.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42954

(cherry picked from commit 8a3aab53e335dadb3c95c0eb0664143a955f1ab7)
2024-06-03 13:23:13 -06:00
Chandrakanth Patil
c75f0a568e if_bnxt: Enabled support for 1G SX, CX, and LX forced speed settings
Enabled User Configuration of 1G Speed on Wh+ SFP28 Port with AOC
cable.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42953

(cherry picked from commit 0f8d1a9e0cd26bf4dd0b2fe2d28c1ab15d03cce4)
2024-06-03 13:23:13 -06:00
Chandrakanth Patil
30ae347bc1 if_bnxt: Incorrect Labeling of Supported Medium in ifconfig -m <inf> Command
The 1G speed on DAC medium is incorrectly labeled as 1000baseT, it
should be 1000baseCX. Updated the label accordingly.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42952

(cherry picked from commit c5108e37fbf93a538c76325766b8a3d76a72f119)
2024-06-03 13:23:12 -06:00
Chandrakanth Patil
6288beb31e if_bnxt: Fix media speed update issue in "ifconfig -m" during PHY hot plug
Currently, if a media type (e.g., DAC) is hot-plugged out and another type
(e.g., optical cable) is hot-plugged in, the new speed is not reflected in
ifconfig. This occurs when the driver fails to update speeds with unchanged
tx and rx flow control.

To fix, a phy_type check ensures update of phy speeds upon detecting the new
phy.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42951

(cherry picked from commit 7cbffbfcd9a5185be61bec65790674159bb7c0a8)
2024-06-03 13:23:12 -06:00
Sumit Saxena
4083c62d69 if_bnxt: Correcting the firmware package version parsing logic
The firmware package version currently appears as "Unknown" through
the sysctl interface. The parsing logic for extracting the firmware
package version from the package log has been modified to ensure
compatibility with all controllers.

Reviewed by:            imp
Approved by:            imp
Differential revision:  https://reviews.freebsd.org/D42950

(cherry picked from commit e436cb79666db3c8bb167d47ca9803c36013e32c)
2024-06-03 13:23:12 -06:00
Mark Johnston
b3ed2b8086 bnxt: Handle errors from copyout() in ioctl handlers
This is in preparation for annotating copyin() and related functions
with __result_use_check.

MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D43178

(cherry picked from commit 243e3ab3d34ada9da4f202f8cab90da2d6c49e5e)
2024-01-18 10:53:37 -05:00
John Baldwin
efb26b3fe6 Update a couple of tools to not embed __FBSDID in generated files
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D41955

(cherry picked from commit 99159b076a278d1feb0e18ae99fd866c90443893)
2023-10-24 10:09:55 -07:00
Kevin Bowling
bce864d1c2 bnxt: Don't restart on VLAN changes
In rS360398, a new iflib device method was added with default of opt out
for VLAN events needing an interface reset.

This is unintentional for bnxt(4) and is causing another bug in its VLAN
initialization code to affect the common case of adding and removing
VLANs on an existing interface.

PR:		269133
Tested by:	kp
MFC after:	2 weeks
Sponsored by:	BBOX.io
Differential Revision:	https://reviews.freebsd.org/D41558
2023-08-24 13:46:56 -07:00
Marius Strobl
51e235148a iflib drivers: Constify PCI ID LUTs
Since d49e83eac3, iflib(9) is ready
for this change.
While at it, make isc_driver_version strings (static) const where
not apparently un-const on purpose, too.
This reduces the size of the amd64 GENERIC by about 10 KiB.
2023-08-17 20:34:23 +02:00
Warner Losh
031beb4e23 sys: Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16 11:54:58 -06:00
Warner Losh
685dc743dc sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-08-16 11:54:36 -06:00
Justin Hibbits
56c1eafe50 IfAPI: Finish conversion of bnxt(4) to IfAPI.
Sponsored by:	Juniper Networks, Inc.
2023-01-31 15:02:18 -05:00
Justin Hibbits
ec22a3a259 DrvAPI: Trivial mechanical conversions for various drivers
Mechanically convert the following drivers, with trivial changes:
* ipw(4)
* igc(4)
* enetc(4)
* malo(4)
* nfe(4)
* bxe(4)
* awg(4)
* otus(4)
* rtwn(4)
* bnxt(4)
* ath(4)

Sponsored by:	Juniper Networks, Inc.
2022-12-21 15:36:59 -05:00
Warner Losh
eb40e3e757 bnxt: Only filter out i386
Only i386 is missing bus_read_8. The other 32-bit platforms can be fixed
with a cast to a printf.

Suggested by:	kevans
Sponsored by:	Netflix
2022-11-04 22:40:00 -06:00
Sumit Saxena
58d84ef870 if_bnxt: Added support for mgmt interface for passthrough hwrms
Added support for application management interface. There are two types of commands supported:

1. Firmware IOCTLs: These ioctls are meant for firmware
   consumption. Driver acts as a transport for these.
2. Driver only IOCTLs: These ioctls are meant for driver
   consumption. Driver will serve these ioctls without sending them down
   to firmware.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D36448
2022-11-04 16:40:29 -06:00