summaryrefslogtreecommitdiffstats
path: root/sys/dev/msk/if_mskreg.h
Commit message (Collapse)AuthorAgeFilesLines
* Bring in support for: Marvell Yukon 8039remko2007-12-051-0/+1
| | | | | | | PR: 118401 Submitted by: Skip Ford <skip at menantico dot com> Approved by: imp (mentor), yongari MFC After: 3 days
* Add device id for 88E8058(Yukon EC Ultra) which is found on 3rdyongari2007-11-201-0/+1
| | | | | | | | generation MacBooks. Unfortunately 88E8058 supports one MSI message so msk(4) needs more generic way to handle the MSI capability. PR: 118110
* Make phy respond only at address 0. This makes phy driver attachedyongari2007-11-201-1/+0
| | | | | | | | | | | | | | | | only at address 0 which is supposed to be the only valid phy address on Marvell PHY. The more correct solution would be masking PHY address ranges allowable in PHY probe routine. Unfortunately, FreeBSD has no way to retrict the PHY address ranges or to pass special flags to PHY driver. This change assumes that PHY hardwares attached to msk(4) would be Marvell made 88E11xx PHY. With this changes the phantom phys attached on 88E8036(Yukon FE) should disappear. Reported by: Oleg Lomaka < oleg AT lomaka DOT org DOT ua > Tested by: Oleg Lomaka < oleg AT lomaka DOT org DOT ua >
* Drop maintaing hardware feature(bug) lists for Yukon II. We don't haveyongari2007-11-201-30/+0
| | | | | | | | | | publicly available datasheet for Yukon II and don't know what bug/workaround exist for the specific hardware revision. Also I don't think the vendor will release hardware errata in near future. The hardware feature lists were not used at all except setting water mark registers. Since msk(4) should know exact chip model/revision number to decide which hardware capability could be used the extra feature lists were redundant.
* Various fixes for EC Ultra.yongari2007-11-201-3/+6
| | | | | | | | | | | | | o Enable jumbo frame support for EC Ultra and disable jumbo frame for FE. o Enable store and forward mode for standard MTU sized frame. o Enable TSO for EC Ultra. However TSO/checksum offload is disabled for jumbo frame case. Because EC Ultra can't use store and forward mode for jumbo frame TSO/checksum offload is not available. o Adjust Tx GMAC almost empty threshold value and add a jumbo frame water mark. The maic value was obtained from Marvell's sk98lin driver. o Fix EC Ultra chip revision number.
* The maximum size of the sum of all segment lengths in a given DMA mappingyongari2007-06-121-1/+1
| | | | | | should be 65535 + link layer headers. Pointed out by: gallatin
* Increase a maximum segment size of DMA to 4096. Previously it usedyongari2007-06-111-0/+2
| | | | | | | | MCLBYTES for the segment size but it used too many Tx descriptors in TSO case. While I'm here adjust maximum size of the sum of all segment lengths in a given DMA mapping to 65535, the maximum size, in bytes, of a IP packet.
* Work around GMAC hardware hang bug.yongari2007-04-251-1/+0
| | | | | | | | It seems that valid pause frames(Tx flow control) cause GMAC to hang such that it resulted in watchdog timeout. As a work around don't flush Rx MAC FIFO if we've received pause frames. Tested by: Harald Schmalzbauer (h DOT schmalzbauer AT omnisec DOT de)
* Piggyback watchdog timer handling with msk_tick which is called everyyongari2006-12-291-1/+1
| | | | | hz. This will result in slightly faster Tx processing as it does not need lock operations for callouts in msk_start/msk_txeof.
* Fix MSI support. Now it correctly allocates SYS_RES_IRQ resourcesyongari2006-12-291-2/+4
| | | | | | | on Yukon II which reports it can handle two messages. Submitted by: jhb Tested by: bms
* Add msk(4), a driver for Marvell/SysKonnect Yukon II Gigabit Ethernetyongari2006-12-131-0/+2396
controller. Due to lack of documentation, this driver is based on the code from sk(4) and Marvell's myk(4) driver for FreeBSD. I've also adopted the OpenBSD interface name, msk(4) in order to reduce naming differences between BSDs. The msk(4) driver supports the following Gigabit Ethernet adapters. o SysKonnect SK-9Sxx Gigabit Ethernet o SysKonnect SK-9Exx Gigabit Ethernet o Marvell Yukon 88E8021CU Gigabit Ethernet o Marvell Yukon 88E8021 SX/LX Gigabit Ethernet o Marvell Yukon 88E8022CU Gigabit Ethernet o Marvell Yukon 88E8022 SX/LX Gigabit Ethernet o Marvell Yukon 88E8061CU Gigabit Ethernet o Marvell Yukon 88E8061 SX/LX Gigabit Ethernet o Marvell Yukon 88E8062CU Gigabit Ethernet o Marvell Yukon 88E8062 SX/LX Gigabit Ethernet o Marvell Yukon 88E8035 Gigabit Ethernet o Marvell Yukon 88E8036 Gigabit Ethernet o Marvell Yukon 88E8038 Gigabit Ethernet o Marvell Yukon 88E8050 Gigabit Ethernet o Marvell Yukon 88E8052 Gigabit Ethernet o Marvell Yukon 88E8053 Gigabit Ethernet o Marvell Yukon 88E8055 Gigabit Ethernet o Marvell Yukon 88E8056 Gigabit Ethernet o D-Link 550SX Gigabit Ethernet o D-Link 560T Gigabit Ethernet Unlike OpenBSD/NetBSD msk(4), the msk(4) driver supports all hardware features including TCP/UDP checksum offload for transmit, MSI, TCP segmentation offload(TSO), hardware VLAN tag stripping/insertion, and jumbo frames(up to 9022 bytes). The only unsupported hardware feature except RLMT is Rx checksum offload which I don't know how to make it work reliably. Known Issues: It seems msk(4) does not work on the second port of dual port NIC. (The first port works without problems.) Thanks to Marvell for releasing the BSD licensed myk(4) driver and thanks to all users helped fixing bugs. Tested by: bz, philip, bms, YAMAMOTO Shigeru < shigeru AT iij DOT ad DOT jp >, Dmitry Pryanishnikov < dmitry AT atlantis DOT dp DOT ua >, Jia-Shiun Li < jiashiun AT gmail DOT com >, David Duchscher < daved AT tamu DOT edu >, Arno J. Klaassen < arno AT heho DOT snv DOT jussieu DOT fr>, Nicolae Namolovan < adrenalinup AT gmail DOT com>, Andre Guibert de Bruet < andy AT siliconlandmark DOT com > current ML Tested on: i386, amd64
OpenPOWER on IntegriCloud