History log of /freebsd/sys/dev/igc/if_igc.h (Results 1 – 10 of 10)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 542f5d56 14-Oct-2024 Kevin Bowling <kbowling@FreeBSD.org>

igc: Rename 'struct adapter' to 'struct igc_softc'

Rename the 'struct adapter' to 'struct igc_softc' to avoid type
ambiguity in things like kgdb and make sharing code with e1000 and
ixgbe easier.

M

igc: Rename 'struct adapter' to 'struct igc_softc'

Rename the 'struct adapter' to 'struct igc_softc' to avoid type
ambiguity in things like kgdb and make sharing code with e1000 and
ixgbe easier.

MFC after: 1 week
Sponsored by: BBOX.io

show more ...


# 516d9230 12-Oct-2024 Kevin Bowling <kbowling@FreeBSD.org>

igc: Improve a comment and update copyright dates
MFC after: 1 week


# bc9402ab 11-Oct-2024 Kevin Bowling <kbowling@FreeBSD.org>

igc: Add AIM

igc is derived from igb and has never had an AIM implementation. The
same algorithm from e1000 is appropriate here.

Upon more detailed study of the Linux driver which has a newer AIM
i

igc: Add AIM

igc is derived from igb and has never had an AIM implementation. The
same algorithm from e1000 is appropriate here.

Upon more detailed study of the Linux driver which has a newer AIM
implementation, it finally became clear to me this is actually a
holdoff timer and not an interrupt limit as it is conventionally
(statically) programmed and displayed as an interrupt rate. The data
sheets also make this somewhat clear.

Thus, AIM accomplishes two beneficial things for a wide variety of
workloads[1]:

1. At low throughput/packet rates, it will significantly lower latency
(by counter-intuitively "increasing" the interrupt rate.. better
thought of as decreasing the holdoff timer because you will modulate
down before coming anywhere near these interrupt rates).
2. At bulk data rates, it is tuned to achieve a lower interrupt rate
(by increasing the holdoff timer) than the current static 8000/s. This
decreases processing overhead and yields more headroom for other work
such as packet filters or userland.

For a single NIC this might be worth a few sys% on common CPUs, but may
be meaningful when multiplied such as if_lagg, if_bridge and forwarding
setups.

The AIM algorithm was re-introduced from the older igb or out of tree
driver, and then modernized with permission to use Intel code from other
drivers.

[1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/gbe-controllers-interrupt-moderation-appl-note.pdf

MFC after: 1 week
Relnotes: yes
Sponsored by: Rubicon Communications, LLC ("Netgate")
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D47053

show more ...


# 33ed9bdc 29-Sep-2024 Kevin Bowling <kbowling@FreeBSD.org>

igc: Add NVM/firmware prints and sysctl

This chipset suffered an (un)usual number of bugs and iterations. Let's
add our NVM/firmware code from e1000 and the similar igc_nvm function
from DPDK to kee

igc: Add NVM/firmware prints and sysctl

This chipset suffered an (un)usual number of bugs and iterations. Let's
add our NVM/firmware code from e1000 and the similar igc_nvm function
from DPDK to keep track of issues.

MFC after: 1 week
Sponsored by: BBOX.io

show more ...


# a40ecb6f 29-Sep-2024 Kevin Bowling <kbowling@FreeBSD.org>

igc: Remove non-existent legacy absolute and packet timers

igc, derived from igb, does not use these registers. All interrupt
timing is governed by EITR or LLI and driven by write-back.

MFC after:

igc: Remove non-existent legacy absolute and packet timers

igc, derived from igb, does not use these registers. All interrupt
timing is governed by EITR or LLI and driven by write-back.

MFC after: 1 week
Sponsored by: BBOX.io

show more ...


Revision tags: release/13.4.0, release/14.1.0, release/13.3.0
# f221d35b 09-Jan-2024 Marius Strobl <marius@FreeBSD.org>

igb(4): Remove disconnected SYSCTL

The global hw.igb.rx_process_limit knob never was adhered to by the
in-tree version of this driver but similar functionality is available
via the device-specific d

igb(4): Remove disconnected SYSCTL

The global hw.igb.rx_process_limit knob never was adhered to by the
in-tree version of this driver but similar functionality is available
via the device-specific dev.igb.N.iflib.rx_budget.

While at it, remove the - besides initialization of tx_process_limit -
unused {r,t}x_process_limit members.

show more ...


Revision tags: release/14.0.0
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


Revision tags: release/13.2.0, release/12.4.0
# ec22a3a2 19-Aug-2022 Justin Hibbits <jhibbits@FreeBSD.org>

DrvAPI: Trivial mechanical conversions for various drivers

Mechanically convert the following drivers, with trivial changes:
* ipw(4)
* igc(4)
* enetc(4)
* malo(4)
* nfe(4)
* bxe(4)
* awg(4)
* otus(

DrvAPI: Trivial mechanical conversions for various drivers

Mechanically convert the following drivers, with trivial changes:
* ipw(4)
* igc(4)
* enetc(4)
* malo(4)
* nfe(4)
* bxe(4)
* awg(4)
* otus(4)
* rtwn(4)
* bnxt(4)
* ath(4)

Sponsored by: Juniper Networks, Inc.

show more ...


# 2eaef8ec 11-Oct-2022 Kevin Bowling <kbowling@FreeBSD.org>

igc: Fix up hw vlan ops

Adapt 2796f7cab10785ef40efbba97ef67ab319c96e9c to igc(4)

* Don't reset the entire adapter for vlan changes, fix up the problems
* Remove the VFTA, this hardware doesn't seem

igc: Fix up hw vlan ops

Adapt 2796f7cab10785ef40efbba97ef67ab319c96e9c to igc(4)

* Don't reset the entire adapter for vlan changes, fix up the problems
* Remove the VFTA, this hardware doesn't seem to implement it

Approved by: grehan
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D31979

show more ...


Revision tags: release/13.1.0, release/12.3.0
# 517904de 12-Jul-2021 Peter Grehan <grehan@FreeBSD.org>

igc(4): Introduce new driver for the Intel I225 Ethernet controller.

This controller supports 2.5G/1G/100MB/10MB speeds, and allows
tx/rx checksum offload, TSO, LRO, and multi-queue operation.

The

igc(4): Introduce new driver for the Intel I225 Ethernet controller.

This controller supports 2.5G/1G/100MB/10MB speeds, and allows
tx/rx checksum offload, TSO, LRO, and multi-queue operation.

The driver was derived from code contributed by Intel, and modified
by Netgate to fit into the iflib framework.

Thanks to Mike Karels for testing and feedback on the driver.

Reviewed by: bcr (manpages), kbowling, scottl, erj
MFC after: 1 month
Relnotes: yes
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D30668

show more ...