mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-14 10:09:48 +00:00
Markup fixes.
This commit is contained in:
parent
87d72a8f27
commit
89b74d5cd5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=131797
@ -24,7 +24,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" Author: Hartmut Brandt <harti@freebsd.org>
|
||||
.\" Author: Hartmut Brandt <harti@FreeBSD.org>
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
@ -35,11 +35,12 @@
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm fatm
|
||||
.Nd Device driver for Fore PCA200E ATM interfaces
|
||||
.Nd "device driver for Fore PCA200E ATM interfaces"
|
||||
.Sh SYNOPSIS
|
||||
.Cd device fatm
|
||||
.Cd device utopia
|
||||
.Cd device atm
|
||||
.Pp
|
||||
.Cd options NATM
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
@ -61,37 +62,38 @@ For configuring the card for IP see
|
||||
The following sysctls are recognized by the driver additionally to those
|
||||
handled by
|
||||
.Xr utopia 4 :
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.atm.fatmN.stats
|
||||
.Bl -tag -width indent
|
||||
.It Va hw.atm.fatm Ns Ar N Ns Va .stats
|
||||
Returns a device specific statistic list of
|
||||
.Dv uint32_t
|
||||
.Vt uint32_t
|
||||
statistic counters.
|
||||
.It Cm hw.atm.fatmN.istats
|
||||
.It Va hw.atm.fatm Ns Ar N Ns Va .istats
|
||||
Returns a list of
|
||||
.Dv uint32_t
|
||||
.Vt uint32_t
|
||||
with internal driver statistics.
|
||||
.It Cm hw.atm.fatmN.retry_tx
|
||||
.It Va hw.atm.fatm Ns Ar N Ns Va .retry_tx
|
||||
If this is set packets are stuffed back into the interface's send queue when
|
||||
the cards transmit queue is found to be full.
|
||||
They are transmitted later.
|
||||
If this is not set the packets are dropped.
|
||||
It may be useful to set this
|
||||
if only UBR traffic is sent.
|
||||
.It Cm hw.atm.fatmN.debug
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.fatm Ns Ar N Ns Va .debug
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
These are debugging flags.
|
||||
See
|
||||
.Fn if_fatmvar.h
|
||||
.Pa src/sys/dev/fatm/if_fatmvar.h
|
||||
for the possible flags.
|
||||
.El
|
||||
.Pp
|
||||
The driver supports the media options
|
||||
.Ar sdh ,
|
||||
.Ar noscramb
|
||||
.Cm sdh , noscramb
|
||||
and
|
||||
.Ar unassigned
|
||||
.Cm unassigned
|
||||
(see
|
||||
.Xr utopia 4 ).
|
||||
.Xr utopia 4 ) .
|
||||
.Sh DIAGNOSTICS
|
||||
.Bd -literal
|
||||
fatm0: <FORE PCA200E> mem 0xd5800000-0xd59fffff irq 9 at device 9.0 on pci0
|
||||
@ -110,4 +112,4 @@ See
|
||||
.Xr hatm 4
|
||||
for a better card.
|
||||
.Sh AUTHORS
|
||||
.An Harti Brandt Aq harti@freebsd.org .
|
||||
.An Harti Brandt Aq harti@FreeBSD.org
|
||||
|
@ -24,7 +24,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" Author: Hartmut Brandt <harti@freebsd.org>
|
||||
.\" Author: Hartmut Brandt <harti@FreeBSD.org>
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
@ -35,11 +35,12 @@
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm hatm
|
||||
.Nd Device driver for Fore/Marconi HE155 and HE622 ATM interfaces
|
||||
.Nd "device driver for Fore/Marconi HE155 and HE622 ATM interfaces"
|
||||
.Sh SYNOPSIS
|
||||
.Cd device hatm
|
||||
.Cd device utopia
|
||||
.Cd device atm
|
||||
.Pp
|
||||
.Cd options NATM
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
@ -63,58 +64,71 @@ For configuring the card for IP see
|
||||
The following sysctls are recognized by the driver additionally to those
|
||||
handled by
|
||||
.Xr utopia 4 :
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.atm.hatm.natm_traffic
|
||||
.Bl -tag -width indent
|
||||
.It Va hw.atm.hatm.natm_traffic
|
||||
This is the traffic type to be used for NATM pvc connections.
|
||||
The type of
|
||||
this variable is integer and it must have one of the values 0 (UBR) or 1 (CBR).
|
||||
.It Cm hw.atm.hatm.natm_pcr
|
||||
.It Va hw.atm.hatm.natm_pcr
|
||||
This is the peak cell rate to be used for NATM CBR connections.
|
||||
.It Cm hw.atm.hatmN.stats
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .stats
|
||||
Contains an array of
|
||||
.Vt uint32_t
|
||||
with device specific statistics.
|
||||
.It Cm hw.atm.hatmN.istats
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .istats
|
||||
Contains an array of
|
||||
.Vt uint32_t
|
||||
with internal driver statistics.
|
||||
.It Cm hw.atm.hatmN.debug
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .debug
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
These are the debugging flags.
|
||||
See
|
||||
.Fn if_hatmvar.h
|
||||
.Pa src/sys/dev/hatm/if_hatmvar.h
|
||||
for the possible flags.
|
||||
.It Cm hw.atm.hatmN.tsr
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .tsr
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
This is an array containing all transmission status registers.
|
||||
For each of the
|
||||
4096 possible VCCs there are 15 32-bit registers.
|
||||
.It Cm hw.atm.hatmN.tpd
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .tpd
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
This is an array containing all on card current transmission packet descriptors.
|
||||
For each of the 4096 possible VCCs there are 16 32-bit registers.
|
||||
.It Cm hw.atm.hatmN.mbox
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .mbox
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
This is an array containing the mbox registers.
|
||||
.It Cm hw.atm.hatmN.cm
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .cm
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
This is an array containing all connection memory registers.
|
||||
The first 32-bit integer of this array is the ABR base address.
|
||||
.It Cm hw.atm.hatmN.heregs
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .heregs
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
This is an array containing all card registers including SUNI and the FLASH ROM.
|
||||
.It Cm hw.atm.hatmN.lbmem
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.atm.hatm Ns Ar N Ns Va .lbmem
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
Returns the contents of the local memory.
|
||||
.El
|
||||
.Pp
|
||||
The driver supports the media options
|
||||
.Ar sdh ,
|
||||
.Ar noscramb
|
||||
.Cm sdh , noscramb
|
||||
and
|
||||
.Ar unassigned
|
||||
.Cm unassigned
|
||||
(see
|
||||
.Xr utopia 4 ).
|
||||
.Xr utopia 4 ) .
|
||||
.Sh DIAGNOSTICS
|
||||
.Bd -literal
|
||||
hatm0: <FORE HE> mem 0xd2600000-0xd26fffff irq 9 at device 15.0 on pci2
|
||||
@ -123,13 +137,13 @@ hatm0: ForeRunnerHE 622, Rev. D, S/N 2949834, MAC=00:20:48:2d:02:ca
|
||||
.Sh ENVIRONMENT
|
||||
When attaching to a device the driver checks the kernel environment
|
||||
(see
|
||||
.Xr kenv 4 )
|
||||
.Xr kenv 1 )
|
||||
to see if the default queues sizes should be overwritten or not.
|
||||
The
|
||||
following variables are checked and interpreted as unsigned integer
|
||||
values (in either radix):
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.hatmN.rbps0_size
|
||||
.Bl -tag -width indent
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbps0_size
|
||||
Size of the small receive buffer pool 0.
|
||||
This pool is used for all
|
||||
except raw AAL connections.
|
||||
@ -137,12 +151,12 @@ The pool size must be a power of two between
|
||||
4 and 8192 inclusive.
|
||||
When attaching the driver allocates this number
|
||||
of mbufs.
|
||||
.It Cm hw.hatmN.rbps0_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbps0_thresh
|
||||
Interrupt threshold for small receive buffer pool 0.
|
||||
When the number of free
|
||||
buffers in the pool falls below this threshold it generates an interrupt
|
||||
so that the driver can refill the pool.
|
||||
.It Cm hw.hatmN.rbpl0_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbpl0_thresh
|
||||
Size of the large receive buffer pool 0.
|
||||
This pool is used for all
|
||||
except raw AAL connections.
|
||||
@ -150,32 +164,32 @@ The pool size must be a power of two between
|
||||
4 and 8192 inclusive.
|
||||
When attaching the driver allocates this number
|
||||
of mbufs with clusters.
|
||||
.It Cm hw.hatmN.rbpl0_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbpl0_thresh
|
||||
Interrupt threshold for large receive buffer pool 0.
|
||||
When the number of free
|
||||
buffers in the pool falls below this threshold it generates an interrupt
|
||||
so that the driver can refill the pool.
|
||||
.It Cm hw.hatmN.rbrq0_size
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq0_size
|
||||
Size of receive buffer return queue 0.
|
||||
This queue is used to return buffers
|
||||
filled with received frames to the driver.
|
||||
The size must be a power of 2
|
||||
between 1 and 16384 inclusive.
|
||||
.It Cm hw.hatmN.rbrq0_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq0_thresh
|
||||
Interrupt threshold for receive buffer return queue 0.
|
||||
This threshold
|
||||
should only be triggered in exceptional cases.
|
||||
.It Cm hw.hatmN.rbrq0_tout
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq0_tout
|
||||
Interrupt timeout for receive buffer return queue 0.
|
||||
An interrupt is generated
|
||||
after this time if the queue is not empty.
|
||||
The number is in internal card
|
||||
ticks.
|
||||
.It Cm hw.hatmN.rbrq0_pcnt
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq0_pcnt
|
||||
Packet count threshold for receive buffer return queue 0.
|
||||
An interrupt
|
||||
is generated if this number of packets is in the queue.
|
||||
.It Cm hw.hatmN.rbps1_size
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbps1_size
|
||||
Size of the small receive buffer pool 1.
|
||||
This pool is used for all
|
||||
raw AAL connections.
|
||||
@ -183,63 +197,63 @@ The pool size must be a power of two between
|
||||
4 and 8192 inclusive.
|
||||
When attaching the driver allocates this number
|
||||
of mbufs.
|
||||
.It Cm hw.hatmN.rbps1_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbps1_thresh
|
||||
Interrupt threshold for small receive buffer pool 1.
|
||||
When the number of free
|
||||
buffers in the pool falls below this threshold it generates an interrupt
|
||||
so that the driver can refill the pool.
|
||||
.It Cm hw.hatmN.rbrq1_size
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq1_size
|
||||
Size of receive buffer return queue 1.
|
||||
This queue is used to return buffers
|
||||
filled with received cells to the driver.
|
||||
The size must be a power of 2
|
||||
between 1 and 16384 inclusive.
|
||||
.It Cm hw.hatmN.rbrq1_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq1_thresh
|
||||
Interrupt threshold for receive buffer return queue 1.
|
||||
This threshold
|
||||
should only be triggered in exceptional cases.
|
||||
.It Cm hw.hatmN.rbrq1_tout
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq1_tout
|
||||
Interrupt timeout for receive buffer return queue 1.
|
||||
An interrupt is generated
|
||||
after this time if the queue is not empty.
|
||||
The number is in internal card
|
||||
ticks.
|
||||
.It Cm hw.hatmN.rbrq1_pcnt
|
||||
.It Va hw.hatm Ns Ar N Ns Va .rbrq1_pcnt
|
||||
Packet count threshold for receive buffer return queue 0.
|
||||
An interrupt
|
||||
is generated if this number of cells is in the queue.
|
||||
.It Cm hw.hatmN.irq0_size
|
||||
.It Va hw.hatm Ns Ar N Ns Va .irq0_size
|
||||
Size of interrupt queue 0.
|
||||
This must be a number between 1 and 1023 inclusive.
|
||||
.It Cm hw.hatmN.irq0_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .irq0_thresh
|
||||
Interrupt retrigger threshold of interrupt queue 0.
|
||||
A new interrupt is trigger
|
||||
if the queue fill state reaches this threshold and the interrupt was no
|
||||
served.
|
||||
.It Cm hw.hatmN.tbrq0_size
|
||||
.It Va hw.hatm Ns Ar N Ns Va .tbrq0_size
|
||||
Transmit buffer return queue 0 size.
|
||||
This queue is used to feed back empty
|
||||
buffers of transmitted frames back to the driver.
|
||||
It must be a power of 2
|
||||
between 1 and 4096 inclusive.
|
||||
.It Cm hw.hatmN.tbrq0_thresh
|
||||
.It Va hw.hatm Ns Ar N Ns Va .tbrq0_thresh
|
||||
Transmit buffer return queue 0 threshold.
|
||||
An interrupt is generated if the
|
||||
queue fill state reaches this point.
|
||||
.It Cm hw.hatmN.tpdrq_size
|
||||
.It Va hw.hatm Ns Ar N Ns Va .tpdrq_size
|
||||
Transmit descriptor ready queue size.
|
||||
This queue is used by the driver
|
||||
to feed transmit descriptors into the card.
|
||||
The size must be a power of 2
|
||||
between 1 and 16384 inclusive.
|
||||
.It Cm hw.hatmN.tpdmax
|
||||
.It Va hw.hatm Ns Ar N Ns Va .tpdmax
|
||||
Maximum number of active TPDs per connection.
|
||||
This controls the maximum
|
||||
number of outstanding packet chunks per connection and thus the maximum
|
||||
delay packets can have because of queueing on the adapter.
|
||||
If set to 0,
|
||||
a connection can eat up all available TPDs.
|
||||
.It Cm hw.hatmN.mbuf_max_pages
|
||||
.It Va hw.hatm Ns Ar N Ns Va .mbuf_max_pages
|
||||
Maximum number of memory pages allocated to small external mbufs.
|
||||
This must not be zero and not larger than 65536.
|
||||
.El
|
||||
@ -250,12 +264,14 @@ The HE155 runs only in 33MHz slots (either 32 or 64-bit).
|
||||
HE622 cards work just fine in 64-bit slots.
|
||||
.Pp
|
||||
The driver may not work with bounce buffer, because of
|
||||
.Fn bus_dma_sync
|
||||
.Xr bus_dmamap_sync 9
|
||||
missing the
|
||||
.Fa offset
|
||||
and
|
||||
.Fa len
|
||||
arguments the NetBSD function has.
|
||||
arguments the
|
||||
.Nx
|
||||
function has.
|
||||
.Sh SEE ALSO
|
||||
.Xr natm 4 ,
|
||||
.Xr natmip 4 ,
|
||||
@ -263,4 +279,4 @@ arguments the NetBSD function has.
|
||||
.Xr ifconfig 8 ,
|
||||
.Xr route 8
|
||||
.Sh AUTHORS
|
||||
.An Harti Brandt Aq harti@freebsd.org .
|
||||
.An Harti Brandt Aq harti@FreeBSD.org
|
||||
|
@ -3,7 +3,7 @@
|
||||
.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Author: Hartmut Brandt <harti@freebsd.org>
|
||||
.\" Author: Hartmut Brandt <harti@FreeBSD.org>
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
@ -43,10 +43,12 @@ Without any
|
||||
additional signalling stacks or other modules it is possible to build
|
||||
a CLIP (classical IP over ATM) network based on PVCs.
|
||||
.Pp
|
||||
An ATM network card (en0 in this example) is configured for IP by something
|
||||
An ATM network card
|
||||
.Li ( en0
|
||||
in this example) is configured for IP by something
|
||||
like:
|
||||
.Pp
|
||||
.Dl # ifconfig en0 128.252.200.1 netmask 0xffffff00 up
|
||||
.Dl "ifconfig en0 128.252.200.1 netmask 0xffffff00 up"
|
||||
.Pp
|
||||
IP routing is done with special interface routes (routes with directly
|
||||
reachable destinations) with a link layer gateway address.
|
||||
@ -128,20 +130,20 @@ The cutoff decrease factor (CDF).
|
||||
.El
|
||||
.Pp
|
||||
To add a PVC the
|
||||
.Dq route
|
||||
.Xr route 8
|
||||
utility can be used:
|
||||
.Pp
|
||||
.Ic # route add -iface
|
||||
.Ar <remote IP address>
|
||||
.Ic -link
|
||||
.Ar <iface> Ns Ic \&: Ns Ar <lladdr>
|
||||
.Bd -ragged -offset indent
|
||||
.Nm route Cm add
|
||||
.Fl iface Aq Ar "remote\ IP\ address"
|
||||
.Fl link Ao Ar iface Ac : Ns Aq Ar lladdr
|
||||
.Ed
|
||||
.Pp
|
||||
The
|
||||
.Ar <iface>
|
||||
.Ar iface
|
||||
is the ATM interface through which
|
||||
.Ar <remote IP address>
|
||||
.Ar "remote\ IP\ address"
|
||||
can be reached and
|
||||
.Ar <lladdr>
|
||||
.Ar lladdr
|
||||
is the link layer address as a string of dot-separated, hexadecimal bytes.
|
||||
.Pp
|
||||
NATM also supports the old, original format.
|
||||
@ -185,23 +187,23 @@ To enable the links use the following commands:
|
||||
.Pp
|
||||
on host 128.252.200.1:
|
||||
.Bd -literal -offset indent -compact
|
||||
# ifconfig en0 128.252.200.1 netmask 0xffffff00 up
|
||||
# route add -iface 128.252.200.2 -link en0:3.0.0.c9.0
|
||||
# route add -iface 128.252.200.3 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a
|
||||
ifconfig en0 128.252.200.1 netmask 0xffffff00 up
|
||||
route add -iface 128.252.200.2 -link en0:3.0.0.c9.0
|
||||
route add -iface 128.252.200.3 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a
|
||||
.Ed
|
||||
.Pp
|
||||
on host 128.252.200.2:
|
||||
.Bd -literal -offset indent -compact
|
||||
# ifconfig en0 128.252.200.2 netmask 0xffffff00 up
|
||||
# route add -iface 128.252.200.1 -link en0:3.0.0.c9.0
|
||||
# route add -iface 128.252.200.3 -link en0:3.0.0.cb.1.1.86.a0
|
||||
ifconfig en0 128.252.200.2 netmask 0xffffff00 up
|
||||
route add -iface 128.252.200.1 -link en0:3.0.0.c9.0
|
||||
route add -iface 128.252.200.3 -link en0:3.0.0.cb.1.1.86.a0
|
||||
.Ed
|
||||
.Pp
|
||||
on host 128.252.200.3:
|
||||
.Bd -literal -offset indent -compact
|
||||
# ifconfig en0 128.252.200.3 netmask 0xffffff00 up
|
||||
# route add -iface 128.252.200.1 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a
|
||||
# route add -iface 128.252.200.2 -link en0:3.0.0.cb.1.1.86.a0
|
||||
ifconfig en0 128.252.200.3 netmask 0xffffff00 up
|
||||
route add -iface 128.252.200.1 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a
|
||||
route add -iface 128.252.200.2 -link en0:3.0.0.cb.1.1.86.a0
|
||||
.Ed
|
||||
.Pp
|
||||
This can also be done in
|
||||
|
@ -24,7 +24,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" Author: Hartmut Brandt <harti@freebsd.org>
|
||||
.\" Author: Hartmut Brandt <harti@FreeBSD.org>
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
@ -35,11 +35,12 @@
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm patm
|
||||
.Nd Device driver for IDT77252 based ATM interfaces (ProSum and IDT)
|
||||
.Nd "device driver for IDT77252 based ATM interfaces (ProSum and IDT)"
|
||||
.Sh SYNOPSIS
|
||||
.Cd device patm
|
||||
.Cd device utopia
|
||||
.Cd device atm
|
||||
.Pp
|
||||
.Cd options NATM
|
||||
.Cd options LIBMBPOOL
|
||||
.Sh DESCRIPTION
|
||||
@ -74,53 +75,70 @@ This may be used for monitoring purposes.
|
||||
The following sysctls are recognized by the driver additionally to those
|
||||
handled by
|
||||
.Xr utopia 4 :
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.atm.patmN.istats
|
||||
.Bl -tag -width indent
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .istats
|
||||
Returns a list of
|
||||
.Dv uint32_t
|
||||
.Vt uint32_t
|
||||
statistic counters with internal driver statistics.
|
||||
.It Cm hw.atm.patmN.eeprom
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .eeprom
|
||||
This is a read-only variable containing the contents of the on-board EEPROM
|
||||
device.
|
||||
.It Cm hw.atm.patmN.lbuf_max
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .lbuf_max
|
||||
This puts an upper limit on the number of large receive buffers the
|
||||
driver will allocate.
|
||||
This is a read-only variable that can be set via a loader tunable.
|
||||
.It Cm hw.atm.patmN.tx_maxmaps
|
||||
This is a read-only variable that can be set via a
|
||||
.Xr loader 8
|
||||
tunable.
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .tx_maxmaps
|
||||
This is the upper limit of transmission DMA maps the driver will allocate.
|
||||
This is read-only but may be set via a loader tunable.
|
||||
.It Cm hw.atm.patmN.debug
|
||||
.Em (only if debugging enabled)
|
||||
This is read-only but may be set via a
|
||||
.Xr loader 8
|
||||
tunable.
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .debug
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
These are debugging flags.
|
||||
See
|
||||
.Fn if_patmvar.h
|
||||
.Pa src/sys/dev/patm/if_patmvar.h
|
||||
for the possible flags.
|
||||
This may be initialized via a loader tunable.
|
||||
.It Cm hw.atm.patmN.regs
|
||||
.Em (only if debugging enabled)
|
||||
This may be initialized via a
|
||||
.Xr loader 8
|
||||
tunable.
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .regs
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
Returns the current values of the card's registers.
|
||||
.It Cm hw.atm.patmN.tsq
|
||||
.It Va hw.atm.patm Ns Ar N Ns Va .tsq
|
||||
Returns the transmit status queue.
|
||||
.El
|
||||
.Pp
|
||||
When loaded the driver initializes several variables from loader tunables:
|
||||
.Bl -tag -width XXX
|
||||
.It Cm hw.patmN.lbuf_max
|
||||
This initializes the corresponding sysctl variable and defines an upper
|
||||
When loaded, the driver initializes several variables from
|
||||
.Xr loader 8
|
||||
tunables:
|
||||
.Bl -tag -width indent
|
||||
.It Va hw.patm Ns Ar N Ns Va .lbuf_max
|
||||
This initializes the corresponding
|
||||
.Xr sysctl 8
|
||||
variable and defines an upper
|
||||
limit on the number of large receive buffers (mbuf clusters).
|
||||
.It Cm hw.patmN.tx_maxmaps
|
||||
This initializes the corresponding sysctl variable and is the maximum
|
||||
.It Va hw.patm Ns Ar N Ns Va .tx_maxmaps
|
||||
This initializes the corresponding
|
||||
.Xr sysctl 8
|
||||
variable and is the maximum
|
||||
number of DMA maps for transmission that the driver will allocated.
|
||||
.It Cm hw.patmN.debug
|
||||
.Em (only if debugging enabled)
|
||||
.It Va hw.patm Ns Ar N Ns Va .debug
|
||||
.Bf Em
|
||||
(Only if debugging enabled.)
|
||||
.Ef
|
||||
Initializes the debugging flags.
|
||||
.El
|
||||
.Pp
|
||||
The driver supports the media options
|
||||
.Ar sdh ,
|
||||
.Ar noscramb
|
||||
.Cm sdh , noscramb
|
||||
and
|
||||
.Ar unassigned
|
||||
.Cm unassigned
|
||||
(see
|
||||
.Xr utopia 4 )
|
||||
when the card is a 155MBit card.
|
||||
@ -165,10 +183,10 @@ The Tx cell counter in the utopia statistics is wrong, because the chip
|
||||
uses idle cells for spacing and the PHY counts these cells.
|
||||
While there is a configuration option for the chip to switch of these cells
|
||||
and, according to the documentation, this should not influence cell spacing,
|
||||
it does, so the driver let's the chip generate idle cells.
|
||||
it does, so the driver lets the chip generate idle cells.
|
||||
.Sh ACKNOWLEDGEMENTS
|
||||
Thanks to Christian Bucari from ProSum for lending two of these cards to enable
|
||||
the development of this driver.
|
||||
Thanks also for answering my questions.
|
||||
.Sh AUTHORS
|
||||
.An Harti Brandt Aq harti@freebsd.org .
|
||||
.An Harti Brandt Aq harti@FreeBSD.org
|
||||
|
@ -23,15 +23,16 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" Author: Hartmut Brandt <harti@freebsd.org>
|
||||
.\" Author: Hartmut Brandt <harti@FreeBSD.org>
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 8, 2003
|
||||
.Dt UTOPIA 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm utopia
|
||||
.Nd Driver module for ATM PHY chips
|
||||
.Nd "driver module for ATM PHY chips"
|
||||
.Sh SYNOPSIS
|
||||
.Cd device utopia
|
||||
.Sh DESCRIPTION
|
||||
@ -43,85 +44,85 @@ in either interrupt or polling mode, media option handling and application
|
||||
access to chip registers.
|
||||
.Pp
|
||||
The driver implements several sysctls that are accessible under the
|
||||
.Cm hw.atm.XXX
|
||||
.Va hw.atm. Ns Ao Ar iface Ac Ns Va .\&
|
||||
tree, where
|
||||
.Cm XXX
|
||||
.Ar iface
|
||||
is the name of the ATM interface:
|
||||
.Bl -tag -width XXX
|
||||
.It Cm phy_regs
|
||||
.Bl -tag -width indent
|
||||
.It Va phy_regs
|
||||
When reading this sysctl an array of 8-bit unsigned integers is returned
|
||||
containing all accessible chip registers starting at register 0.
|
||||
A register can be written by writing three 8-bit unsigned integers to the
|
||||
sysctl: the register number, the new value and a bit mask.
|
||||
This changes all bits in the register for which the corresponding bit in the
|
||||
mask is one to the bit values from value.
|
||||
Note, that not all registers may
|
||||
Note that not all registers may
|
||||
be writeable.
|
||||
.It Cm phy_loopback
|
||||
.It Va phy_loopback
|
||||
allows to put the interface in one of several loopback modes.
|
||||
Not all modes and all combinations of modes are supported on all chips.
|
||||
The possible modes are:
|
||||
.Bl -tag -width XXX
|
||||
.It Dv UTP_LOOP_NONE (0x00)
|
||||
.Bl -tag -width indent
|
||||
.It Dv UTP_LOOP_NONE Pq No 0x00
|
||||
No loopback, normal operation.
|
||||
.It Dv UTP_LOOP_TIME (0x01)
|
||||
.It Dv UTP_LOOP_TIME Pq No 0x01
|
||||
Timing source loopback.
|
||||
When this is set the transmitter's clock is
|
||||
derived from the receiver's clock.
|
||||
.It Dv UTP_LOOP_DIAG (0x02)
|
||||
.It Dv UTP_LOOP_DIAG Pq No 0x02
|
||||
Diagnostic loopback.
|
||||
In this mode the receiver's input is connected to the
|
||||
transmitter's output.
|
||||
The receiver gets back everything that is sent.
|
||||
The
|
||||
transmitter operates normally.
|
||||
.It Dv UTP_LOOP_LINE (0x04)
|
||||
.It Dv UTP_LOOP_LINE Pq No 0x04
|
||||
Serial line loopback.
|
||||
This connects the line receiver to the line transmitter.
|
||||
The chip transmits all cells back that it receives.
|
||||
The receiver operates
|
||||
normally.
|
||||
.It Dv UTP_LOOP_PARAL (0x08)
|
||||
.It Dv UTP_LOOP_PARAL Pq No 0x08
|
||||
Parallel diagnostic loopback.
|
||||
This feeds back all transmitted cells into the
|
||||
receiver between the parallel/serial converters.
|
||||
The transmitter
|
||||
operates normally.
|
||||
.It Dv UTP_LOOP_TWIST (0x10)
|
||||
.It Dv UTP_LOOP_TWIST Pq No 0x10
|
||||
Twisted pair diagnostic loopback.
|
||||
Connects the high speed receive data to the
|
||||
high speed transmit data.
|
||||
All received data is sent back.
|
||||
The receiver
|
||||
operates normally.
|
||||
.It Dv UTP_LOOP_PATH (0x20)
|
||||
.It Dv UTP_LOOP_PATH Pq No 0x20
|
||||
Diagnostic path loopback.
|
||||
This connects the receiver input to the transmitter
|
||||
output just between the path overhead processor and the byte mux.
|
||||
The
|
||||
transmitter operates normally.
|
||||
.El
|
||||
.It Cm phy_type
|
||||
.It Va phy_type
|
||||
This is the detected type of the phy chip.
|
||||
Currently the following chips are
|
||||
supported:
|
||||
.Bl -tag -width XXX
|
||||
.It Dv UTP_TYPE_UNKNOWN (0)
|
||||
.Bl -tag -width indent
|
||||
.It Dv UTP_TYPE_UNKNOWN Pq No 0
|
||||
The module could not determine the type of the PHY chip.
|
||||
.It Dv UTP_TYPE_SUNI_LITE (1)
|
||||
.It Dv UTP_TYPE_SUNI_LITE Pq No 1
|
||||
PMC-5346 (S/Uni-Lite)
|
||||
.It Dv UTP_TYPE_SUNI_ULTRA (2)
|
||||
.It Dv UTP_TYPE_SUNI_ULTRA Pq No 2
|
||||
PMC-5350 (S/Uni-Ultra)
|
||||
.It Dv UTP_TYPE_SUNI_622 (3)
|
||||
.It Dv UTP_TYPE_SUNI_622 Pq No 3
|
||||
PMC-5355 (S/Uni-622)
|
||||
.It Dv UTP_TYPE_IDT77105 (4)
|
||||
.It Dv UTP_TYPE_IDT77105 Pq No 4
|
||||
IDT77105 (25.6MBit UTP interface)
|
||||
.It Dv UTP_TYPE_IDT77155 (5)
|
||||
.It Dv UTP_TYPE_IDT77155 Pq No 5
|
||||
IDT77155 (155MBit interface)
|
||||
.El
|
||||
.It Cm phy_name
|
||||
.It Va phy_name
|
||||
This is a string describing the type of the PHY chip.
|
||||
.It Cm phy_stats
|
||||
.It Va phy_stats
|
||||
Physical and some ATM layer statistics.
|
||||
These are the statistics usually
|
||||
provided by the chip.
|
||||
@ -159,7 +160,7 @@ module also interfaces with the ifmedia system.
|
||||
The module reports the current state of the carrier and will issue a
|
||||
warning message when the carrier state changes.
|
||||
While the physical media itself cannot be changed, several media options can:
|
||||
.Bl -tag -width XXX
|
||||
.Bl -tag -width indent
|
||||
.It Cm SDH
|
||||
If the PHY is a Sonet/SDH chip this flag switches the interface into SDH mode.
|
||||
If this option is not set (the default) the interface is in Sonet mode.
|
||||
@ -179,5 +180,5 @@ may be needed for interworking with public networks.
|
||||
.Xr hatm 4 ,
|
||||
.Xr patm 4 ,
|
||||
.Xr utopia 9
|
||||
.Sh AUTHOR
|
||||
.An Harti Brandt Aq harti@freebsd.org .
|
||||
.Sh AUTHORS
|
||||
.An Harti Brandt Aq harti@FreeBSD.org
|
||||
|
Loading…
Reference in New Issue
Block a user