<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/ixgbe, 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-04-17T17:11:53Z</updated>
<entry>
<title>ixgbe: improve MDIO performance by reducing semaphore/IPC delays</title>
<updated>2026-04-17T17:11:53Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2026-04-17T17:11:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f46d75c90f5feb87259635134dde4da328282842'/>
<id>urn:sha1:f46d75c90f5feb87259635134dde4da328282842</id>
<content type='text'>
Each MDIO transfer takes 8ms, and all of that is spent in a set
of DELAY() calls, which is consuming a LOT of CPU.

* Change the timeout in ixgbe_hic_unlocked() - doing IPC to the
  on-chip firmware - to a 1uS delay and bump timeout appropriately.
  This seems to finish in a couple of microseconds on my local
  test devices.

* Change the 2ms sleep in ixgbe_release_swfw_sync_X540() to 2ms
  for EEPROM/flash, and 10uS otherwise.  10uS seems to work fine
  on my local testing, but the config EEPROM doesn't read right
  without this extra delay.

The first change shouldn't change the driver behaviour, but the
latter change is more intrusive and needs some wider testing.
(My guess here is that there SHOULD have been some completion
check somewhere in the EEPROM/flash IO path, and these sleeps
are masking them.)

Locally tested:

* C3558 (Denverton) w/ X553 backplane

Reviewed by:	kbowling
Differential Revision:	https://reviews.freebsd.org/D50295
</content>
</entry>
<entry>
<title>ixgbe: add MDIO bus support</title>
<updated>2026-04-17T17:11:42Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2026-04-17T17:11:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cfec995c87f39e59c80554b85625b4aaa8ddf8db'/>
<id>urn:sha1:cfec995c87f39e59c80554b85625b4aaa8ddf8db</id>
<content type='text'>
This works enough to let me see the marvell switch on the MDIO bus.

It uses clause 22, which ixgbe's existing MDIO code doesn't currently
support, so it's implemented in a new source file.

Since mdio(4) is now required, add it where appropriate to GENERIC kernels.

Reviewed by:	kbowling
Differential Revision:	https://reviews.freebsd.org/D50128
</content>
</entry>
<entry>
<title>ixgbe: Fix MRQC register value.</title>
<updated>2026-04-12T04:50:28Z</updated>
<author>
<name>Yuichiro NAITO</name>
<email>naito.yuichiro@gmail.com</email>
</author>
<published>2026-04-07T15:25:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=938c076b9b0bc458a3877b52535527d37199fc09'/>
<id>urn:sha1:938c076b9b0bc458a3877b52535527d37199fc09</id>
<content type='text'>
Focus on the MRQE field of the MRQC register, which is 4 bits wide,
and we use these 3 types of values.

  - IXGBE_MRQC_RSSEN 0x1  (non VF mode)
  - IXGBE_MRQC_VMDQRSS32EN 0xA (less than 33 VFs)
  - IXGBE_MRQC_VMDQRSS64EN 0xB (less than 65 VFs)

If we always take a bitwise OR with IXGBE_MRQC_RSSEN,
IXGBE_MRQC_VMDQRSS32EN will never be chosen.
Select these 3 types of values for the proper case.

Signed-off-by: Yuichiro NAITO &lt;naito.yuichiro@gmail.com&gt;

MFC after:	1 week
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2132
</content>
</entry>
<entry>
<title>ix(4): Add support for firmware logging for E610 adapters</title>
<updated>2026-04-09T18:43:43Z</updated>
<author>
<name>Bhosale, Yogesh</name>
<email>yogesh.bhosale@intel.com</email>
</author>
<published>2026-04-09T18:05:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6b58d10fc6d51ddcf5ee81628ead74d3dadb9bf6'/>
<id>urn:sha1:6b58d10fc6d51ddcf5ee81628ead74d3dadb9bf6</id>
<content type='text'>
This is part 3 of the support for the new Intel Ethernet E610
family of devices

The ix driver now enables firmware logging on Intel E610 devices
for debugging with Customer Support. Logs are enabled by default
and generated in binary format that requires decoding by support
teams. The collected data is firmware and hardware related for
debugging purposes only.

When the driver loads, it creates a fw_log sysctl node under the
debug section. Events are organized into categories (modules) for
targeted logging, and users can adjust verbosity levels as needed.

This adds sysctl support for the firmware logging feature and
updates the ix(4) manual page with documentation.

Signed-off-by: Yogesh Bhosale &lt;yogesh.bhosale@intel.com&gt;
Co-developed-by: Krzysztof Galazka &lt;krzysztof.galazka@intel.com&gt;

Reviewed by:	ziaee, kbowling
Tested by:      Mateusz Moga &lt;mateusz.moga@intel.com&gt;
MFC after:      1 weeks
Sponsored by:   Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D53973
</content>
</entry>
<entry>
<title>ix(4): Add EEE support for E610 adapters</title>
<updated>2026-03-13T11:48:29Z</updated>
<author>
<name>Krzysztof Galazka</name>
<email>kgalazka@FreeBSD.org</email>
</author>
<published>2026-03-13T11:48:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=13ee84c591f8df7553fc8e3dac7e92409046f4d2'/>
<id>urn:sha1:13ee84c591f8df7553fc8e3dac7e92409046f4d2</id>
<content type='text'>
The ix driver now supports Energy Efficient Ethernet (EEE) on Intel
E610 devices. EEE allows the network interface to enter low-power
states during periods of low link utilization, reducing power
consumption while maintaining full performance when needed.

E610 adapters provide EEE support through BASE-T PHY functionality.
Due to this PHY-based implementation, EEE is supported only
on 2.5Gb speeds and above.

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

Authored-by: Yogesh Bhosale &lt;yogesh.bhosale@intel.com&gt;

Approved by:	kbowling (mentor)
Tested by:	Mateusz Moga &lt;mateusz.moga@intel.com&gt;
MFC after:	2 weeks
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D55304
</content>
</entry>
<entry>
<title>ixgbe: Use newly exposed RSS hash API rather than ad-hoc hashing</title>
<updated>2025-11-22T14:29:32Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2025-11-22T14:29:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5a14756a13635c988efcfb01f9a116901dbd455a'/>
<id>urn:sha1:5a14756a13635c988efcfb01f9a116901dbd455a</id>
<content type='text'>
Differential Revision:	https://reviews.freebsd.org/D53093
Reviewed by: kbowling
Sponsored by: Netflix
</content>
</entry>
<entry>
<title>ix(4): Add support for debug dump for E610 adapters</title>
<updated>2025-10-10T10:15:52Z</updated>
<author>
<name>Bhosale, Yogesh</name>
<email>yogesh.bhosale@intel.com</email>
</author>
<published>2025-10-10T09:39:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2170400142b99c0eb604403b74ebd88c05dd7ed4'/>
<id>urn:sha1:2170400142b99c0eb604403b74ebd88c05dd7ed4</id>
<content type='text'>
This is part 2 of the support for the new Intel Ethernet E610 family of devices.

Intel E610 Ethernet Controller devices feature a debug dump capability
that allows you to capture runtime register values directly from the
hardware, with assistance from the firmware. These registers are
organized into clusters based on their function, enabling targeted
debugging. This information is consolidated into a single dump file,
facilitating the debugging of complex issues encountered in the field.
The debug dump provides a snapshot of the device's current hardware
configuration, including switch tables, transmit scheduler tables, and
other relevant data. It captures the state of specified clusters and
serves as a stateless snapshot of the entire device.

This update introduces ioctl and sysctl support for the debug dump feature.

Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com
Co-developed-by: Krzysztof Galazka krzysztof.galazka@intel.com

Approved by:	kbowling (mentor), erj (mentor)
Tested by:	gowtham.kumar.ks_intel.com
Sponsored by:   Intel Corporation
MFC after:      1 week
Differential Revision:	https://reviews.freebsd.org/D50934
</content>
</entry>
<entry>
<title>ixgbe: Correct ixgbe_link_speed_to_str comment</title>
<updated>2025-09-10T16:45:35Z</updated>
<author>
<name>Kevin Bowling</name>
<email>kbowling@FreeBSD.org</email>
</author>
<published>2025-09-10T16:45:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c1532f74e4684f4b4227e873bae05b16ccc0a17c'/>
<id>urn:sha1:c1532f74e4684f4b4227e873bae05b16ccc0a17c</id>
<content type='text'>
PR:		288960
Reported by:	michaelo
MFC after:	2 days
</content>
</entry>
<entry>
<title>iflib: report output drops and handle ENOBUFS properly</title>
<updated>2025-09-10T13:55:24Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2025-09-10T13:17:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6577e32ea2c7868c275eae6d1c68f1c37d418c71'/>
<id>urn:sha1:6577e32ea2c7868c275eae6d1c68f1c37d418c71</id>
<content type='text'>
- Fix an mbuf leak with iflib.simple_tx=1 when we run out of tx descs
in iflib_encap().  It seems odd to free the mbuf in iflib_encap(),
but that routine consumes mbufs for other reasons, and it seemed
safest to free there rather than have the simple tx routine parse
return values to determine what needed to be freed.

- Increment counters for output drops when ENOBUFS is encountered
and output errors when other transmit errors are encountered for both
the simple and normal tx routines.

- Performed driver changes so that iflib drivers now add the generic
output drop and output error counters to their private counters in their
ifdi_get_counter routines.

Reviewed by: kbowling, markj
Differential Revision: https://reviews.freebsd.org/D52369
Sponsored by: Netflix
</content>
</entry>
<entry>
<title>ixgbe: Remove unused function ixgbe_is_media_cage_present</title>
<updated>2025-09-10T07:26:09Z</updated>
<author>
<name>Yogesh Bhosale</name>
<email>Yogesh.Bhosale@intel.com</email>
</author>
<published>2025-09-10T07:26:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=275f7d72ff6a71bbe46b4282a88f0ea9a24be22a'/>
<id>urn:sha1:275f7d72ff6a71bbe46b4282a88f0ea9a24be22a</id>
<content type='text'>
Remove the unused function ixgbe_is_media_cage_present that
generates a compiler warning.

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

Reported by:	markj
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D52467
</content>
</entry>
</feed>
