Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
HATM(4)		       FreeBSD Kernel Interfaces Manual		       HATM(4)

NAME
     hatm -- Device driver for Fore/Marconi HE155 and HE622 ATM	interfaces

SYNOPSIS
     device hatm
     device utopia
     device atm
     options NATM

DESCRIPTION
     The hatm device driver supports the FORE (now Marconi) HE155 and HE622
     ATM interface cards.  The driver interfaces with the natm(4) framework,
     netgraph(4) and the HARP ATM stack.  It provides only PVC services. Sig-
     nalling, ATMARP, ILMI and other higher layer protocols are	implemented
     using netgraph(4) or HARP.

     For configuring the card for IP see natmip(4).

     The following sysctls are recognized by the driver	additionally to	those
     handled by	utopia(4):

     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).

     hw.atm.hatm.natm_pcr
	  This is the peak cell	rate to	be used	for NATM CBR connections.

     hw.atm.hatmN.stats
	  Contains an array of uint32_t	with device specific statistics.

     hw.atm.hatmN.istats
	  Contains an array of uint32_t	with internal driver statistics.

     hw.atm.hatmN.debug
	  (only	if debugging enabled) These are	the debugging flags. See
	  if_hatmvar.h() for the possible flags.

     hw.atm.hatmN.tsr
	  (only	if debugging enabled) This is an array containing all trans-
	  mission status registers. For	each of	the 4096 possible VCCs there
	  are 15 32-bit	registers.

     hw.atm.hatmN.tpd
	  (only	if debugging enabled) This is an array containing all on card
	  current transmission packet descriptors.  For	each of	the 4096 pos-
	  sible	VCCs there are 16 32-bit registers.

     hw.atm.hatmN.mbox
	  (only	if debugging enabled) This is an array containing the mbox
	  registers.

     hw.atm.hatmN.cm
	  (only	if debugging enabled) This is an array containing all connec-
	  tion memory registers.  The first 32-bit integer of this array is
	  the ABR base address.

     hw.atm.hatmN.heregs
	  (only	if debugging enabled) This is an array containing all card
	  registers including SUNI and the FLASH ROM.

     hw.atm.hatmN.lbmem
	  (only	if debugging enabled) Returns the contents of the local	mem-
	  ory.

     The driver	supports the media options sdh,	noscramb and unassigned	(see
     utopia(4) ).

DIAGNOSTICS
     hatm0: <FORE HE> mem 0xd2600000-0xd26fffff	irq 9 at device	15.0 on	pci2
     hatm0: ForeRunnerHE 622, Rev. D, S/N 2949834, MAC=00:20:48:2d:02:ca

ENVIRONMENT
     When attaching to a device	the driver checks the kernel environment (see
     kenv(4)) 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):

     hw.hatmN.rbps0_size
	  Size of the small receive buffer pool	0. This	pool is	used for all
	  except raw AAL connections. The pool size must be a power of two
	  between 4 and	8192 inclusive.	When attaching the driver allocates
	  this number of mbufs.

     hw.hatmN.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.

     hw.hatmN.rbpl0_thresh
	  Size of the large receive buffer pool	0. This	pool is	used for all
	  except raw AAL connections. 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.

     hw.hatmN.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.

     hw.hatmN.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.

     hw.hatmN.rbrq0_thresh
	  Interrupt threshold for receive buffer return	queue 0. This thresh-
	  old should only be triggered in exceptional cases.

     hw.hatmN.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.

     hw.hatmN.rbrq0_pcnt
	  Packet count threshold for receive buffer return queue 0. An inter-
	  rupt is generated if this number of packets is in the	queue.

     hw.hatmN.rbps1_size
	  Size of the small receive buffer pool	1. This	pool is	used for all
	  raw AAL connections. The pool	size must be a power of	two between 4
	  and 8192 inclusive. When attaching the driver	allocates this number
	  of mbufs.

     hw.hatmN.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.

     hw.hatmN.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.

     hw.hatmN.rbrq1_thresh
	  Interrupt threshold for receive buffer return	queue 1. This thresh-
	  old should only be triggered in exceptional cases.

     hw.hatmN.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.

     hw.hatmN.rbrq1_pcnt
	  Packet count threshold for receive buffer return queue 0. An inter-
	  rupt is generated if this number of cells is in the queue.

     hw.hatmN.irq0_size
	  Size of interrupt queue 0. This must be a number between 1 and 1023
	  inclusive.

     hw.hatmN.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.

     hw.hatmN.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.

     hw.hatmN.tbrq0_thresh
	  Transmit buffer return queue 0 threshold. An interrupt is generated
	  if the queue fill state reaches this point.

     hw.hatmN.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.

     hw.hatmN.tpdmax
	  Maximum number of active TPDs	per connection.	This controls the max-
	  imum 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.

     hw.hatmN.mbuf_max_pages
	  Maximum number of memory pages allocated to small external mbufs.
	  This must not	be zero	and not	larger than 65536.

CAVEATS
     When putting a HE155 into a 64-bit	66MHz PCI slot the machine may hang.
     This occures very early in	the POST so that even the display does not
     turn on.  The HE155 runs only in 33MHz slots (either 32 or	64-bit).
     HE622 cards work just fine	in 64-bit slots.

     The driver	may not	work with bounce buffer, because of bus_dma_sync()
     missing the offset	and len	arguments the NetBSD function has.

SEE ALSO
     natm(4), natmip(4), utopia(4), ifconfig(8), route(8)

AUTHORS
     Harti Brandt <harti@freebsd.org>.

FreeBSD				 May 15, 2003			       FreeBSD

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | ENVIRONMENT | CAVEATS | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=hatm&sektion=4&manpath=FreeBSD+5.2-RELEASE>

home | help