aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/rge
Commit message (Collapse)AuthorAgeFilesLines
* rge: make rx_process_limit a sysctl tunableChristos Longros2026-03-253-1/+9
| | | | | | | | | | | The number of packets processed per interrupt was hardcoded to 16. Add a per-interface sysctl dev.rge.%d.rx_process_limit tunable so users can adjust this value at runtime. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: ziaee, adrian Differential Revision: https://reviews.freebsd.org/D56014
* rge: handle interface flags changesBrad Smith2026-03-252-13/+10
| | | | | | | Handle interface flags like other drivers do. Reviewed by: zlei, adrian Differential Revision: https://reviews.freebsd.org/D55728
* rge: use C style comments instead of C++Christos Longros2026-03-152-6/+2
| | | | | | | | | | | | | FreeBSD style(9) mandates C style comments. The initial import from OpenBSD left several C++ style // comments in if_rge.c and if_rgevar.h. Replace them with proper /* */ comments. Also fix a malformed comment that mixed // with a closing */. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D55743
* rge: log silicon revision during attachChristos Longros2026-02-221-7/+7
| | | | | | | | | | | | | | | | | The initial import from OpenBSD contained chip revision printf() calls commented out, as OpenBSD's bare printf() style does not translate to FreeBSD's device_printf() idiom. The result is that users cannot distinguish RTL8125 from RTL8125B, RTL8125D_1, RTL8125D_2 etc. via dmesg alone, even though all variants show as '<RTL8125>' from the PCI probe string. Add proper device_printf() calls including the raw hwrev value, consistent with how re(4) reports chip revisions. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: zlei, imp, adrian Differential Revision: https://reviews.freebsd.org/D55402
* rge: correctly free busdma memory / zero things out only if allocatedJohn2026-02-221-15/+18
| | | | | | | | | | * Only free busdma memory that was allocated * Don't free tx/rx rings until their buffers have also been freed PR: kern/293307 Reviewed by: zlei Differential Revision: https://reviews.freebsd.org/D55420
* rge: fix callout setup/teardown; handle invalid ethernet addressJohn2026-02-221-5/+14
| | | | | | | | | | | | * Do the callout init early; since some of the teardown path expects the callout to be valid * Handle an invalid ethernet address by generating a local one. PR: kern/293307 Reviewed by: zlei Differential Revision: https://reviews.freebsd.org/D55419
* if_rge: sync with up to date OpenBSD codeBrad Smith2026-02-045-24/+776
| | | | | | | | | e574c2d36cbcacf2556088879be336775e80154b Add support for RTL8125D revision 0x6890000 Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D54922 MFC after: 2 weeks
* if_rge: sync with up to date OpenBSD codeBrad Smith2026-01-075-7349/+3779
| | | | | | | | | | | | | | | | | | a0b4d9e5bd63984bc3ad25b7f2881741e0d73980 Add support for RTL8126 chip revision 0x64a00000 from Carl Henriksson. While here, update and add microcode for the RTL8126 chipset variant. 46810ff569a9416642fc5f8e86501028008a2e95 For RTL8125, there's no need to check whether RGE_CMD_STOPREQ has been completed. As with other chip variants, RGE_CMD_STOPREQ never acknowledges completion. 5729fb17b5eeba56781da0b5c0525c198c5c2cd8 remove duplicate RGE_PHYSTAT_5000MBPS test Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D54517 Obtained from: OpenBSD
* if_rge: Add PNP info for moduleOlivier Cochard2025-12-161-0/+2
| | | | | | | | | Add PNP info so the module can be matched by devmatch(8) and automatically loaded. Reviewed by: adrian Approved by: adrian Differential Revision: https://reviews.freebsd.org/D54254
* if_rge: initial import of if_rge driver from OpenBSD.Adrian Chadd2025-12-1512-0/+19229
This is an initial import of the if_rge driver from OpenBSD and adapted to FreeBSD. Differential Revision: https://reviews.freebsd.org/D54101