<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/ice, branch releng/12.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2022-10-19T23:19:01Z</updated>
<entry>
<title>ice(4): Add RDMA Client Interface</title>
<updated>2022-10-19T23:19:01Z</updated>
<author>
<name>Eric Joyner</name>
<email>erj@FreeBSD.org</email>
</author>
<published>2021-12-02T00:50:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=71c6b6057c2b3e31983ec14922f993afa0bb1a95'/>
<id>urn:sha1:71c6b6057c2b3e31983ec14922f993afa0bb1a95</id>
<content type='text'>
This allows the "irdma" driver to communicate with the ice(4)
driver to allow it access to the underlying device's hardware
resources as well as synchronize access to shared resources.

This interface already existed in the standalone out-of-tree
1.34.2 driver; this commit adds and enables it in the in-kernel
driver.

Note:

Adds hack to module Makefile to compile interface/.m files

These are required for the RDMA client interface, but they don't
build as-is like the normal .c files. The source directory doesn't
seem to be included by default, so add lines that specifically
add them as libraries so that ice_rdma.h can be found and the
interface files will compile.

Signed-off-by: Eric Joyner &lt;erj@FreeBSD.org&gt;

Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D30889

(cherry picked from commit 8a13362d49bf07dfc654e25976d057adbe0ac9c1)
(cherry picked from commit d8cce8145c39812cc31b50070c44d66ca21a5127)
</content>
</entry>
<entry>
<title>ice(4): Update to 1.34.2-k</title>
<updated>2022-10-19T23:16:33Z</updated>
<author>
<name>Eric Joyner</name>
<email>erj@FreeBSD.org</email>
</author>
<published>2022-03-04T18:25:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b04c954898643ad87b35dacd2fb74885816d798f'/>
<id>urn:sha1:b04c954898643ad87b35dacd2fb74885816d798f</id>
<content type='text'>
- Adds FW logging support
  - Once enabled, this lets the firmware print event and error messages
    to the log, increasing the visibility into what the hardware is
    doing; this is useful for debugging
- General bug fixes
- Adds initial DCB support to the driver
  - Notably, this adds support for DCBX to the driver; now with the
    fw_lldp sysctl set to 1, the driver and adapter will adopt a DCBX
    configuration sent from a link partner
  - Adds statistcs sysctls for priority flow control frames
  - Adds new configuration sysctls for DCB-related features: (VLAN) user
    priority to TC mapping; ETS bandwidth allocation; priority flow
    control
- Remove unused SR-IOV files (until support gets added)

(MFC node: This adds support for E82x devices (codename Columbia Park)

Signed-off-by: Eric Joyner &lt;erj@FreeBSD.org&gt;

Tested by:	jeffrey.e.pieper@intel.com
MFC with:	213e91399b, e438f0a975
Relnotes:	yes
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D34024

(cherry picked from commit 56429daea255fa719169bb23ded66f8edb6f5408)
(cherry picked from commit 61d83041ab111fe491409f2eca2b528108b9ec29)
</content>
</entry>
<entry>
<title>ice(4): Update to version 0.29.4-k</title>
<updated>2022-10-19T21:47:57Z</updated>
<author>
<name>Eric Joyner</name>
<email>erj@FreeBSD.org</email>
</author>
<published>2021-06-23T20:41:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=aed11bb6779c82e08f9b8074100b57cafe162a09'/>
<id>urn:sha1:aed11bb6779c82e08f9b8074100b57cafe162a09</id>
<content type='text'>
Includes various feature improvements and bug fixes.

Notable changes include:
- Link management flow changes
- New sysctl to report aggregated error counts
- Health Status Event reporting from firmware (Use the new read-only
  tunables hw.ice.enable_health_events / dev.ice.#.enable_health_events
  to turn this off)

Signed-off-by: Eric Joyner &lt;erj@FreeBSD.org&gt;

Sponsored by:	Intel Corporation

(cherry picked from commit 9cf1841c4aaf8fbab06132ab9f76094f34ad7c7b)
</content>
</entry>
<entry>
<title>ice: Remove a double word in a source code comment</title>
<updated>2022-04-14T06:40:17Z</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-04-08T19:00:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a2453dd10a06f0c0db92f8c4b06a56d80927f7d1'/>
<id>urn:sha1:a2453dd10a06f0c0db92f8c4b06a56d80927f7d1</id>
<content type='text'>
- s/is is/is/

(cherry picked from commit 8ece7189e0ad5aed326d5ece289a81d31a700abe)
</content>
</entry>
<entry>
<title>net: iflib: fix vlan processing in the drivers</title>
<updated>2022-01-27T22:32:58Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2021-12-28T11:05:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cf101bd5ceebe2b2d229faa949dbf3e146d04382'/>
<id>urn:sha1:cf101bd5ceebe2b2d229faa949dbf3e146d04382</id>
<content type='text'>
The logic that sets iri_vtag and M_VLANTAG does not handle the
case where the 802.11q VLAN tag is 0. Fix this issue across
the iflib drivers. While there, also improve and align the
VLAN tag check extraction, by moving it outside the RX descriptor
loop, eliminating a local variable and additional checks.

PR:             260068
Reviewed by:    kbowling, gallatin
Reported by:	erj
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D33156

(cherry picked from commit f7926a6d0c1029c8da265769e7c57b4065faa2df)
</content>
</entry>
<entry>
<title>net: iflib: let the drivers use isc_capenable</title>
<updated>2022-01-27T22:32:16Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2021-12-28T11:00:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a61341bf6e51cfc8a1855e9a97391af534da185f'/>
<id>urn:sha1:a61341bf6e51cfc8a1855e9a97391af534da185f</id>
<content type='text'>
Since isc_capenable (private copy of ifp-&gt;if_capenable) is
now synchronized to if_capenable, use it in the drivers
when checking the IFCAP_* bits.
This results in better cache usage and avoids indirection
through the ifp pointer.

PR:             260068
Reviewed by:    kbowling, gallatin
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D33156

(cherry picked from commit 52f45d8acee95199159b65a33c94142492c38e41)
</content>
</entry>
<entry>
<title>iflib: ensure that tx interrupts enabled and cleanups</title>
<updated>2021-10-03T02:03:11Z</updated>
<author>
<name>Matt Macy</name>
<email>mmacy@FreeBSD.org</email>
</author>
<published>2020-12-19T01:08:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a5a91bd2a09ffe748b6dd7d5f996fe725c22c774'/>
<id>urn:sha1:a5a91bd2a09ffe748b6dd7d5f996fe725c22c774</id>
<content type='text'>
Doing a 'dd' over iscsi will reliably cause stalls. Tx
cleaning _should_ reliably happen as data is sent.
However, currently if the transmit queue fills it will
wait until the iflib timer (hz/2) runs.

This change causes the the tx taskq thread to be run
if there are completed descriptors.

While here:

- make timer interrupt delay a sysctl

- simplify txd_db_check handling

- comment on INTR types

Background on the change:

Initially doorbell updates were minimized by only writing to the register
on every fourth packet. If txq_drain would return without writing to the
doorbell it scheduled a callout on the next tick to do the doorbell write
to ensure that the write otherwise happened "soon". At that time a sysctl
was added for users to avoid the potential added latency by simply writing
to the doorbell register on every packet. This worked perfectly well for
e1000 and ixgbe ... and appeared to work well on ixl. However, as it
turned out there was a race to this approach that would lockup the ixl MAC.
It was possible for a lower producer index to be written after a higher one.
On e1000 and ixgbe this was harmless - on ixl it was fatal. My initial
response was to add a lock around doorbell writes - fixing the problem but
adding an unacceptable amount of lock contention.

The next iteration was to use transmit interrupts to drive delayed doorbell
writes. If there were no packets in the queue all doorbell writes would be
immediate as the queue started to fill up we could delay doorbell writes
further and further. At the start of drain if we've cleaned any packets we
know we've moved the state machine along and we write the doorbell (an
obvious missing optimization was to skip that doorbell write if db_pending
is zero). This change required that tx interrupts be scheduled periodically
as opposed to just when the hardware txq was full. However, that just leads
to our next problem.

Initially dedicated msix vectors were used for both tx and rx. However, it
was often possible to use up all available vectors before we set up all the
queues we wanted. By having rx and tx share a vector for a given queue we
could halve the number of vectors used by a given configuration. The problem
here is that with this change only e1000 passed the necessary value to have
the fast interrupt drive tx when appropriate.

Reported by: mav@
Tested by: mav@
Reviewed by:    gallatin@
MFC after:      1 month
Sponsored by:   iXsystems
Differential Revision:  https://reviews.freebsd.org/D27683

(cherry picked from commit 81be655266fac2b333e25f386f32c9bcd17f523d)
</content>
</entry>
<entry>
<title>ice(4): Update to version 0.28.1-k</title>
<updated>2021-09-20T22:09:29Z</updated>
<author>
<name>Eric Joyner</name>
<email>erj@FreeBSD.org</email>
</author>
<published>2021-02-23T01:45:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5d38d78f355013eba79eee3addf15a7ad59707c9'/>
<id>urn:sha1:5d38d78f355013eba79eee3addf15a7ad59707c9</id>
<content type='text'>
This updates the driver to align with the version included in
the "Intel Ethernet Adapter Complete Driver Pack", version 25.6.

There are no major functional changes; this mostly contains
bug fixes and changes to prepare for new features. This version
of the driver uses the previously committed ice_ddp package
1.3.19.0.

Signed-off-by: Eric Joyner &lt;erj@FreeBSD.org&gt;

Tested by:	jeffrey.e.pieper@intel.com
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D28640

(cherry picked from commit d08b8680e12ad692736c84238dcf45c70c228914)
</content>
</entry>
<entry>
<title>MFC r368745:</title>
<updated>2020-12-19T04:24:05Z</updated>
<author>
<name>Ryan Libby</name>
<email>rlibby@FreeBSD.org</email>
</author>
<published>2020-12-19T04:24:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d57a221046e720fc19be7fa13c6591ba49074000'/>
<id>urn:sha1:d57a221046e720fc19be7fa13c6591ba49074000</id>
<content type='text'>
ice: quiet -Wredundant-decls

Reapply r364240 after driver update in r365617.

Reviewed by:	lwhsu
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D27561
</content>
</entry>
<entry>
<title>ice: MFC commits for update to 0.26.16</title>
<updated>2020-09-14T21:33:11Z</updated>
<author>
<name>Eric Joyner</name>
<email>erj@FreeBSD.org</email>
</author>
<published>2020-09-14T21:33:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7188b0eaa95f30b816b99a1e27d6dd9e3b6ca98b'/>
<id>urn:sha1:7188b0eaa95f30b816b99a1e27d6dd9e3b6ca98b</id>
<content type='text'>
These include r365332, r365550, and r365617, which update
both the ice_ddp package and the ice(4) driver itself.

Relnotes:	yes
Sponsored by:	Intel Corporation
</content>
</entry>
</feed>
