Enable hardware timer simulated interrupt moderation by default.
[dragonfly.git] / share / man / man4 / nfe.4
1 .\"     $OpenBSD: nfe.4,v 1.10 2006/08/30 22:56:05 jmc Exp $
2 .\"     $DragonFly: src/share/man/man4/nfe.4,v 1.10 2008/07/26 07:41:45 sephe Exp $
3 .\"
4 .\" Copyright (c) 2006 Jonathan Gray <jsg@openbsd.org>
5 .\"
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
9 .\"
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .\"
18 .Dd July 12, 2008
19 .Dt NFE 4
20 .Os
21 .Sh NAME
22 .Nm nfe
23 .Nd NVIDIA nForce MCP 10/100/Gigabit Ethernet driver
24 .Sh SYNOPSIS
25 To compile this driver into the kernel,
26 place the following lines in your
27 kernel configuration file:
28 .Bd -ragged -offset indent
29 .Cd "device miibus"
30 .Cd "device nfe"
31 .Ed
32 .Pp
33 Alternatively, to load the driver as a
34 module at boot time, place the following line in
35 .Xr loader.conf 5 :
36 .Bd -literal -offset indent
37 if_nfe_load="YES"
38 .Ed
39 .Sh DESCRIPTION
40 The
41 .Nm
42 driver supports PCI Ethernet adapters based on the NVIDIA
43 nForce Media and Communications Processors (MCP), such as
44 the nForce, nForce 2, nForce 3, CK804, MCP04, MCP51, MCP55,
45 MCP61, MCP65, MCP67, MCP73, MCP77 and MCP79 Ethernet controller chips.
46 .Pp
47 The
48 .Nm
49 driver supports the following
50 .Ar media
51 types:
52 .Pp
53 .Bl -tag -width autoselect -compact
54 .It Cm autoselect
55 Enable autoselection of the media type and options.
56 .It Cm 10baseT
57 Set 10Mbps operation.
58 .It Cm 100baseTX
59 Set 100Mbps (Fast Ethernet) operation.
60 .It Cm 1000baseT
61 Set 1000Mbps (Gigabit Ethernet) operation (recent models only).
62 .El
63 .Ss MIB Variables and Loader Tunables
64 The following per-interface variables are implemented in the
65 .Va hw.nfe Ns Em X
66 branch of the
67 .Xr sysctl 3
68 MIB.
69 Loader tunables with the same names, but using the prefix
70 .Va hw.nfe
71 are also implemented, they apply to all
72 .Nm
73 interfaces in system and can be set in
74 .Xr loader.conf 5 .
75 .Bl -tag -width ".Va rx_ring_count"
76 .It Va imtimer
77 Interrupt moderation time (unit: microseconds).
78 The default value is -125.
79 A value of 0 means disabled.
80 A negative value, -Y, means hardware timer simulated interrupt moderation,
81 the simulated interrupt moderation timer will be set to Y.
82 A positive valye, Y, means hardware timer only interrupt moderation,
83 hardware timer will be set to Y.
84 Value can be tuned when the interface is running.
85 Positive values in the range 64-128 seems to be a reasonable.
86 .It Va rx_ring_count
87 RX ring count.
88 sysctl node is read-only.
89 The default value is 128.
90 With heavier interrupt moderation (eg. imtimer=-250),
91 it is recommended to increase rx_ring_count (eg. to 512).
92 .It Va tx_ring_count
93 TX ring count.
94 sysctl node is read-only.
95 The default value is 256.
96 .El
97 .Pp
98 For more information on configuring this device, see
99 .Xr ifconfig 8 .
100 The
101 .Nm
102 driver supports
103 .Xr polling 4 .
104 .Sh SEE ALSO
105 .Xr arp 4 ,
106 .Xr ifmedia 4 ,
107 .Xr intro 4 ,
108 .Xr miibus 4 ,
109 .Xr netintro 4 ,
110 .Xr pci 4 ,
111 .Xr polling 4 ,
112 .Xr vlan 4 ,
113 .Xr loader.conf 5 ,
114 .Xr ifconfig 8
115 .Sh HISTORY
116 The
117 .Nm
118 device driver first appeared in
119 .Ox 3.9
120 and was imported into
121 .Dx 1.7 .
122 .Sh AUTHORS
123 .An -nosplit
124 The
125 .Nm
126 driver was written by
127 .An Jonathan Gray
128 .Aq jsg@openbsd.org
129 and
130 .An Damien Bergamini
131 .Aq damien@openbsd.org .
132 It was ported to
133 .Dx
134 by
135 .An Sepherosa Ziehau
136 .Aq sepherosa@gmail.com .
137 .Sh CAVEATS
138 NVIDIA refuse to release any documentation on their products.