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

FreeBSD Manual Pages

  
 
  

home | help
PATM(4)		       FreeBSD Kernel Interfaces Manual		       PATM(4)

NAME
     patm -- Device driver for IDT77252	based ATM interfaces (ProSum and IDT)

SYNOPSIS
     device patm
     device utopia
     device atm
     options NATM
     options LIBMBPOOL

DESCRIPTION
     The patm device driver supports ATM cards based on	the IDT77252 chip.  It
     has been tested with ProSum's ProATM-155 cards and	with IDT's evaluation
     boards.  The driver interfaces with the natm(4) framework,	netgraph(4)
     and HARP.	It provides only PVC services. Signalling, ATMARP, ILMI	and
     other higher layer	protocols are implemented using	netgraph(4) or HARP.

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

     The driver	supports UBR, CBR, VBR and ABR traffic.	Supported AALs are:
     AAL0 (cell	payloads), AAL5	and raw	AAL.  The driver supports opening of
     VCI/VPI 0/0 in RX,	raw AAL-mode.  This VC will receive all	incoming cells
     (even those with non-zero GFC fields and VPI/VCI values outside the
     allowed range) that are not claimed by other open connections.  This may
     be	used for monitoring purposes.

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

     hw.atm.patmN.istats
	  Returns a list of uint32_t statistic counters	with internal driver
	  statistics.

     hw.atm.patmN.eeprom
	  This is a read-only variable containing the contents of the on-board
	  EEPROM device.

     hw.atm.patmN.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.

     hw.atm.patmN.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.

     hw.atm.patmN.debug
	  (only	if debugging enabled) These are	debugging flags. See
	  if_patmvar.h() for the possible flags.  This may be initialized via
	  a loader tunable.

     hw.atm.patmN.regs
	  (only	if debugging enabled) Returns the current values of the	card's
	  registers.

     hw.atm.patmN.tsq
	  Returns the transmit status queue.

     When loaded the driver initializes	several	variables from loader tun-
     ables:

     hw.patmN.lbuf_max
	  This initializes the corresponding sysctl variable and defines an
	  upper	limit on the number of large receive buffers (mbuf clusters).

     hw.patmN.tx_maxmaps
	  This initializes the corresponding sysctl variable and is the	maxi-
	  mum number of	DMA maps for transmission that the driver will allo-
	  cated.

     hw.patmN.debug
	  (only	if debugging enabled) Initializes the debugging	flags.

     The driver	supports the media options sdh,	noscramb and unassigned	(see
     utopia(4))	when the card is a 155MBit card.  Both PMC-Sierra S/UNI	and
     IDT77155 PHY chips	are supported for these	cards.	For 25MBit cards the
     IDT77105 is supported.

DIAGNOSTICS
     patm1: <NICStAR (77222/77252) ATM adapter>	port 0xc000-0xc0ff mem 0xf8000000-0xf83fffff,0xf4000000-0xf4000fff irq 11 at device 8.0	on pci2
     patm1: IDT77252 155MBit interface;	idt77252 Rev. G; IDT77155 PHY
     patm1: 128K x 32 SRAM; 4096 connections

SEE ALSO
     natm(4), natmip(4), utopia(4)

CAVEATS
     The card fails to generate	an interrupt if	a cell is received in AAL0
     mode that has the MSB of the PTI field cleared.  Therefore	cells will be
     delivered on the next receive interrupt which can happen either when the
     receive status queue is full, or a	cell with the last bit of the PTI set
     is	received.

     Although the card supports	AAL3/4 the driver does not.

     The rate tables used by this driver are not the tables recommended	by IDT
     (they are wrong anyway).  The driver's tables are slightly	more aggres-
     sive than IDT's.  That means, that	the actual cell	rate can be slightly
     higher than the specified.	 This is in contrast to	the IDT	tables where
     cell rates	5% less	than the allowed one have been observed.  This can be
     changed by	changing the program that generates these tables, found	in
     /usr/src/sys/dev/patm/genrtab, and	regenerating them.

     The reported media	for the	155MBit	cards will always be OC3/MM, because
     there is no (known	to me) way to figure out the actual medium.  The
     medium should really be coded in the EEPROM by the	manufacturer.

     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.

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.

AUTHORS
     Harti Brandt <harti@freebsd.org>.

FreeBSD				 July 15, 2003			       FreeBSD

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

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

home | help