Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_re_pci.c
RevisionDateAuthorComments
 1.53  28-Feb-2024  jakllsch Add Killer E2600, adapted from PR 57969
 1.52  18-Feb-2020  msaitoh branches: 1.52.24;
Whitespace fix. No functional change.
 1.51  30-Jan-2020  jmcneill Prefer memory space register mapping over IO space. Make an exception for
RTL8169SC, as the FreeBSD driver says memory mapped IO doesn't work there.
 1.50  14-Nov-2019  msaitoh branches: 1.50.2;
Add D-Link DGE-530T C1 and TP-Link TG-3468 v2.
 1.49  13-Nov-2018  jdolecek branches: 1.49.4;
use pci_intr_establish_xname()
 1.48  18-May-2017  jakllsch branches: 1.48.2; 1.48.8; 1.48.10;
Re-enable RTKQ_IM_HW. Timeout issues appear to be fixed since
src/sys/dev/ic/rtl8169.c r1.151
 1.47  01-May-2017  jakllsch Disable interrupt moderation, as it is it causes watchdog timeouts on
some chips/systems.
 1.46  19-Apr-2017  jmcneill branches: 1.46.2;
Performance improvements for PCIe and 8168 based devices:
- When using the countdown timer for interrupt moderation on PCIe devices,
use a timer rate value based on a 125MHz PCIe reference clock instead of
33 MHz.
- For 8168 based devices, ditch the countdown timer and instead use the
(undocumented) hardware interrupt moderation feature.
- Support TSOv4 on 8168D and later devices.
 1.45  14-Dec-2015  jakllsch branches: 1.45.2; 1.45.4;
Switch PCI re(4) attachment from pci_intr_map() to
pci_intr_alloc()/pci_intr_release().

This enables MSI where available.
 1.44  03-May-2015  matt Deal with 64-bit BARs
 1.43  29-Mar-2014  christos branches: 1.43.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.42  30-Mar-2013  christos branches: 1.42.4;
remove trailing whitespace
 1.41  30-Jan-2012  drochner branches: 1.41.6;
Use pci_aprint_devinfo(9) instead of pci_devinfo+aprint_{normal,naive}
where it looks straightforward, and pci_aprint_devinfo_fancy in a few
others where drivers want to supply their own device names instead
of the pcidevs generated one. More complicated cases, where names
are composed at runtime, are left alone for now. It certainly makes
sense to simplify the drivers here rather than inventing a catch-all API.
This should serve as as example for new drivers, and also ensure
consistent output in the AB_QUIET ("boot -q") case. Also, it avoids
excessive stack usage where drivers attach child devices because the
buffer for the device name is not kept on the local stack anymore.
 1.40  27-Jul-2010  jakllsch branches: 1.40.8; 1.40.12;
Use 64-bit DMA tag (if available) on PCI-E re(4) NICs.
 1.39  27-Jul-2010  jakllsch Make the Realtek PCI network interfaces detachable.
Use __arraycount to avoid null table entries.
Miscellaneous other touch-ups in bus front-ends.
 1.38  02-Sep-2009  tsutsui branches: 1.38.2; 1.38.4;
Move pmf(9) calls to MI re_attach() and re_detach() from each backend.
 1.37  29-Aug-2009  tsutsui Remove unnecessary #includes.
 1.36  25-Apr-2009  tsutsui Remove suffix "B" from rtk_name of PCI_PRODUCT_REALTEK_RT8168 devices.
All 8168/8111 variants (8168/8168B/8168C/8168CP/8168D/8111B/8111C/8111CP)
have the same PCI device ID.
 1.35  23-Aug-2008  tnn branches: 1.35.2; 1.35.4; 1.35.8; 1.35.12;
Add support for the Realtek 8102E/8102EL PCIe 10/100 Ethernet devices.
From FreeBSD.
 1.34  25-Apr-2008  tsutsui branches: 1.34.2; 1.34.4; 1.34.8;
Split device_t/softc for re(4) and rtk(4).
 1.33  10-Apr-2008  cegger branches: 1.33.2;
use aprint_*_dev and device_xname
 1.32  11-Dec-2007  lukem branches: 1.32.8;
use __KERNEL_RCSID()
 1.31  09-Dec-2007  jmcneill branches: 1.31.2;
Merge jmcneill-pm branch.
 1.30  19-Oct-2007  ad branches: 1.30.4; 1.30.6;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.29  07-Aug-2007  simonb branches: 1.29.2; 1.29.6;
Fix a tyop.
 1.28  19-Jul-2007  dsl branches: 1.28.4; 1.28.6;
include sys/cdefs.h
 1.27  21-Mar-2007  tsutsui branches: 1.27.4;
Cleanup handling of quikrs on each RealTek chip:
- replace rtk_type member in rtk_softc which has chip types
with new rtk_quirk that represents quirks on each chip:
- RTKQ_8129 doesn't have internal MII (used in rtk(4))
- RTKQ_8139CPLUS has different register layout (for re(4))
- RTKQ_8169NONS (original 8169) requires some settings on init
- RTKQ_PCIE requires different settings in setmulti
so that we don't have to check each hwrev values or types everywhere
and newer variants will also work without changes if they don't
have other quirks
(sc_rev is unchenged for now for reference to the Realtek's driver)
- don't check hwrev register in re_pci_match() but check
only PCI_VENDER(), PCI_PRODUCT() and PCI_REVISION()
so that we no longer have to map pci space there
- add a new HWREV value for another 8168 variant
- try to map PCI mem space more properly
- remove (probably unneeded) ifp->if_baudrate initialization

Tested on a newer 8168 variant by Dennis den Brok on tech-kern,
and also tested on 8139 and 8169C on macppc, and 8139C+ on landisk
by me.
 1.26  05-Mar-2007  tsutsui branches: 1.26.2; 1.26.4; 1.26.6;
Also check both I/O and memory space on unmap. Pointer out by yamt.
 1.25  03-Mar-2007  tsutsui Add an entry to match hwrev RTK_HWREV_8100E_SPIN2 too.

XXX: should we use PCI_REVISION() rather than hwrev
for 8139C+ as OpenBSD does?
 1.24  21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.23  04-Feb-2007  tsutsui branches: 1.23.2;
Add an 8169SC variant to re_devs. From Darrin B.Jewell.
 1.22  04-Feb-2007  tsutsui Try to map both PCI I/O and memory space.
 1.21  24-Nov-2006  christos branches: 1.21.2;
fix capitalization of NetBSD; from Zapher
 1.20  18-Nov-2006  tsutsui Rename re_pci_probe() -> re_pci_match().
 1.19  18-Nov-2006  tsutsui - sync HWREV definitions with FreeBSD
- recognize 8169SC/8100E/8101E (untested, but won't hurt working devices)
XXX: 8100E/8101E don't support 1000M; need some flag to set if_baudrate
 1.18  16-Nov-2006  christos __unused removal on arguments; approved by core.
 1.17  03-Nov-2006  tsutsui Pull another 8139C+ fix from FreeBSD if_re.c rev 1.68:
Perform hardware diagnostic only on the original RTL8169,
which was the only device that really needed it.
(i.e. a possible hardware bug when the NIC was put on a 64bit PCI slot)

Tested with on-board 8139C+ by Brian A. Seklecki.

Note this change might also fix PR kern/34952
(because re_diag() is no longer called on 8169S/8110S),
but I'm not sure if the re(4) chip was properly initialized in such case.
 1.16  28-Oct-2006  christos PR/34933: Sami Kantoluoto: RealTek 8168B found from Asus P5B motherboard
is not recognized
 1.15  27-Oct-2006  tsutsui Use common macro rather than local one.
 1.14  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.13  18-Jun-2006  christos branches: 1.13.4; 1.13.6;
PR/33761: dieter roelants: NetBSD doesn't recognize a RealTek 8168B nic
 1.12  25-Dec-2005  rpaulo branches: 1.12.4; 1.12.8; 1.12.14; 1.12.16;
PR/32386: Dawid Szymanski (arhea). Add support for the 8169SB chipset.
 1.11  23-Nov-2005  riz Special-case the Linksys EG1032 cards using PCI subsystem ID; rev. 2 uses
the sk(4) driver, while rev. 3 needs re(4).

Mostly from brad@openbsd.
 1.10  15-Jun-2005  cube branches: 1.10.2; 1.10.8;
Match two candidates. From Francois Romieu in private mail.
 1.9  09-May-2005  martin Add support for Corega CG-LAPCIGT Gigabit Ethernet.
From PR kern/30173.
 1.8  27-Feb-2005  perry branches: 1.8.2;
nuke trailing whitespace
 1.7  23-Feb-2005  yamt re_pci_probe: don't use i/o space unless RE_USEIOSPACE.
 1.6  13-Feb-2005  jdolecek constify
 1.5  22-Jan-2005  briggs branches: 1.5.2;
Put the headers in a more standard order with machine-specific and
dev/bus-specific headers after the sys and net headers. This allows
it to actually compile on macppc, among other things.
 1.4  18-Jan-2005  yamt - add rcsid.
- restore Bill Paul's copyright notice.
 1.3  15-Jan-2005  kanaoka branches: 1.3.2; 1.3.4;
- Make sure D0 state if device has Power Managmet capability.
- Use aprint_*.
- Change some cosmetic.

XXX not tested.
 1.2  13-Jan-2005  kanaoka - Move re_diag() from bus independend code to PCI attachment code.

XXX: I tested cardbus device,but not PCI device.
 1.1  23-Dec-2004  jonathan Snapshot of incomplete-but-working split of re(4) driver into a
bus-independent backend, with PCI and CardBus attachment code.
The committed code has two serious bugs:

1. The driver makes no attempt to recover resources when a (Cardbus)
instance is removed; bus resources are leaked.

2. In testing with a NetGear GA-511, the Cardbus card never responded
to a reset/wakeup if the card is powered down after attachment.
So for now, leave cardbus instances powered up at attachment
(insertion, or at boot if a card is already present).

That aside, it acutally works on my GA-511. Committed as-is despite
the bugs, after repeated requests to make the code available for
further testing. Also requires sys/dev/mii/miidevs rev 1.54 -> 1.55,
and consequent regen of miidevs{,_data}.h.
 1.3.4.7  11-Dec-2005  christos Sync with head.
 1.3.4.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.4.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.4  15-Feb-2005  skrll Sync with HEAD.
 1.3.4.3  24-Jan-2005  skrll Sync with HEAD.
 1.3.4.2  17-Jan-2005  skrll Sync with HEAD.
 1.3.4.1  15-Jan-2005  skrll file if_re_pci.c was added on branch ktrace-lwp on 2005-01-17 19:31:24 +0000
 1.3.2.1  29-Apr-2005  kent sync with -current
 1.5.2.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.2.7  04-Oct-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1852):
sys/dev/ic/rtl81x9var.h: revision 1.39
sys/dev/cardbus/if_re_cardbus.c: revision 1.13
sys/dev/pci/if_re_pci.c: revision 1.27 via patch
sys/dev/pci/if_rtk_pci.c: revision 1.32
sys/dev/cardbus/if_rtk_cardbus.c: revision 1.32
sys/dev/ic/rtl8169.c: revision 1.84, 1.85
sys/dev/ic/rtl81x9reg.h: revision 1.27
sys/dev/ic/rtl81x9.c: revision 1.72
Cleanup handling of quikrs on each RealTek chip:
Pull a fix for PCIe variants from FreeBSD
 1.8.2.6  10-Mar-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1680):
sys/dev/pci/if_re_pci.c: revision 1.25-1.26
Add an entry to match hwrev RTK_HWREV_8100E_SPIN2 too.
Also check both I/O and memory space on unmap. Pointer out by yamt.
 1.8.2.5  03-Mar-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1673):
distrib/sets/lists/man/mi 1.844, 1.871
share/man/man4/Makefile 1.372, 1.379 via patch
share/man/man4/re.4 1.8, 1.9, 1.11, 1.12
share/man/man4/rgephy.4 1.1
share/man/man4/rlphy.4 1.1, 1.2
sys/arch/amd64/conf/GENERIC 1.79, 1.89
sys/arch/amd64/conf/INSTALL 1.45, 1.49
sys/arch/i386/conf/GENERIC 1.717, 1.747
sys/arch/i386/conf/GENERIC_LAPTOP 1.164
sys/arch/i386/conf/INSTALL 1.277, 1.283
sys/arch/i386/conf/INSTALL_LAPTOP 1.96, 1.98
sys/arch/i386/conf/XEN2_DOM0 1.22 via patch
sys/arch/macppc/conf/GENERIC 1.220, 1.246
sys/arch/macppc/conf/INSTALL 1.96, 1.100
sys/dev/cardbus/if_re_cardbus.c 1.10
sys/dev/cardbus/if_rtk_cardbus.c 1.29-1.31
sys/dev/ic/rtl8169.c 1.14, 1.20, 1.24, 1.25, 1.28-1.61, 1.63, 1.64-1.81 via patch
sys/dev/ic/rtl81x9.c 1.52, 1.54-1.63, 1.65, 1.67-1.70
sys/dev/ic/rtl81x9reg.h 1.15-1.26
sys/dev/ic/rtl81x9var.h 1.19, 1.21-1.37
sys/dev/mii/files.mii 1.38
sys/dev/mii/miidevs 1.62, 1.64
sys/dev/mii/rgephy.c 1.10, 1.13-1.16
sys/dev/mii/rlphy.c 1.1, 1.6, 1.7, 1.11 via patch
sys/dev/pci/if_re_pci.c 1.13, 1.15-1.17, 1.19-1.23
sys/dev/pci/if_rtk_pci.c 1.25, 1.28, 1.29, 1.31
sys/dev/pci/pcidevs 1.851, 1.852

on re(4):
- improve stability (I believe ;-)
- add a workaround for hardware ip4csum-tx bug
- support newer chips (8169SB/SC, PCIe based 8168 etc.)
- fix 8139C+ support
- enable hardware VLAN
- misc bus_dma(9) fix (which makes re(4) work on mips ports)

on rtk(4):
- fix kern/31348
- fix possible panic on dreamcast
 1.8.2.4  29-Dec-2005  riz Pull up following revision(s) (requested by rpaulo in ticket #1070):
sys/dev/pci/if_re_pci.c: revision 1.12
sys/dev/ic/rtl81x9reg.h: revision 1.14
PR/32386: Dawid Szymanski (arhea). Add support for the 8169SB chipset.
From FreeBSD.
 1.8.2.3  24-Nov-2005  tron Pull up following revision(s) (requested by riz in ticket #993):
sys/dev/pci/if_sk.c: revision 1.18
sys/dev/pci/if_re_pci.c: revision 1.11
Special-case the Linksys EG1032 cards using PCI subsystem ID; rev. 2 uses
the sk(4) driver, while rev. 3 needs re(4).
Mostly from brad@openbsd.
 1.8.2.2  24-Nov-2005  tron Pull up following revision(s) (requested by riz in ticket #995):
sys/dev/pci/if_re_pci.c: revision 1.10
Match two candidates. From Francois Romieu in private mail.
 1.8.2.1  10-May-2005  tron Pull up revision 1.9 (requested by martin in ticket #273):
Add support for Corega CG-LAPCIGT Gigabit Ethernet.
From PR kern/30173.
 1.10.8.1  29-Nov-2005  yamt sync with head.
 1.10.2.6  21-Jan-2008  yamt sync with head
 1.10.2.5  27-Oct-2007  yamt sync with head.
 1.10.2.4  03-Sep-2007  yamt sync with head.
 1.10.2.3  26-Feb-2007  yamt sync with head.
 1.10.2.2  30-Dec-2006  yamt sync with head.
 1.10.2.1  21-Jun-2006  yamt sync with head.
 1.12.16.1  13-Jul-2006  gdamore Merge from HEAD.
 1.12.14.1  22-Jun-2006  chap Complete a sync sys/ with head.
 1.12.8.3  15-Sep-2006  yamt revert unrelated changes erroneously slipped in.
 1.12.8.2  26-Jun-2006  yamt sync with head.
 1.12.8.1  24-May-2006  yamt sync with head.
 1.12.4.1  09-Sep-2006  rpaulo sync with head
 1.13.6.2  10-Dec-2006  yamt sync with head.
 1.13.6.1  22-Oct-2006  yamt sync with head
 1.13.4.3  09-Feb-2007  ad Sync with HEAD.
 1.13.4.2  12-Jan-2007  ad Sync with head.
 1.13.4.1  18-Nov-2006  ad Sync with head.
 1.21.2.6  18-Aug-2009  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1339):
sys/dev/ic/rtl8169.c: revisions 1.107, 1.114, 1.115, 1.116,
1.117 (via patch), 1.118 (via patch),
1.119, 1.121
sys/dev/ic/rtl81x9reg.h: revisions 1.36, 1.37, 1.38, 1.39
sys/dev/ic/rtl81x9var.h: revision 1.47
sys/dev/mii/rgephy.c: revisions 1.16, 1.18, 1.19, 1.27 (via patch)
sys/dev/mii/rgephyreg.h: revision 1.3
sys/dev/pci/if_re_pci.c: revision 1.36
- add support for RTL8211B(L) to rgephy(4)
- add a wakeup instruction for rgephy(4) on newer re(4) chips
- detect RTL8169CP, RTL8168D/8111D, and RTL8103E variants
- fix rgephy(4) problem on RTL8111D reported on current-users:
http://mail-index.NetBSD.org/current-users/2009/04/12/msg008977.html
http://mail-index.NetBSD.org/current-users/2009/04/19/msg009096.html
- pull more quirk handling from FreeBSD
- fix RX hwcksum for DESCV2 chips for PR kern/40605
- remove "B" suffix from RTL8168 device names in attach message
 1.21.2.5  31-Mar-2009  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1297):
src/sys/dev/ic/rtl8169.c 1.104 (via patch), 1.105 (via patch),
1.106 (via patch), 1.108, 1.109 (via patch),
1.110, 1.111, 1.112, 1.113
sys/dev/ic/rtl81x9reg.h: revision 1.30 - 1.35
sys/dev/ic/rtl81x9var.h: revision 1.42 - 1.45
sys/dev/pci/if_re_pci.c: revision 1.35
Add support for 8168C/8111C/8102E chips.
Fix MAC reset issue (PR kern/41009)
Add/fix HW checksum support (PR kern/40955)
 1.21.2.4  16-May-2007  jdc Pull up revision 1.27 via patch (requested by tsutsui in ticket #640).

Cleanup handling of quikrs on each RealTek chip:
- replace rtk_type member in rtk_softc which has chip types
with new rtk_quirk that represents quirks on each chip:
- RTKQ_8129 doesn't have internal MII (used in rtk(4))
- RTKQ_8139CPLUS has different register layout (for re(4))
- RTKQ_8169NONS (original 8169) requires some settings on init
- RTKQ_PCIE requires different settings in setmulti
so that we don't have to check each hwrev values or types everywhere
and newer variants will also work without changes if they don't
have other quirks
(sc_rev is unchenged for now for reference to the Realtek's driver)
- don't check hwrev register in re_pci_match() but check
only PCI_VENDER(), PCI_PRODUCT() and PCI_REVISION()
so that we no longer have to map pci space there
- add a new HWREV value for another 8168 variant
- try to map PCI mem space more properly
- remove (probably unneeded) ifp->if_baudrate initialization

Tested on a newer 8168 variant by Dennis den Brok on tech-kern,
and also tested on 8139 and 8169C on macppc, and 8139C+ on landisk
by me.
 1.21.2.3  10-Mar-2007  bouyer branches: 1.21.2.3.2;
Pull up following revision(s) (requested by tsutsui in ticket #502):
sys/dev/pci/if_re_pci.c: revision 1.25-1.26
Add an entry to match hwrev RTK_HWREV_8100E_SPIN2 too.
Also check both I/O and memory space on unmap. Pointer out by yamt.
 1.21.2.2  10-Feb-2007  tron Pull up following revision(s) (requested by tsutsui in ticket #437):
sys/dev/pci/if_re_pci.c: revision 1.23
Add an 8169SC variant to re_devs. From Darrin B.Jewell.
 1.21.2.1  10-Feb-2007  tron Pull up following revision(s) (requested by tsutsui in ticket #437):
sys/dev/pci/if_re_pci.c: revision 1.22
Try to map both PCI I/O and memory space.
 1.21.2.3.2.1  03-Jun-2007  wrstuden Catch up with now-somewhat-dated netbsd-4. These changes took longer
than expected for me to actually get around to merging.
 1.23.2.3  24-Mar-2007  yamt sync with head.
 1.23.2.2  12-Mar-2007  rmind Sync with HEAD.
 1.23.2.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.26.6.1  29-Mar-2007  reinoud Pullup to -current
 1.26.4.1  11-Jul-2007  mjf Sync with head.
 1.26.2.3  23-Oct-2007  ad Sync with head.
 1.26.2.2  20-Aug-2007  ad Sync with HEAD.
 1.26.2.1  10-Apr-2007  ad Sync with head.
 1.27.4.1  15-Aug-2007  skrll Sync with HEAD.
 1.28.6.2  19-Jul-2007  dsl include sys/cdefs.h
 1.28.6.1  19-Jul-2007  dsl file if_re_pci.c was added on branch matt-mips64 on 2007-07-19 22:04:23 +0000
 1.28.4.5  08-Dec-2007  jmcneill Rename pnp(9) -> pmf(9), as requested by many.
 1.28.4.4  06-Nov-2007  joerg Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
three layers (class logic, device logic, bus logic), all of them being
optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
not suspended (even partially), device_is_enabled returns true if the
device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
pnp_system_resume. Before running any suspend/resume handlers, check
that all currently attached devices support power management and bail
out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
can register what events they are interested in and whether the handler
should be global or not.
- Introduce device_active API for devices to mark themselve in use from
either the system or the device. Use this to implement the idle handling
for audio and input devices. This is intended to replace most ad-hoc
watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.
 1.28.4.3  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.28.4.2  05-Oct-2007  joerg Remove the power management nonsense in the PCI versions of
rtk(4) and re(4). It is not really likely to work anyway.
Use PNP power management for the cardbus attachment as well and
remove the power management handlers from the chipset code.
 1.28.4.1  09-Aug-2007  jmcneill Sync with HEAD.
 1.29.6.1  25-Oct-2007  bouyer Sync with HEAD.
 1.29.2.2  09-Jan-2008  matt sync with HEAD
 1.29.2.1  06-Nov-2007  matt sync with HEAD
 1.30.6.1  11-Dec-2007  yamt sync with head.
 1.30.4.1  26-Dec-2007  ad Sync with head.
 1.31.2.1  13-Dec-2007  bouyer Sync with HEAD
 1.32.8.2  28-Sep-2008  mjf Sync with HEAD.
 1.32.8.1  02-Jun-2008  mjf Sync with HEAD.
 1.33.2.1  18-May-2008  yamt sync with head.
 1.34.8.1  19-Oct-2008  haad Sync with HEAD.
 1.34.4.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.34.2.3  11-Aug-2010  yamt sync with head.
 1.34.2.2  16-Sep-2009  yamt sync with head
 1.34.2.1  04-May-2009  yamt sync with head.
 1.35.12.1  21-Apr-2010  matt sync to netbsd-5
 1.35.8.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.35.4.1  19-Jun-2009  snj Pull up following revision(s) (requested by tsutsui in ticket #821):
sys/dev/ic/rtl8169.c: revisions 1.107, 1.114-1.119, 1.121
sys/dev/ic/rtl81x9reg.h: revisions 1.36-1.39
sys/dev/ic/rtl81x9var.h: revision 1.47
sys/dev/mii/rgephy.c: revision 1.27 via patch
sys/dev/pci/if_re_pci.c: revision 1.36
remove extra semicolons.
--
Add HWREV values of RTL8168CP and RTL8168D. From FreeBSD.

XXX: needs more quirk handling after wakeup for newer chips.
--
Add HWREV of RTL8102EL variant. From FUKAUMI Naoki.
--
Assume an unknown HWREV chip has the same features with the latest one.
--
Remove suffix "B" from rtk_name of PCI_PRODUCT_REALTEK_RT8168 devices.
All 8168/8111 variants (8168/8168B/8168C/8168CP/8168D/8111B/8111C/8111CP)
have the same PCI device ID.
--
Remove magic reset sequence except wakeup for rev 2 chips which breaks 8111D.
Problem reported and fix confirmed by Thomas Bieg on current-users.

Also tested on 8111C (no bad side effect) by several users privately.
--
Pull some changes for newer chips from FreeBSD:
- pull MACSTAT and CMDSTOP quirks for 8168/8111 chips
- always set CPLUSCMD_PCI_MRW on reset
- set VLANSTRIP and RXCSUM_ENB bits on CPLUS register per if_capenable

Tested on 8111C and 8111D by several users, and
no bad side effect on my old 8169S.
--
Remove unused sc_rev settings (all quirks are handled by sc_quirk)
and merge HWREV cases which have the same quirks.
--
- rename RTK_HWREV_8102EL_SPIN2 -> RTK_HWREV_8103E
- add a HWREV value for 8168DP
Per Realtek's Linux drivers.
--
Two fixes for RX hwcsum on DESCV2 chips:
* On checking TCPv4/UDPv4 RX checksum on DESCV2 chips, also check
RE_RDESC_VLANCTL_IPV4 bit because those DESCV2 chips may also recognize
IPv6 packets and set RE_PROTOID_TCPIP or RE_PROTOID_UDPIP bits for
TCPv6/UDPv6 packets. This may fix PR kern/40605.
* According to Realtek's Linux driver, DESCV2 chips don't set RE_PROTOID_IP
for non-TCP/UDP IP packets (set only RE_RDESC_VLANCTL_IPV[46]) so
remove PROTOID check for IPv4 RX cheksum on DESCV2 chips.
 1.35.2.1  28-Apr-2009  skrll Sync with HEAD.
 1.38.4.1  05-Mar-2011  rmind sync with head
 1.38.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.40.12.1  18-Feb-2012  mrg merge to -current.
 1.40.8.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.40.8.1  17-Apr-2012  yamt sync with head
 1.41.6.3  03-Dec-2017  jdolecek update from HEAD
 1.41.6.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.41.6.1  23-Jun-2013  tls resync from head
 1.42.4.1  18-May-2014  rmind sync with head
 1.43.6.3  28-Aug-2017  skrll Sync with HEAD
 1.43.6.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.43.6.1  06-Jun-2015  skrll Sync with HEAD
 1.45.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.45.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.46.2.2  19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.46.2.1  02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.48.10.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.48.10.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.48.10.1  10-Jun-2019  christos Sync with HEAD
 1.48.8.1  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.48.2.1  19-Nov-2019  martin Pull up the following revisions, requested by msaitoh in ticket #1449:

sys/dev/pci/if_re_pci.c 1.50
share/man/man4/re.4 1.17-1.18

Add D-Link DGE-530T Rev. C,D and TP-Link TG-3468 v2,v3.
Add note about UDP checksum offload feature to the document.
 1.49.4.1  19-Nov-2019  martin Pull up the following revisions, requested by msaitoh in ticket #451:

sys/dev/pci/if_re_pci.c 1.50 (patch)
share/man/man4/re.4 1.17-1.18 (patch)

Add D-Link DGE-530T Rev. C,D and TP-Link TG-3468 v2,v3.
Add note about UDP checksum offload feature to the document.
 1.50.2.1  29-Feb-2020  ad Sync with head.
 1.52.24.1  24-Aug-2024  martin Pull up following revision(s) (requested by jakllsch in ticket #805):

sys/dev/pci/pcidevs: revision 1.1503
sys/dev/pci/if_re_pci.c: revision 1.53

Add (Realtek/)Killer E2600 Ethernet
Add Killer E2600, adapted from PR 57969

RSS XML Feed