<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-06-15T11:34:12Z</updated>
<entry>
<title>if_bnxt: Add support for HWRM passthrough with multiple DMA buffers</title>
<updated>2026-06-15T11:34:12Z</updated>
<author>
<name>Sreekanth Reddy</name>
<email>sreekanth.reddy@broadcom.com</email>
</author>
<published>2026-06-15T09:49:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9d87ca8b9f60bdec0bbc1733920df250a08beb0c'/>
<id>urn:sha1:9d87ca8b9f60bdec0bbc1733920df250a08beb0c</id>
<content type='text'>
Added support for HWRM passthrough commands with multiple DMA buffers.

Also, changed the mgmt_lock to sleepable exclusive lock.

MFC after:      2 weeks
Reviewed by:    gallatin, ssaxena
Differential Revision: https://reviews.freebsd.org/D56686
</content>
</entry>
<entry>
<title>if_bnxt: Add Firmware crashdump collection support</title>
<updated>2026-06-15T11:33:51Z</updated>
<author>
<name>Sreekanth Reddy</name>
<email>sreekanth.reddy@broadcom.com</email>
</author>
<published>2026-06-15T09:46:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=03839879a2dd2505eab80b99211b0637ebdc9d32'/>
<id>urn:sha1:03839879a2dd2505eab80b99211b0637ebdc9d32</id>
<content type='text'>
This patch adds support for DDR-based firmware coredump memory handling.
It detects firmware coredump capability, allocates host DDR (DMA) memory
for crash dumps, and programs the firmware with the allocated memory during
attach. The allocated memory is released during driver detach.

Also, This patch adds functions to retrieve crash dump data from host DDR
memory. The implementation handles data copying from page tables and
checks dump availability. Main function bnxt_get_coredump() copies
stored crash dump data from DDR memory to the application buffer.

MFC after:      2 weeks
Reviewed by:    gallatin, ssaxena
Differential Revision: https://reviews.freebsd.org/D56684
</content>
</entry>
<entry>
<title>if_bnxt/bnxt_re: add support for driver snapdump</title>
<updated>2026-06-15T11:30:40Z</updated>
<author>
<name>Sreekanth Reddy</name>
<email>sreekanth.reddy@broadcom.com</email>
</author>
<published>2026-06-15T09:40:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f85e66e655c9293ea049814e21ed67ab246a7305'/>
<id>urn:sha1:f85e66e655c9293ea049814e21ed67ab246a7305</id>
<content type='text'>
Add a logging module which helps to log and collect the driver`s
various events and state of device data structures.
APIs help modules like l2, RoCE etc. to register and
add logs into thg buffers. A segment header is added to the
data available in buffers.

The final log messages are arranged in following fashion

|SegHeader0|Data0|SegHeader1|Data1|
Logging module provides two different kinds of buffers:
a) A large contiguous memory chunk is used to form circular buffers.

Module need to provide a number of buffers while registering to
the logging module.Please note that, since memory for the
buffers remains with the module as long as it is registered, memory
footprints of the driver could be higher so the modules should
allocate an appropriate number of buffers. Also, due to limited
space, modules should only log important events/messages into
the buffer.
Modules  must use bnxt_log_add_mssg() to add the message into the
list.
b) Live buffer - They are allocated during coredump retrieval and

freed after the coredump data is returned to the user. This helps
to collect live data from the driver. Modules must use the
bnxt_log_live() function to add the log messages.
When coredump is retrieved all the messages available in above buffers are
copied into the coredump buffer.

Test Plan:
Generate the coredump using below niccli command
./niccli.freebsd -i 1 debug --coredump

and then verify the coredump contents using the Broadcom's Coredump decoder.

MFC after:      2 weeks
Reviewed by:    gallatin, ssaxena
Differential Revision: https://reviews.freebsd.org/D56682
</content>
</entry>
<entry>
<title>bnxt: Fix up ioctl opcodes to support IOC_VOID along with IOC_IN</title>
<updated>2026-01-09T10:40:18Z</updated>
<author>
<name>Sumit Saxena</name>
<email>ssaxena@FreeBSD.org</email>
</author>
<published>2026-01-09T10:28:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d53d7b466016408229491cfd2f8bdc742ff642e3'/>
<id>urn:sha1:d53d7b466016408229491cfd2f8bdc742ff642e3</id>
<content type='text'>
The driver and applications currently use hard-coded numeric ioctl command
opcodes. These opcodes are interpreted as having the IOC_IN direction (data
copied from the user application to the driver), regardless of the actual packet
size. Consequently, when the packet size is zero and the direction is set to
IOC_IN, the kernel fails these ioctls if COMPAT is disabled.

While the driver and applications should ideally set the direction correctly—
for example, using IOC_VOID when the packet size is zero—the driver will now
be updated to define ioctl opcodes using the _IOC macro to support both
IOC_VOID and IOC_IN. This change ensures backward compatibility with older
applications that exclusively use IOC_IN.

Reviewed by: gallatin
Differential Revision: https://reviews.freebsd.org/D54601
MFC after: 3 days
</content>
</entry>
<entry>
<title>bnxt_en: Retrieve maximum of 128 APP TLVs</title>
<updated>2025-02-14T10:38:29Z</updated>
<author>
<name>Zhenlei Huang</name>
<email>zlei@FreeBSD.org</email>
</author>
<published>2025-02-14T10:38:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3de231b4d956f7b9c22e31f75805030a417f7bf3'/>
<id>urn:sha1:3de231b4d956f7b9c22e31f75805030a417f7bf3</id>
<content type='text'>
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 &lt;daniel.porsch@loopia.se&gt;
Fixes:	35b53f8c989f bnxt_en: Add PFC, ETS &amp; App TLVs protocols support
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D48589
</content>
</entry>
<entry>
<title>bnxt(4): Stop checking for failures from malloc(M_WAITOK)</title>
<updated>2024-09-03T10:25:25Z</updated>
<author>
<name>Zhenlei Huang</name>
<email>zlei@FreeBSD.org</email>
</author>
<published>2024-09-03T10:25:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dcd387aaa5d4409a7e99376e0254029fce1a48a8'/>
<id>urn:sha1:dcd387aaa5d4409a7e99376e0254029fce1a48a8</id>
<content type='text'>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D45852
</content>
</entry>
<entry>
<title>bnxt_en: Add PFC, ETS &amp; App TLVs protocols support</title>
<updated>2024-05-28T10:15:29Z</updated>
<author>
<name>Chandrakanth patil</name>
<email>chandrakanth.patil@broadcom.com</email>
</author>
<published>2024-04-28T09:24:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=35b53f8c989f62286aad075ef2e97bba358144f8'/>
<id>urn:sha1:35b53f8c989f62286aad075ef2e97bba358144f8</id>
<content type='text'>
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 &amp; 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 &amp; 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
</content>
</entry>
</feed>
