aboutsummaryrefslogtreecommitdiff
path: root/share/man/man9/utopia.9
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2017-04-27 16:05:12 +0000
committerBrooks Davis <brooks@FreeBSD.org>2017-04-27 16:05:12 +0000
commit0607c830b32b0d10a9956eca2a87f5a203a8889d (patch)
tree76921f15ea5a4a0b1536f4b06de6c31fddb23c11 /share/man/man9/utopia.9
parentfa88c7891454ff938aef617af1325a16ed4ca92b (diff)
More ATM and NATM removal
Submitted by: ak Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D10511
Notes
Notes: svn path=/head/; revision=317508
Diffstat (limited to 'share/man/man9/utopia.9')
-rw-r--r--share/man/man9/utopia.9353
1 files changed, 0 insertions, 353 deletions
diff --git a/share/man/man9/utopia.9 b/share/man/man9/utopia.9
deleted file mode 100644
index 99be5fa809b2..000000000000
--- a/share/man/man9/utopia.9
+++ /dev/null
@@ -1,353 +0,0 @@
-.\" Copyright (c) 2003
-.\" Fraunhofer Institute for Open Communication Systems (FhG Fokus).
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" Author: Hartmut Brandt <harti@FreeBSD.org>
-.\"
-.\" $FreeBSD$
-.\"
-.Dd May 8, 2003
-.Dt UTOPIA 9
-.Os
-.Sh NAME
-.Nm utopia
-.Nd "driver module for ATM PHY chips"
-.Sh SYNOPSIS
-.In dev/utopia/utopia.h
-.Ft int
-.Fo utopia_attach
-.Fa "struct utopia *utp" "struct ifatm *ifatm" "struct ifmedia *media"
-.Fa "struct mtx *lock" "struct sysctl_ctx_list *ctx"
-.Fa "struct sysctl_oid_list *tree" "const struct utopia_methods *vtab"
-.Fc
-.Ft void
-.Fn utopia_detach "struct utopia *utp"
-.Ft int
-.Fn utopia_start "struct utopia *utp"
-.Ft void
-.Fn utopia_stop "struct utopia *utp"
-.Ft void
-.Fn utopia_init_media "struct utopia *utp"
-.Ft void
-.Fn utopia_reset_media "struct utopia *utp"
-.Ft int
-.Fn utopia_reset "struct utopia *utp"
-.Ft int
-.Fn utopia_set_sdh "struct utopia *utp" "int sdh"
-.Ft int
-.Fn utopia_set_unass "struct utopia *utp" "int unass"
-.Ft int
-.Fn utopia_set_noscramb "struct utopia *utp" "int noscramb"
-.Ft int
-.Fn utopia_update_carrier "struct utopia *utp"
-.Ft int
-.Fn utopia_set_loopback "struct utopia *utp" "u_int mode"
-.Ft void
-.Fn utopia_intr "struct utopia *utp"
-.Ft void
-.Fn utopia_update_stats "struct utopia *utp"
-.Sh DESCRIPTION
-This module is used by all ATM drivers for cards that use a number of known
-PHY chips to provide uniform functionality.
-The module implements status monitoring in either interrupt or polling mode,
-media option handling and application access to PHY registers.
-.Pp
-To use this interface, a driver must implement two functions for reading and
-writing PHY registers, and initialize the following structure with pointers
-to these functions:
-.Bd -literal -offset indent
-struct utopia_methods {
- int (*readregs)(struct ifatm *, u_int reg,
- uint8_t *val, u_int *n);
- int (*writereg)(struct ifatm *, u_int reg,
- u_int mask, u_int val);
-};
-.Ed
-.Pp
-The
-.Fn readregs
-function should read PHY registers starting at register
-.Fa reg .
-The maximum number of registers to read is given by the integer pointed
-to by
-.Fa n .
-The function should either return 0 on success, or an error code.
-In the first case,
-.Fa *n
-should be set to the actual number of registers read.
-The
-.Fn writereg
-function should write one register.
-It must change all bits for which the corresponding bit in
-.Fa mask
-is 1 to the value of the corresponding bit in
-.Fa val .
-It returns either 0 on success, or an error code.
-.Pp
-The ATM driver's private state block
-.Pq Va softc
-must begin with a
-.Vt "struct ifatm" .
-.Pp
-The
-.Vt "struct utopia"
-holds the current state of the PHY chip and contains the following fields:
-.Bd -literal -offset indent
-struct utopia {
- struct ifatm *ifatm; /* driver data */
- struct ifmedia *media; /* driver supplied */
- struct mtx *lock; /* driver supplied */
- const struct utopia_methods *methods;
- LIST_ENTRY(utopia) link; /* list of these structures */
- u_int flags; /* flags set by the driver */
- u_int state; /* current state */
- u_int carrier; /* carrier state */
- u_int loopback; /* loopback mode */
- const struct utopia_chip *chip; /* chip operations */
- struct utopia_stats1 stats; /* statistics */
-};
-.Ed
-The public accessible fields have the following functions:
-.Bl -tag -width indent
-.It Va ifatm
-Pointer to the driver's private data
-.Pq Va softc .
-.It Va media
-Pointer to the driver's media structure.
-.It Va lock
-Pointer to a mutex provided by the driver.
-This mutex is used to synchronize
-with the kernel thread that handles device polling.
-It is locked in several
-places:
-.Bl -enum -offset indent
-.It
-In
-.Fn utopia_detach
-the mutex is locked to sleep and wait for the kernel thread to remove the
-.Vt "struct utopia"
-from the list of all
-.Nm
-devices.
-Before returning to the caller the mutex is unlocked.
-.It
-In the
-.Nm
-kernel thread the mutex is locked, and the
-.Fn utopia_carrier_update
-function is called with this mutex locked.
-This will result in the driver's
-.Fn readregs
-function being called with the mutex locked.
-.It
-In the sysctl handlers the mutex will be locked before calling into the driver's
-.Fn readreg
-or
-.Fn writereg
-functions.
-.El
-.It Va flags
-Flags set by either the driver or the
-.Nm
-module.
-The following flags are
-defined:
-.Bl -tag -width indent
-.It Dv UTP_FL_NORESET
-If this flag is set, the module will not try to write the
-SUNI master reset register.
-(Set by the driver.)
-.It Dv UTP_FL_POLL_CARRIER
-If this flag is set, the module will periodically poll the carrier state
-(as opposed to interrupt driven carrier state changes).
-(Set by the driver.)
-.El
-.It Va state
-Flags describing the current state of the PHY chip.
-These are managed
-by the module:
-.Bl -tag -width indent
-.It Dv UTP_ST_ACTIVE
-The driver is active and the PHY registers can be accessed.
-This is set by calling
-.Fn utopia_start ,
-which should be called either in the attach routine of the driver or
-in the network interface initialisation routine (depending on whether the
-registers are accessible all the time or only when the interface is up).
-.It Dv UTP_ST_SDH
-Interface is in SDH mode as opposed to SONET mode.
-.It Dv UTP_ST_UNASS
-Interface is producing unassigned cells instead of idle cells.
-.It Dv UTP_ST_NOSCRAMB
-Cell scrambling is switched off.
-.It Dv UTP_ST_DETACH
-(Internal use.)
-Interface is currently detaching.
-.It Dv UTP_ST_ATTACHED
-The attach routine has been run successfully.
-.El
-.It Va carrier
-The carrier state of the interface.
-This field can have one of three values:
-.Bl -tag -width indent
-.It Dv UTP_CARR_UNKNOWN
-Carrier state is still unknown.
-.It Dv UTP_CARR_OK
-Carrier has been detected.
-.It Dv UTP_CARR_LOST
-Carrier has been lost.
-.El
-.It Va loopback
-This is the current loopback mode of the interface.
-Note that not all
-chips support all loopback modes.
-Refer to the chip documentation.
-The
-following modes may be supported:
-.Bl -tag -width indent
-.It Dv UTP_LOOP_NONE
-No loopback, normal operation.
-.It Dv UTP_LOOP_TIME
-Timing source loopback.
-The transmitter clock is driven by the receive clock.
-.It Dv UTP_LOOP_DIAG
-Diagnostic loopback.
-.It Dv UTP_LOOP_LINE
-Serial line loopback.
-.It Dv UTP_LOOP_PARAL
-Parallel diagnostic loopback.
-.It Dv UTP_LOOP_TWIST
-Twisted pair diagnostic loopback.
-.It Dv UTP_LOOP_PATH
-Diagnostic path loopback.
-.El
-.It Va chip
-This points to a function vector for chip specific functions.
-Two fields
-in this vector are publicly available:
-.Bl -tag -width indent
-.It Va type
-This is the type of the detected PHY chip.
-One of:
-.Pp
-.Bl -tag -width indent -compact
-.It Dv UTP_TYPE_UNKNOWN Pq No 0
-.It Dv UTP_TYPE_SUNI_LITE Pq No 1
-.It Dv UTP_TYPE_SUNI_ULTRA Pq No 2
-.It Dv UTP_TYPE_SUNI_622 Pq No 3
-.It Dv UTP_TYPE_IDT77105 Pq No 4
-.El
-.It Va name
-This is a string with the name of the PHY chip.
-.El
-.El
-.Pp
-The following functions are used by the driver during attach/detach and/or
-initialisation/stopping the interface:
-.Bl -tag -width indent
-.It Fn utopia_attach
-Attach the PHY chip.
-This is called with a preallocated
-.Vt "struct utopia"
-(which may be part of the driver's
-.Va softc ) .
-The module initializes all fields of the
-.Nm
-state and the media field.
-User settable flags should be set after the call to
-.Fn utopia_attach .
-This function may fail due to the inability to install the sysctl handlers.
-In this case it will return \-1.
-On success, 0 is returned and the
-.Dv UTP_ST_ATTACHED
-flag is set.
-.It Fn utopia_detach
-Remove the
-.Nm
-attachment from the system.
-This cancels all outstanding polling
-timeouts.
-.It Fn utopia_start
-Start operation of that PHY.
-This should be called at a time
-when the PHY registers are known to be accessible.
-This may be either in
-the driver's attach function or when the interface is set running.
-.It Fn utopia_stop
-Stop operation of the PHY attachment.
-This may be called either in the detach
-function of the driver or when the interface is brought down.
-.It Fn utopia_init_media
-This must be called if the media field in the ATM MIB was changed.
-The function
-makes sure, that the ifmedia fields contain the same information as the
-ATM MIB.
-.It Fn utopia_reset_media
-This may be called to remove all media information from the ifmedia field.
-.El
-.Pp
-The following functions can be used to modify the PHY state while the interface
-is running:
-.Bl -tag -width indent
-.It Fn utopia_reset
-Reset the operational parameters to the default state (SONET, idle cells,
-scrambling enabled).
-Returns 0 on success, an error code otherwise, leaving
-the state undefined.
-.It Fn utopia_set_sdh
-If the argument is zero the chip is switched to Sonet mode, if it is non-zero
-the chip is switched to SDH mode.
-Returns 0 on success, an error code otherwise,
-leaving the previous state.
-.It Fn utopia_set_unass
-If the argument is zero the chip is switched to produce idle cells, if it is
-non-zero the chip is switched to produce unassigned cells.
-Returns 0 on success,
-an error code otherwise, leaving the previous state.
-.It Fn utopia_set_noscramb
-If the argument is zero enables scrambling, if it is
-non-zero disables scrambling.
-Returns 0 on success,
-an error code otherwise, leaving the previous state.
-.It Fn utopia_update_carrier
-Check the carrier state and update the carrier field in the state structure.
-This will generate a message to the Netgraph stack if the carrier state changes.
-For chips that are polled this is called automatically, for interrupt
-driven attachments this must be called on interrupts from the PHY chip.
-.It Fn utopia_set_loopback
-Set the loopback mode of the chip.
-Returns 0 on success, an error code
-otherwise, leaving the previous state.
-.It Fn utopia_intr
-Called when an interrupt from the PHY chip is detected.
-This resets the
-interrupt state by reading all registers and, if the interrupt was from the
-RSOP, checks the carrier state.
-.It Fn utopia_update_stats
-Update the statistics with counters read from the chip.
-.El
-.Sh SEE ALSO
-.Xr utopia 4
-.Sh AUTHORS
-.An Harti Brandt Aq Mt harti@FreeBSD.org