Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_skreg.h
RevisionDateAuthorComments
 1.34  16-Feb-2025  jakllsch Add additional Yukon2 definitions relating to hardware VLAN tagging and
queue interrupt information
 1.33  09-Feb-2024  andvar branches: 1.33.2;
fix spelling mistakes, mainly in comments and log messages.
 1.32  02-Feb-2024  andvar fix various typos in comments.
 1.31  23-Feb-2022  andvar fix various typos in comments, mainly immediatly/immediately/,
as well shared and recently fixed typos in OpenBSD code by Jonathan Grey.
 1.30  02-Aug-2021  andvar fix various typos in comments and log messages.
 1.29  08-May-2020  jakllsch if_skreg.h: remove duplicate or triplicate identical #defines
 1.28  26-Apr-2020  jakllsch Use __aligned(8) with naturally-aligned-yet-__packed msk(4) descriptors.

Allows compiler to generate more efficent struct member accesses.
 1.27  15-Nov-2019  msaitoh Make Yukon EX, FE+, SUPR stable. The code is mainly taken from FreeBSD.

At least, this change made my own Yukon EX machine (HP ProBook 4501s) much
stable than before.
 1.26  05-Mar-2019  msaitoh branches: 1.26.4;
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes
if_upgt.c's ETHER_ALIGN from 0 to 2.
 1.25  14-Sep-2018  jakllsch msk(4): add 64-bit DMA support

portions of this change set provided by mrg@
 1.24  11-Jul-2018  kre Build fix: Supply missing symbol definition.
Value taken from OpenBSD (and confirmed with FreeBSD)
(Feel free to fix/reformat as appropriate...)
 1.23  10-Jul-2018  kre Whitespace fixes. NFC.
 1.22  04-Jul-2018  jdolecek sync SK_IMTIMER_TICKS_YUKON value with OpenBSD (likely pasto)
 1.21  14-Jun-2018  msaitoh branches: 1.21.2;
s/regisrer/register/. No functional change.
 1.20  14-Jun-2018  msaitoh The revision number of Yukon FE A2 is not 0x3 but 0x2. Same as other OSes.
 1.19  13-Jun-2018  jdolecek actually recognize the Yukon 2 variants up to SK_YUKON_OPTIMA2 as such
 1.18  12-Jun-2018  jdolecek move SK_HASH_BITS to if_skreg.h and reuse in if_msk.c (from OpenBSD)
 1.17  12-Jun-2018  jdolecek match three more variants - DGE550T_B1, 8040T, 8042

sync more sk_type conditionals from OpenBSD
 1.16  09-Jun-2018  jdolecek port basic match support for several more Yukon variants from OpenBSD, together
with some basic conditionals I've found in that driver; only compile-tested, so
very likely needs further work to actually work

adresses also PR kern/43507
 1.15  10-Oct-2014  christos branches: 1.15.18;
PR/49270: Hauke Fath: Samsung NC10 Marvell Yukon ethernet not supported
 1.14  29-May-2011  phx branches: 1.14.14;
The Genesis interface provides a register in the device specific config space
to automatically revert the byte order in all descriptors.
Make sure this feature is inactive. Otherwise the driver is unable to
receive or transmit any frame.
 1.13  18-Nov-2008  chris branches: 1.13.8; 1.13.10;
Fix Yukon EC Ultra cold power up issue.

For the EC Ultra it is necessary to update some extra registers during
reset. Without doing so causes the system to hang at boot. The only
workaround I found was to PXE boot before booting into NetBSD.

This change is based on the code from FreeBSD's if_msk.c. Specifically the
msk_phy_power function.

Also add an splnet/splx across mii_tick. This matches most other network
drivers.

Change posted for review on 3rd Oct 2008 to tech-net. No feedback
received.
 1.12  28-Apr-2008  martin branches: 1.12.6; 1.12.8; 1.12.10;
Remove clause 3 and 4 from TNF licenses
 1.11  31-Jan-2007  msaitoh branches: 1.11.40; 1.11.42; 1.11.44;
fix bit definitions for the RX FIFO Flush mode
 1.10  30-Jan-2007  msaitoh apply some patches from FreeBSD

o fix device timeout
o add some workaround
o TX underrun bug (grr...)
o and some bugs
 1.9  30-Jan-2007  msaitoh sync with OpenBSD-current (many bugfixes, add some devices)

if_msk.c: rev. 1.42
if_mskvar.h rev. 1.3
if_skreg.h rev. 1.41
 1.8  09-Sep-2006  riz branches: 1.8.4; 1.8.6;
Add msk(4), a driver for Marvell Yukon 2 gigabit ethernet chips,
from Mark Kettenis of OpenBSD. There are still some outstanding
issues with this driver, namely:

- Checksum offload is unsupported
- There is a significant amount of code duplication from sk(4)
- There remain some 'magic numbers'
- Performance is not heavily tested, and likely to be lower than
the chip is capable of in some cases. Syncing some of the
aforementioned 'magic numbers' with the Marvell FreeBSD driver
should help here.

Tested on a motherboard with Marvell 88E8053 ethernet, under NetBSD/i386
and NetBSD/amd64.
 1.7  31-May-2006  riz branches: 1.7.4; 1.7.6;
Add support for the DLink DGE-530T revision B1 (Tested by Tillman
Hodgson) and the DGE-560T (untested).
 1.6  14-Feb-2006  riz branches: 1.6.2; 1.6.8;
Not all chips supported by this driver use the same interrupt moderation
timer frequency; Take this into account. Information gathered from
the sk98lin driver for Linux, from Marvell.

Also add sysctl support for changing the interrupt moderation timer at
runtime; each board is controlled independently.

Discussed on tech-net beginning in November 2005.
 1.5  11-Dec-2005  christos branches: 1.5.2; 1.5.4; 1.5.6;
merge ktrace-lwp.
 1.4  30-May-2005  christos branches: 1.4.2;
- const poisoning
- avoid variable shadowing.
 1.3  26-Sep-2004  skd branches: 1.3.10;
Fix Yukon ram sizing.
Fix tx queue (slist can be corrupted when tx interrupts hit within tx_encap.
Lower interrupt moderation timer to (improves performance).
Improve chip identification. (from linux sk98lin driver).
Keep tx queue running by kicking the tx bmu repeatedly.
 1.2  26-Aug-2003  jdolecek branches: 1.2.2; 1.2.4; 1.2.6;
retain the FreeBSD RCS Id for xmaciireg.h for reference
 1.1  26-Aug-2003  jdolecek Add driver for SysKonnect SK-9821 and 3COM 3C940 gigabit ethernet boards
From FreeBSD via OpenBSD, port to NetBSD done by Stephen Degler

Changes relative to submitted version:
* yukonreg.h and xmaciireg.h merged into if_skreg.h
* bhack[] constified + other small editing changes
* use 'Ethernet address' rather than 'address' in attach message

XXX completely untested by me, needs further cleanup

Driver provided in PR kern/22511 by Stephen Degler
 1.2.6.3  04-Jun-2006  tron Pull up following revision(s) (requested by riz in ticket #10636):
sys/dev/pci/if_skreg.h: revision 1.7
sys/dev/pci/if_sk.c: revision 1.26
Add support for the DLink DGE-530T revision B1 (Tested by Tillman
Hodgson) and the DGE-560T (untested).
 1.2.6.2  29-Mar-2006  tron Pull up following revision(s) (requested by riz in ticket #10403):
sys/dev/pci/if_skreg.h: revision 1.6
sys/dev/pci/if_skvar.h: revision 1.9
sys/dev/pci/if_sk.c: revision 1.20 via patch
Not all chips supported by this driver use the same interrupt moderation
timer frequency; Take this into account. Information gathered from
the sk98lin driver for Linux, from Marvell.
Also add sysctl support for changing the interrupt moderation timer at
runtime; each board is controlled independently.
Discussed on tech-net beginning in November 2005.
 1.2.6.1  07-Jan-2005  jdc Pull up revision 1.3 (requested by abs in ticket #973).

Fix Yukon ram sizing.
Fix tx queue (slist can be corrupted when tx interrupts hit within tx_encap.
Lower interrupt moderation timer to (improves performance).
Improve chip identification. (from linux sk98lin driver).
Keep tx queue running by kicking the tx bmu repeatedly.
 1.2.4.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.4.5  19-Oct-2004  skrll Sync with HEAD
 1.2.4.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.4.3  18-Sep-2004  skrll Sync with HEAD.
 1.2.4.2  03-Aug-2004  skrll Sync with HEAD
 1.2.4.1  26-Aug-2003  skrll file if_skreg.h was added on branch ktrace-lwp on 2004-08-03 10:49:09 +0000
 1.2.2.1  07-Jan-2005  jdc Pull up revision 1.3 (requested by abs in ticket #973).

Fix Yukon ram sizing.
Fix tx queue (slist can be corrupted when tx interrupts hit within tx_encap.
Lower interrupt moderation timer to (improves performance).
Improve chip identification. (from linux sk98lin driver).
Keep tx queue running by kicking the tx bmu repeatedly.
 1.3.10.2  04-Jun-2006  tron Pull up following revision(s) (requested by riz in ticket #1350):
sys/dev/pci/if_skreg.h: revision 1.7
sys/dev/pci/if_sk.c: revision 1.26
Add support for the DLink DGE-530T revision B1 (Tested by Tillman
Hodgson) and the DGE-560T (untested).
 1.3.10.1  29-Mar-2006  tron Pull up following revision(s) (requested by riz in ticket #1230):
sys/dev/pci/if_skreg.h: revision 1.6
sys/dev/pci/if_skvar.h: revision 1.9
sys/dev/pci/if_sk.c: revision 1.20 via patch
Not all chips supported by this driver use the same interrupt moderation
timer frequency; Take this into account. Information gathered from
the sk98lin driver for Linux, from Marvell.
Also add sysctl support for changing the interrupt moderation timer at
runtime; each board is controlled independently.
Discussed on tech-net beginning in November 2005.
 1.4.2.3  26-Feb-2007  yamt sync with head.
 1.4.2.2  30-Dec-2006  yamt sync with head.
 1.4.2.1  21-Jun-2006  yamt sync with head.
 1.5.6.2  01-Jun-2006  kardel Sync with head.
 1.5.6.1  22-Apr-2006  simonb Sync with head.
 1.5.4.1  09-Sep-2006  rpaulo sync with head
 1.5.2.1  18-Feb-2006  yamt sync with head.
 1.6.8.1  19-Jun-2006  chap Sync with head.
 1.6.2.2  14-Sep-2006  yamt sync with head.
 1.6.2.1  26-Jun-2006  yamt sync with head.
 1.7.6.2  01-Feb-2007  ad Sync with head.
 1.7.6.1  18-Nov-2006  ad Sync with head.
 1.7.4.1  15-Sep-2006  tron Pull up following revision(s) (requested by riz in ticket #153):
sys/dev/pci/if_skreg.h: revision 1.8
sys/dev/pci/if_msk.c: revision 1.1
sys/dev/pci/files.pci: revision 1.268
sys/dev/pci/if_mskvar.h: revision 1.1
Add msk(4), a driver for Marvell Yukon 2 gigabit ethernet chips,
from Mark Kettenis of OpenBSD. There are still some outstanding
issues with this driver, namely:
- Checksum offload is unsupported
- There is a significant amount of code duplication from sk(4)
- There remain some 'magic numbers'
- Performance is not heavily tested, and likely to be lower than
the chip is capable of in some cases. Syncing some of the
aforementioned 'magic numbers' with the Marvell FreeBSD driver
should help here.
Tested on a motherboard with Marvell 88E8053 ethernet, under NetBSD/i386
and NetBSD/amd64.
 1.8.6.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.8.4.1  26-Aug-2007  liamjfoy Pull up following revision(s) (requested by riz in ticket #816):
sys/dev/pci/if_skreg.h: revision 1.10
sys/dev/pci/if_skreg.h: revision 1.11
sys/dev/pci/pcidevs: revision 1.866
sys/dev/pci/if_skreg.h: revision 1.9
sys/dev/pci/if_sk.c: revision 1.36
sys/dev/pci/if_msk.c: revision 1.4
sys/dev/pci/if_msk.c: revision 1.5
sys/dev/pci/if_msk.c: revision 1.6
sys/dev/pci/if_msk.c: revision 1.7
sys/dev/pci/if_mskvar.h: revision 1.2
sys/dev/pci/if_mskvar.h: revision 1.3
Apply OpenBSD's rev. 1.33 to shut up "msk0: phy write timed out"
Original commit message:
> In msk_marv_miibus_writereg, wait for busy flag to clear instead of
> continuing when busy flag set.

add some msk devices

sync with OpenBSD-current (many bugfixes, add some devices)
if_msk.c: rev. 1.42
if_mskvar.h rev. 1.3
if_skreg.h rev. 1.41

sync with if_skreg.h rev. 1.41
need more work?

apply some patches from FreeBSD
o fix device timeout
o add some workaround
o TX underrun bug (grr...)
o and some bugs

fix bit definitions for the RX FIFO Flush mode

Apply OpenBSD's rev. 1.14 via patch:
> remove another Yukon Lite workaround.
 1.11.44.2  04-May-2009  yamt sync with head.
 1.11.44.1  16-May-2008  yamt sync with head.
 1.11.42.1  18-May-2008  yamt sync with head.
 1.11.40.2  17-Jan-2009  mjf Sync with HEAD.
 1.11.40.1  02-Jun-2008  mjf Sync with HEAD.
 1.12.10.1  20-Nov-2008  snj Pull up following revision(s) (requested by chris in ticket #84):
sys/dev/pci/if_skreg.h: revision 1.13
sys/dev/pci/if_msk.c: revision 1.22
Fix Yukon EC Ultra cold power up issue.
For the EC Ultra it is necessary to update some extra registers during
reset. Without doing so causes the system to hang at boot. The only
workaround I found was to PXE boot before booting into NetBSD.
This change is based on the code from FreeBSD's if_msk.c. Specifically the
msk_phy_power function.
Also add an splnet/splx across mii_tick. This matches most other network
drivers.
Change posted for review on 3rd Oct 2008 to tech-net. No feedback
received.
 1.12.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.12.6.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.13.10.1  06-Jun-2011  jruoho Sync with HEAD.
 1.13.8.1  31-May-2011  rmind sync with head
 1.14.14.1  03-Dec-2017  jdolecek update from HEAD
 1.15.18.3  30-Sep-2018  pgoyette Ssync with HEAD
 1.15.18.2  28-Jul-2018  pgoyette Sync with HEAD
 1.15.18.1  25-Jun-2018  pgoyette Sync with HEAD
 1.21.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.21.2.1  10-Jun-2019  christos Sync with HEAD
 1.26.4.1  19-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #450):

sys/dev/pci/if_msk.c: revision 1.94
sys/dev/pci/if_skreg.h: revision 1.27

Make Yukon EX, FE+, SUPR stable. The code is mainly taken from FreeBSD.

At least, this change made my own Yukon EX machine (HP ProBook 4501s) much
stable than before.
 1.33.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed