<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/bnxt, branch stable/14</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>LinuxKPI: pci: implementation of [lkpi_]pci_get_slot()</title>
<updated>2026-01-16T19:37:50+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2025-09-04T20:19:48+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8d76cbe16b42749336cf369fbba850bfb30e5cd6'/>
<id>8d76cbe16b42749336cf369fbba850bfb30e5cd6</id>
<content type='text'>
Like lkpi_pci_get_domain_bus_and_slot() implement lkpi_pci_get_slot()
using pci_find_bsf() instead of pci_find_dbsf() (no domain).
This is needed for a wireless driver.

Unfortunately the name [pci_get_slot()] collides with the native PCI
function.  Add a guard around it and disable the use when the native
version is required (in lkpifill_pci_dev() and in bnxt/bnxt_en; if the
latter gets fixed we can probably also fix work around it in the former;
further conflicts in drm-kmod 6.1-lts, 6.6-lts, and master were resolved).

Sponsored by:	The FreeBSD Foundation (initially)
Reviewed by:	dumbbell
Differential Revision:	https://reviews.freebsd.org/D52065

(cherry picked from commit 4179e6b78297369f0cf0eae1076e01e5151c5cbe)
(cherry picked from commit 62c3b77d1d1084dc46663eed52e288307b5c7e64)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Like lkpi_pci_get_domain_bus_and_slot() implement lkpi_pci_get_slot()
using pci_find_bsf() instead of pci_find_dbsf() (no domain).
This is needed for a wireless driver.

Unfortunately the name [pci_get_slot()] collides with the native PCI
function.  Add a guard around it and disable the use when the native
version is required (in lkpifill_pci_dev() and in bnxt/bnxt_en; if the
latter gets fixed we can probably also fix work around it in the former;
further conflicts in drm-kmod 6.1-lts, 6.6-lts, and master were resolved).

Sponsored by:	The FreeBSD Foundation (initially)
Reviewed by:	dumbbell
Differential Revision:	https://reviews.freebsd.org/D52065

(cherry picked from commit 4179e6b78297369f0cf0eae1076e01e5151c5cbe)
(cherry picked from commit 62c3b77d1d1084dc46663eed52e288307b5c7e64)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt: Use IfAPI accessors where able</title>
<updated>2025-12-26T08:25:47+00:00</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2024-10-31T14:04:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=63b0b8bd791a63070effca0b4d37a34cd52955da'/>
<id>63b0b8bd791a63070effca0b4d37a34cd52955da</id>
<content type='text'>
Summary:
Don't directly access ifnet members, it's a private structure.

Sponsored by:	Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D47353

(cherry picked from commit 84d7ec4c657f406c6cbd29baf32c8e057b663d17)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Don't directly access ifnet members, it's a private structure.

Sponsored by:	Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D47353

(cherry picked from commit 84d7ec4c657f406c6cbd29baf32c8e057b663d17)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt: Fix the request length in bnxt_hwrm_func_backing_store_cfg()</title>
<updated>2025-09-21T14:52:38+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2025-09-11T14:36:00+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=20bb3d7d500bae255d0c52ebacb32502616f490d'/>
<id>20bb3d7d500bae255d0c52ebacb32502616f490d</id>
<content type='text'>
PR:		286720
Reviewed by:	zlei
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D50491

(cherry picked from commit 5ca390f03bc63bccc8952313d536fd4bcabf2cab)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PR:		286720
Reviewed by:	zlei
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D50491

(cherry picked from commit 5ca390f03bc63bccc8952313d536fd4bcabf2cab)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt(4): Fix typos in a comment and a kernel message</title>
<updated>2025-08-22T05:24:14+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2025-08-17T07:04:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4e8ac151bca92afbca258718a689d30a87e49d31'/>
<id>4e8ac151bca92afbca258718a689d30a87e49d31</id>
<content type='text'>
- s/priviledged/privileged/

(cherry picked from commit 74eb496c1019f702a28b4fa757f1139fbcf44895)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/priviledged/privileged/

(cherry picked from commit 74eb496c1019f702a28b4fa757f1139fbcf44895)
</pre>
</div>
</content>
</entry>
<entry>
<title>LinuxKPI: MODULE_DEVICE_TABLE() factor out the bus specific MODULE_PNP_INFO()</title>
<updated>2025-07-13T19:25:03+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2025-06-22T22:50:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=87e6f90667e5a841592d8a2522f90981fd3e3fff'/>
<id>87e6f90667e5a841592d8a2522f90981fd3e3fff</id>
<content type='text'>
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)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt: Fix BASE-T, 40G AOC, 1G-CX, autoneg and unknown media lists</title>
<updated>2025-06-22T07:18:41+00:00</updated>
<author>
<name>Kevin Bowling</name>
<email>kbowling@FreeBSD.org</email>
</author>
<published>2025-06-14T23:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=33f65f12eba10588827a13d232337616f6f4facf'/>
<id>33f65f12eba10588827a13d232337616f6f4facf</id>
<content type='text'>
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 &lt;einar@isnic.is&gt;

(cherry picked from commit 5e6e4f752833acc96f1efc893318d3f6b74b9689)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;einar@isnic.is&gt;

(cherry picked from commit 5e6e4f752833acc96f1efc893318d3f6b74b9689)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt: add guards around struct_group macros</title>
<updated>2025-05-15T09:50:55+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2025-05-03T20:22:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1fcc3d6dd5c559ac6328f57d44ff11211d56088d'/>
<id>1fcc3d6dd5c559ac6328f57d44ff11211d56088d</id>
<content type='text'>
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)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt_en: Thor2 Ring counters not incrementing during traffic</title>
<updated>2025-04-27T22:02:59+00:00</updated>
<author>
<name>Sreekanth Reddy</name>
<email>sreekanth.reddy@broadcom.com</email>
</author>
<published>2025-04-04T08:51:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=47a360ff225269e45fdae1cdff0013c143c12e7d'/>
<id>47a360ff225269e45fdae1cdff0013c143c12e7d</id>
<content type='text'>
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)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt_en: Unhandled async event type 76</title>
<updated>2025-04-27T22:02:59+00:00</updated>
<author>
<name>Sreekanth Reddy</name>
<email>sreekanth.reddy@broadcom.com</email>
</author>
<published>2025-04-04T08:37:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4ed8c4183115d304aa98d0ca826f021597f1611a'/>
<id>4ed8c4183115d304aa98d0ca826f021597f1611a</id>
<content type='text'>
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)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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)
</pre>
</div>
</content>
</entry>
<entry>
<title>bnxt_en: Thor2 Specific Doorbell related changes</title>
<updated>2025-04-27T22:02:59+00:00</updated>
<author>
<name>Sreekanth Reddy</name>
<email>sreekanth.reddy@broadcom.com</email>
</author>
<published>2025-04-09T05:44:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ced1133739d405f15719e4881d458877d207f28e'/>
<id>ced1133739d405f15719e4881d458877d207f28e</id>
<content type='text'>
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 &amp; 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)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &amp; 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)
</pre>
</div>
</content>
</entry>
</feed>
