<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/ixl, branch stable/14</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>ixl(4): Fix a typo in a source code comment</title>
<updated>2026-04-14T17:32:41+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2026-04-04T07:06:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d23e0bc9c4004364b573c03d674cb73588c6c014'/>
<id>d23e0bc9c4004364b573c03d674cb73588c6c014</id>
<content type='text'>
- s/seperated/separated/

(cherry picked from commit ef3703a8cd9ade13d0c7a685577100e1fc18ee09)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/seperated/separated/

(cherry picked from commit ef3703a8cd9ade13d0c7a685577100e1fc18ee09)
</pre>
</div>
</content>
</entry>
<entry>
<title>ixl(4): fix multicast promiscuous mode state tracking and filter management</title>
<updated>2025-10-31T20:57:48+00:00</updated>
<author>
<name>Bhosale, Yogesh</name>
<email>yogesh.bhosale@intel.com</email>
</author>
<published>2025-10-16T20:02:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b2b2a4788f7925f41d902df6b7f3d19bccd6f42f'/>
<id>b2b2a4788f7925f41d902df6b7f3d19bccd6f42f</id>
<content type='text'>
This change reapplies the improvements from commit 89e7335 and adds
additional fixes and code optimizations on top of it.

The ixl driver supports up to 128 multicast filters in hardware. When this
limit is exceeded, the driver should enable multicast promiscuous mode.
When the count drops below 128, it should disable promiscuous mode and
restore individual filters.

The driver previously had problems that could corrupt multicast filters list.
The main issue was that ixl_dis_multi_promisc() would attempt to disable
promiscuous mode without checking if it was actually enabled, potentially
corrupting existing filters. There was also no state tracking across driver
functions, leading to redundant operations.

This change adds an IXL_FLAGS_MC_PROMISC flag to track the multicast
promiscuous mode state. The flag is set when enabling promiscuous mode and
cleared when disabling it. Early return checks prevent redundant operations
when the mode is already in the desired state, avoiding filter corruption
and unnecessary hardware calls.

Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com

PR:		283820
Approved by:	kbowling (mentor)
Tested by:	gowtham.kumar.ks_intel.com
Sponsored by:   Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D52549

(cherry picked from commit 46a8a1f08f88c278e60ebb6daa7a551eb641c67b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change reapplies the improvements from commit 89e7335 and adds
additional fixes and code optimizations on top of it.

The ixl driver supports up to 128 multicast filters in hardware. When this
limit is exceeded, the driver should enable multicast promiscuous mode.
When the count drops below 128, it should disable promiscuous mode and
restore individual filters.

The driver previously had problems that could corrupt multicast filters list.
The main issue was that ixl_dis_multi_promisc() would attempt to disable
promiscuous mode without checking if it was actually enabled, potentially
corrupting existing filters. There was also no state tracking across driver
functions, leading to redundant operations.

This change adds an IXL_FLAGS_MC_PROMISC flag to track the multicast
promiscuous mode state. The flag is set when enabling promiscuous mode and
cleared when disabling it. Early return checks prevent redundant operations
when the mode is already in the desired state, avoiding filter corruption
and unnecessary hardware calls.

Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com

PR:		283820
Approved by:	kbowling (mentor)
Tested by:	gowtham.kumar.ks_intel.com
Sponsored by:   Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D52549

(cherry picked from commit 46a8a1f08f88c278e60ebb6daa7a551eb641c67b)
</pre>
</div>
</content>
</entry>
<entry>
<title>ixl(4): Fix queue MSI and legacy IRQ rearming</title>
<updated>2025-09-29T13:16:48+00:00</updated>
<author>
<name>Krzysztof Galazka</name>
<email>kgalazka@FreeBSD.org</email>
</author>
<published>2025-08-19T12:50:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0c946b6072ab1545af28d4bad8317b2696845adb'/>
<id>0c946b6072ab1545af28d4bad8317b2696845adb</id>
<content type='text'>
When MSI or legacy interrupt is used driver controls wheter
queues can trigger an interrupt with the Interrupt Linked List.
While processing traffic first index of the list is set to EOL
value to stop queues from triggering interrupts. This index was
not reset to the correct value when driver attempted to re-enable
interrupts from queues, what prevented driver from processing any
traffic. Fix that by setting correct first index in the
ixl_if_enable_intr function.

While at that fix the comments style and make ixl_if_enable_intr
and ixl_if_disable_intr more consistent.

Signed-off-by: Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;

PR:		288077
Suggested by:	Mike Belanger &lt;mibelanger@qnx.com&gt;
Approved by:	kbowling (mentor), erj (mentor)
Tested by:	gowtham.kumar.ks_intel.com,
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D51331

(cherry picked from commit 6f41c1fc39d9fa9db989a7b4f325c3ab85b8fb45)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When MSI or legacy interrupt is used driver controls wheter
queues can trigger an interrupt with the Interrupt Linked List.
While processing traffic first index of the list is set to EOL
value to stop queues from triggering interrupts. This index was
not reset to the correct value when driver attempted to re-enable
interrupts from queues, what prevented driver from processing any
traffic. Fix that by setting correct first index in the
ixl_if_enable_intr function.

While at that fix the comments style and make ixl_if_enable_intr
and ixl_if_disable_intr more consistent.

Signed-off-by: Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;

PR:		288077
Suggested by:	Mike Belanger &lt;mibelanger@qnx.com&gt;
Approved by:	kbowling (mentor), erj (mentor)
Tested by:	gowtham.kumar.ks_intel.com,
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D51331

(cherry picked from commit 6f41c1fc39d9fa9db989a7b4f325c3ab85b8fb45)
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "ixl: fix multicast filters handling"</title>
<updated>2024-12-23T16:51:33+00:00</updated>
<author>
<name>Franco Fichtner</name>
<email>franco@opnsense.org</email>
</author>
<published>2024-12-11T14:08:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5c15d499c23a09655931ea2ccf5b94dd39cdae76'/>
<id>5c15d499c23a09655931ea2ccf5b94dd39cdae76</id>
<content type='text'>
This reverts commit 89e73359424a338a7900a4854ad7439f5848ebb8.

PR:		281125
Reviewed by:	Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;
MFC after:	3 days
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1545

(cherry picked from commit 38663adb61440bd659fb457909782b71ba8806fa)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 89e73359424a338a7900a4854ad7439f5848ebb8.

PR:		281125
Reviewed by:	Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;
MFC after:	3 days
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1545

(cherry picked from commit 38663adb61440bd659fb457909782b71ba8806fa)
</pre>
</div>
</content>
</entry>
<entry>
<title>iflib drivers: Constify PCI ID LUTs</title>
<updated>2023-08-17T18:34:23+00:00</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2023-08-16T16:49:34+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=51e235148a4becba94e824a44bd69687644a7f56'/>
<id>51e235148a4becba94e824a44bd69687644a7f56</id>
<content type='text'>
Since d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since d49e83eac3baf16a22b1c5d42e8438b68b17e6f9, 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>ixl: fix multicast filters handling</title>
<updated>2023-08-17T11:46:48+00:00</updated>
<author>
<name>Mateusz Pacuszka</name>
<email>mateuszx.pacuszka@intel.com</email>
</author>
<published>2023-08-17T11:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=89e73359424a338a7900a4854ad7439f5848ebb8'/>
<id>89e73359424a338a7900a4854ad7439f5848ebb8</id>
<content type='text'>
Summary:
Hardware supports up to 128 entries of multicast filters. If there is more,
filters should be removed and multicast promiscuous enabled. In case
user deletes the multicast address and overall count is less than 128,
multicast promiscuous mode should be disabled and all the filters
reapplied into the HW.

Currently driver only enables multicast promiscuous mode and deletes
the entries without any information to the user and it's not capable of
reapplying the filters once count is less than 128.

Address that by:

1. Add logging
2. Add logic in case multicast promiscuous is enabled and user lowers
the number of multicast entries to &lt;128.
3. Fix a bug where driver removes different MAC entries along with the one
that's being deleted by the user.

Reviewers: #intel_networking, erj

Reviewed By: #intel_networking, erj

Subscribers: imp, ae

Differential Revision: https://reviews.freebsd.org/D40860
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Hardware supports up to 128 entries of multicast filters. If there is more,
filters should be removed and multicast promiscuous enabled. In case
user deletes the multicast address and overall count is less than 128,
multicast promiscuous mode should be disabled and all the filters
reapplied into the HW.

Currently driver only enables multicast promiscuous mode and deletes
the entries without any information to the user and it's not capable of
reapplying the filters once count is less than 128.

Address that by:

1. Add logging
2. Add logic in case multicast promiscuous is enabled and user lowers
the number of multicast entries to &lt;128.
3. Fix a bug where driver removes different MAC entries along with the one
that's being deleted by the user.

Reviewers: #intel_networking, erj

Reviewed By: #intel_networking, erj

Subscribers: imp, ae

Differential Revision: https://reviews.freebsd.org/D40860
</pre>
</div>
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: one-line .c comment pattern</title>
<updated>2023-08-16T17:54:24+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=71625ec9ad2a9bc8c09784fbd23b759830e0ee5f'/>
<id>71625ec9ad2a9bc8c09784fbd23b759830e0ee5f</id>
<content type='text'>
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
</pre>
</div>
</content>
</entry>
<entry>
<title>ixl(4): Add link state polling</title>
<updated>2023-07-20T22:33:52+00:00</updated>
<author>
<name>Krzysztof Galazka</name>
<email>krzysztof.galazka@intel.com</email>
</author>
<published>2023-07-20T22:33:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ba2f531f816a6bc1ef5f2cba4a329ff7bdbec0f3'/>
<id>ba2f531f816a6bc1ef5f2cba4a329ff7bdbec0f3</id>
<content type='text'>
In some cases driver may ask FW about link state before FW finishes
configuration of a (Q)SFP+ transceiver. If first attempt of using Get Link
Status AQC after loading driver or handling a reset fails, then re-try
periodically for 5 seconds.

Signed-off-by: Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;
Signed-off-by: Eric Joyner &lt;erj@FreeBSD.org&gt;

Tested by:	jeffrey.e.pieper@intel.com
Approved by:	erj@
MFC after:	2 days
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D40899
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some cases driver may ask FW about link state before FW finishes
configuration of a (Q)SFP+ transceiver. If first attempt of using Get Link
Status AQC after loading driver or handling a reset fails, then re-try
periodically for 5 seconds.

Signed-off-by: Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;
Signed-off-by: Eric Joyner &lt;erj@FreeBSD.org&gt;

Tested by:	jeffrey.e.pieper@intel.com
Approved by:	erj@
MFC after:	2 days
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D40899
</pre>
</div>
</content>
</entry>
<entry>
<title>ixl: implement support for dumping NIC registers</title>
<updated>2023-07-06T23:45:44+00:00</updated>
<author>
<name>Piotr Kubaj</name>
<email>pkubaj@FreeBSD.org</email>
</author>
<published>2023-07-06T23:45:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a146207d66f320ed239c1059de9df854b66b55b7'/>
<id>a146207d66f320ed239c1059de9df854b66b55b7</id>
<content type='text'>
To enable faster debug of customer issues Intel wants an end user to
gather information about PHY configuration and status to debug link and
connection issues in the field. For this reason the end user should
have possibility of obtaining PHYs registers values at runtime during
debugging.

Differential Revision:	https://reviews.freebsd.org/D40354
Approved by:	erj
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To enable faster debug of customer issues Intel wants an end user to
gather information about PHY configuration and status to debug link and
connection issues in the field. For this reason the end user should
have possibility of obtaining PHYs registers values at runtime during
debugging.

Differential Revision:	https://reviews.freebsd.org/D40354
Approved by:	erj
</pre>
</div>
</content>
</entry>
<entry>
<title>ixl: port ice's atomic API to ixl</title>
<updated>2023-07-06T14:43:57+00:00</updated>
<author>
<name>Piotr Kubaj</name>
<email>pkubaj@FreeBSD.org</email>
</author>
<published>2023-06-06T15:30:18+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b8f51b8c5423af0795429836a00f2a968e791f6e'/>
<id>b8f51b8c5423af0795429836a00f2a968e791f6e</id>
<content type='text'>
Differential Revision:	https://reviews.freebsd.org/D40532
Approved by: erj
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision:	https://reviews.freebsd.org/D40532
Approved by: erj
</pre>
</div>
</content>
</entry>
</feed>
