mge
—
Marvell Gigabit Ethernet device driver
To compile this driver into the kernel, place the following lines in your kernel
configuration file:
device mge
device miibus
The mge
driver provides support for gigabit Ethernet
controller integrated in Marvell system-on-chip devices.
The mge
driver supports the following
media types:
- autoselect
- Enable autoselection of the media type and options
- 10baseT/UTP
- Set 10Mbps operation
- 100baseTX
- Set 100Mbps operation
- 1000baseT
- Set 1000baseT operation
The mge
driver supports the following
media options:
- full-duplex
- Set full duplex operation
The mge
driver supports polled operation
when the system is configured with DEVICE_POLLING kernel option, see
polling(4)
for more details.
The mge
driver supports reception and
transmission of extended frames for
vlan(4).
This capability of mge
can be controlled by means of
the vlanmtu
parameter to
ifconfig(8).
The mge
driver supports interrupts
coalescing (IC) so that raising a transmit/receive frame interrupt is
delayed, if possible, until a threshold-defined period of time has elapsed.
The following sysctls regulate this behaviour (separately for each
path):
- dev.mge.X.int_coal.rx_time
-
- dev.mge.X.int_coal.tx_time
-
Value of 0 disables IC on the given path, value greater than
zero corresponds to a real time period and is expressed in units
equivalent to 64 ticks of the MGE clock. Maximum allowed value depends
on MGE hardware revision. User provided values larger than supported
will be trimmed to the maximum supported. More details are available in
the reference manual of the device.
Gigabit Ethernet controllers built into the following Marvell systems-on-chip
are known to work with the mge
driver:
- Orion 88F5182
- Orion 88F5281
- Kirkwood 88F6281 (MGE V2)
- Discovery MV78100 (MGE V2)
There are also Marvell system controllers for PowerPC processors,
which include a variation of this gigabit Ethernet module integrated on
chip, and they should also work with the mge
driver,
but this wasn't tested:
- MV64430
- MV64460, MV64461, MV64462
The mge
device driver first appeared in
FreeBSD 8.0.
The base version of mge
device driver was written by
Grzegorz Bernacki. It has been extended with advanced
features (polling, interrupt coalescing, multicast, h/w checksum calculation
etc.) by Piotr Ziecik. This manual page was written by
Rafal Jaworowski.