Document which drivers are using MSI and how it can be disabled.
[dragonfly.git] / share / man / man4 / jme.4
CommitLineData
a49d95d4
SZ
1.\" Copyright (c) 2008 Pyun YongHyeon
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD: src/share/man/man4/jme.4,v 1.1 2008/05/27 01:59:17 yongari Exp $
a49d95d4 26.\"
5cee4cf5 27.Dd April 7, 2012
a49d95d4
SZ
28.Dt JME 4
29.Os
30.Sh NAME
31.Nm jme
32.Nd JMicron Gigabit/Fast Ethernet driver
33.Sh SYNOPSIS
34To compile this driver into the kernel,
35place the following lines in your
36kernel configuration file:
37.Bd -ragged -offset indent
38.Cd "device miibus"
39.Cd "device jme"
40.Ed
41.Pp
42Alternatively, to load the driver as a
43module at boot time, place the following line in
44.Xr loader.conf 5 :
45.Bd -literal -offset indent
46if_jme_load="YES"
47.Ed
48.Sh DESCRIPTION
49The
50.Nm
51device driver provides support for JMicron JMC250 PCI Express
52Gigabit Ethernet controllers and JMicron JMC260 PCI Express Fast
53Ethernet controllers.
54.Pp
55All LOMs supported by the
56.Nm
57driver have TCP/UDP/IP checksum offload for both transmit and receive,
58.\" TCP segmentation offload (TSO),
59hardware VLAN tag stripping/insertion features,
60.\" Wake On Lan (WOL)
61an interrupt coalescing/moderation mechanism as well as
62a 64-bit multicast hash filter.
63.Pp
64The JMC250 also supports Jumbo Frames (up to 9216 bytes), which can be
65configured via the interface MTU setting.
66Selecting an MTU larger than 1500 bytes with the
67.Xr ifconfig 8
68utility configures the adapter to receive and transmit Jumbo Frames.
69.Pp
70The
71.Nm
72driver supports the following media types:
73.Bl -tag -width ".Cm 10baseT/UTP"
74.It Cm autoselect
75Enable autoselection of the media type and options.
76The user can manually override
77the autoselected mode by adding media options to
78.Xr rc.conf 5 .
79.It Cm 10baseT/UTP
80Set 10Mbps operation.
81.It Cm 100baseTX
82Set 100Mbps (Fast Ethernet) operation.
83.It Cm 1000baseT
84Set 1000baseT operation over twisted pair.
85.El
86.Pp
87The
88.Nm
89driver supports the following media options:
90.Bl -tag -width ".Cm full-duplex"
91.It Cm full-duplex
92Force full duplex operation.
93.It Cm half-duplex
94Force half duplex operation.
95.El
96.Pp
97For more information on configuring this device, see
98.Xr ifconfig 8 .
9de40864
SZ
99The
100.Nm
101driver supports
102.Xr polling 4 .
5cee4cf5
SW
103.Ss Loader Tunables
104By default, the driver will use MSI if it is supported.
105This behavior can be turned off by setting the following tunable:
106.Bd -literal -offset indent
107hw.jme.msi.enable=0
108.Ed
74554d4a
SZ
109.Ss MIB Variables
110A number of per-interface variables are implemented in the
111.Va hw.jme Ns Em X
112branch of the
113.Xr sysctl 3
114MIB.
115.Bl -tag -width "rx_ring_count"
a49d95d4 116.It Va tx_coal_to
74554d4a 117Maximum amount of time to delay for TX completion interrupt in
a49d95d4 118units of 1us.
9de40864 119The accepted range is 1 to 65535, the default is 65535 (65535us).
a49d95d4 120.It Va tx_coal_pkt
74554d4a
SZ
121Maximum number of packets to fire TX completion interrupt.
122The accepted range is 0 to 255, the default is 64.
123Packet count based TX interrupt coalescing could be disabled
124by setting this variable to 0.
a49d95d4 125.It Va rx_coal_to
74554d4a 126Maximum amount of time to delay for RX completion interrupt in
a49d95d4
SZ
127units of 1us.
128The accepted range is 1 to 65535, the default is 100 (100us).
129.It Va rx_coal_pkt
74554d4a
SZ
130Maximum number of packets to fire RX completion interrupt.
131The accepted range is 0 to 255, the default is 64.
132Packet count based RX interrupt coalescing could be disabled
133by setting this variable to 0.
134.It Va rx_desc_count
135Number of RX descriptors per-ring (read-only).
50208d2c
SW
136Use the tunable
137.Va hw.jme.rx_desc_count
138to configure it.
74554d4a
SZ
139.It Va tx_desc_count
140Number of TX descriptors (read-only).
50208d2c
SW
141Use the tunable
142.Va hw.jme.tx_desc_count
143to configure it.
74554d4a
SZ
144.It Va rx_ring_count
145Number of RX rings (read-only).
50208d2c
SW
146Use the tunable
147.Va hw.jme.rx_ring_count
148to configure it.
74554d4a
SZ
149.It Va rx_ring_inuse
150Number of RX rings being used (read-only).
a49d95d4
SZ
151.El
152.Sh SEE ALSO
153.Xr altq 4 ,
154.Xr arp 4 ,
f7972ad0 155.Xr ifmedia 4 ,
a49d95d4
SZ
156.Xr miibus 4 ,
157.Xr netintro 4 ,
158.Xr ng_ether 4 ,
9de40864 159.Xr polling 4 ,
a49d95d4
SZ
160.Xr vlan 4 ,
161.Xr ifconfig 8
162.Sh HISTORY
163The
164.Nm
165driver was written by
166.An Pyun YongHyeon
167.Aq yongari@FreeBSD.org .
168It first appeared in
169.Fx 7.1
170and was imported into
171.Dx 2.1 .