1bb0667afSPyun YongHyeon.\" Copyright (c) 2010 Pyun YongHyeon 2bb0667afSPyun YongHyeon.\" All rights reserved. 3bb0667afSPyun YongHyeon.\" 4bb0667afSPyun YongHyeon.\" Redistribution and use in source and binary forms, with or without 5bb0667afSPyun YongHyeon.\" modification, are permitted provided that the following conditions 6bb0667afSPyun YongHyeon.\" are met: 7bb0667afSPyun YongHyeon.\" 1. Redistributions of source code must retain the above copyright 8bb0667afSPyun YongHyeon.\" notice, this list of conditions and the following disclaimer. 9bb0667afSPyun YongHyeon.\" 2. Redistributions in binary form must reproduce the above copyright 10bb0667afSPyun YongHyeon.\" notice, this list of conditions and the following disclaimer in the 11bb0667afSPyun YongHyeon.\" documentation and/or other materials provided with the distribution. 12bb0667afSPyun YongHyeon.\" 13bb0667afSPyun YongHyeon.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14bb0667afSPyun YongHyeon.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15bb0667afSPyun YongHyeon.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16bb0667afSPyun YongHyeon.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17bb0667afSPyun YongHyeon.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18bb0667afSPyun YongHyeon.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19bb0667afSPyun YongHyeon.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20bb0667afSPyun YongHyeon.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21bb0667afSPyun YongHyeon.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22bb0667afSPyun YongHyeon.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23bb0667afSPyun YongHyeon.\" SUCH DAMAGE. 24bb0667afSPyun YongHyeon.\" 25bb0667afSPyun YongHyeon.Dd December 30, 2010 26bb0667afSPyun YongHyeon.Dt VTE 4 27bb0667afSPyun YongHyeon.Os 28bb0667afSPyun YongHyeon.Sh NAME 29bb0667afSPyun YongHyeon.Nm vte 30bb0667afSPyun YongHyeon.Nd Vortex86 RDC R6040 Fast Ethernet driver 31bb0667afSPyun YongHyeon.Sh SYNOPSIS 32bb0667afSPyun YongHyeonTo compile this driver into the kernel, 33bb0667afSPyun YongHyeonplace the following lines in your 34bb0667afSPyun YongHyeonkernel configuration file: 35bb0667afSPyun YongHyeon.Bd -ragged -offset indent 36bb0667afSPyun YongHyeon.Cd "device miibus" 37bb0667afSPyun YongHyeon.Cd "device vte" 38bb0667afSPyun YongHyeon.Ed 39bb0667afSPyun YongHyeon.Pp 40bb0667afSPyun YongHyeonAlternatively, to load the driver as a 41bb0667afSPyun YongHyeonmodule at boot time, place the following line in 42bb0667afSPyun YongHyeon.Xr loader.conf 5 : 43bb0667afSPyun YongHyeon.Bd -literal -offset indent 44bb0667afSPyun YongHyeonif_vte_load="YES" 45bb0667afSPyun YongHyeon.Ed 46bb0667afSPyun YongHyeon.Sh DESCRIPTION 47bb0667afSPyun YongHyeonThe 48bb0667afSPyun YongHyeon.Nm 49bb0667afSPyun YongHyeondevice driver provides support for RDC R6040 Fast Ethernet controller 50bb0667afSPyun YongHyeonwhich is commonly found on Vortex86 System On a Chip (SoC). 51bb0667afSPyun YongHyeon.Pp 52bb0667afSPyun YongHyeonThe RDC R6040 has integrated 10/100 PHY for 10/100Mbps support in full 53bb0667afSPyun YongHyeonor half-duplex. 54bb0667afSPyun YongHyeonThe controller supports interrupt moderation mechanism, a 64-bit multicast 55bb0667afSPyun YongHyeonhash filter, VLAN over-size frame and four station addresses. 56bb0667afSPyun YongHyeonThe 57bb0667afSPyun YongHyeon.Nm 58bb0667afSPyun YongHyeondevice driver uses three station addresses out of four as perfect 59f9530835SPyun YongHyeonmulticast filter. 60bb0667afSPyun YongHyeon.Pp 61bb0667afSPyun YongHyeonThe 62bb0667afSPyun YongHyeon.Nm 63bb0667afSPyun YongHyeondriver supports the following media types: 64bb0667afSPyun YongHyeon.Bl -tag -width ".Cm 10baseT/UTP" 65bb0667afSPyun YongHyeon.It Cm autoselect 66bb0667afSPyun YongHyeonEnable autoselection of the media type and options. 67bb0667afSPyun YongHyeonThe user can manually override 68bb0667afSPyun YongHyeonthe autoselected mode by adding media options to 69bb0667afSPyun YongHyeon.Xr rc.conf 5 . 70bb0667afSPyun YongHyeon.It Cm 10baseT/UTP 71bb0667afSPyun YongHyeonSet 10Mbps operation. 72bb0667afSPyun YongHyeon.It Cm 100baseTX 73bb0667afSPyun YongHyeonSet 100Mbps (Fast Ethernet) operation. 74bb0667afSPyun YongHyeon.El 75bb0667afSPyun YongHyeon.Pp 76bb0667afSPyun YongHyeonThe 77bb0667afSPyun YongHyeon.Nm 78bb0667afSPyun YongHyeondriver supports the following media options: 79bb0667afSPyun YongHyeon.Bl -tag -width ".Cm full-duplex" 80bb0667afSPyun YongHyeon.It Cm full-duplex 81bb0667afSPyun YongHyeonForce full duplex operation. 82bb0667afSPyun YongHyeon.It Cm half-duplex 83bb0667afSPyun YongHyeonForce half duplex operation. 84bb0667afSPyun YongHyeon.El 85bb0667afSPyun YongHyeon.Pp 86bb0667afSPyun YongHyeonFor more information on configuring this device, see 87bb0667afSPyun YongHyeon.Xr ifconfig 8 . 88bb0667afSPyun YongHyeon.Sh HARDWARE 89bb0667afSPyun YongHyeonThe 90bb0667afSPyun YongHyeon.Nm 91bb0667afSPyun YongHyeondevice driver provides support for the following Ethernet controllers: 92bb0667afSPyun YongHyeon.Pp 93bb0667afSPyun YongHyeon.Bl -bullet -compact 94bb0667afSPyun YongHyeon.It 95bb0667afSPyun YongHyeonDM&P Vortex86 RDC R6040 Fast Ethernet controller 96bb0667afSPyun YongHyeon.El 97bb0667afSPyun YongHyeon.Sh LOADER TUNABLES 98bb0667afSPyun YongHyeonTunables can be set at the 99bb0667afSPyun YongHyeon.Xr loader 8 100bb0667afSPyun YongHyeonprompt before booting the kernel or stored in 101bb0667afSPyun YongHyeon.Xr loader.conf 5 . 102bb0667afSPyun YongHyeon.Bl -tag -width "xxxxxx" 103bb0667afSPyun YongHyeon.It Va hw.vte.tx_deep_copy 104bb0667afSPyun YongHyeonThe RDC R6040 controller has no auto-padding support for short 105bb0667afSPyun YongHyeonframes and the controller's DMA engine does not have capability to 106bb0667afSPyun YongHyeonhandle multiple buffers for a TX frame such that driver has to 107bb0667afSPyun YongHyeoncreate a single contiguous TX buffer. 108bb0667afSPyun YongHyeonThis hardware limitation leads to poor TX performance since most of 109bb0667afSPyun YongHyeonCPU cycles are wasted on both de-fragmenting mbuf chains and padding. 110bb0667afSPyun YongHyeonThis tunable enables deep copy operation for TX frames such that 111bb0667afSPyun YongHyeondriver will spend less CPU cycles in de-fragmentation with the 112bb0667afSPyun YongHyeoncost of extra TX buffer memory. 113bb0667afSPyun YongHyeonThe default value is 1 to use deep copy. 114bb0667afSPyun YongHyeon.El 115bb0667afSPyun YongHyeon.Sh SYSCTL VARIABLES 116bb0667afSPyun YongHyeonThe following variables are available as both 117bb0667afSPyun YongHyeon.Xr sysctl 8 118bb0667afSPyun YongHyeonvariables and 119bb0667afSPyun YongHyeon.Xr loader 8 120bb0667afSPyun YongHyeontunables: 121bb0667afSPyun YongHyeon.Bl -tag -width "xxxxxx" 122bb0667afSPyun YongHyeon.It Va dev.vte.%d.rx_mod 123bb0667afSPyun YongHyeonMaximum number of packets to fire RX completion interrupt. 124bb0667afSPyun YongHyeonThe accepted range is 0 to 15, the default is 15. 125bb0667afSPyun YongHyeon.It Va dev.vte.%d.tx_mod 126bb0667afSPyun YongHyeonMaximum number of packets to fire TX completion interrupt. 127bb0667afSPyun YongHyeonThe accepted range is 0 to 15, the default is 15. 128bb0667afSPyun YongHyeon.It Va dev.vte.%d.stats 129bb0667afSPyun YongHyeonShow hardware MAC statistics maintained in driver. 130bb0667afSPyun YongHyeon.El 131bb0667afSPyun YongHyeon.Sh SEE ALSO 132bb0667afSPyun YongHyeon.Xr altq 4 , 133bb0667afSPyun YongHyeon.Xr arp 4 , 134bb0667afSPyun YongHyeon.Xr miibus 4 , 135bb0667afSPyun YongHyeon.Xr netintro 4 , 136bb0667afSPyun YongHyeon.Xr ng_ether 4 , 137bb0667afSPyun YongHyeon.Xr vlan 4 , 138bb0667afSPyun YongHyeon.Xr ifconfig 8 139bb0667afSPyun YongHyeon.Rs 140bb0667afSPyun YongHyeon.%T "DM&P Electronics Inc. Vortex86" 141bb0667afSPyun YongHyeon.%U http://www.dmp.com.tw 142bb0667afSPyun YongHyeon.Re 143bb0667afSPyun YongHyeon.Sh HISTORY 144bb0667afSPyun YongHyeonThe 145bb0667afSPyun YongHyeon.Nm 146bb0667afSPyun YongHyeondriver was written by 147*6c899950SBaptiste Daroussin.An Pyun YongHyeon Aq Mt yongari@FreeBSD.org . 148bb0667afSPyun YongHyeonIt first appeared in 149bb0667afSPyun YongHyeon.Fx 8.3 . 150