summaryrefslogtreecommitdiffstats
path: root/sys/dev/hea/eni_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hea/eni_init.c')
-rw-r--r--sys/dev/hea/eni_init.c152
1 files changed, 0 insertions, 152 deletions
diff --git a/sys/dev/hea/eni_init.c b/sys/dev/hea/eni_init.c
deleted file mode 100644
index 4672c20..0000000
--- a/sys/dev/hea/eni_init.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- *
- * ===================================
- * HARP | Host ATM Research Platform
- * ===================================
- *
- *
- * This Host ATM Research Platform ("HARP") file (the "Software") is
- * made available by Network Computing Services, Inc. ("NetworkCS")
- * "AS IS". NetworkCS does not provide maintenance, improvements or
- * support of any kind.
- *
- * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
- * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
- * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
- * In no event shall NetworkCS be responsible for any damages, including
- * but not limited to consequential damages, arising from or relating to
- * any use of the Software or related support.
- *
- * Copyright 1994-1998 Network Computing Services, Inc.
- *
- * Copies of this Software may be made, however, the above copyright
- * notice must be reproduced on all copies.
- *
- *
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * Efficient ENI Adapter Support
- * -----------------------------
- *
- * Driver initialization support
- *
- */
-
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <netatm/port.h>
-#include <netatm/queue.h>
-#include <netatm/atm.h>
-#include <netatm/atm_sys.h>
-#include <netatm/atm_cm.h>
-#include <netatm/atm_if.h>
-
-#include <dev/hea/eni_stats.h>
-#include <dev/hea/eni.h>
-#include <dev/hea/eni_var.h>
-
-#ifndef lint
-__RCSID("@(#) $FreeBSD$");
-#endif
-
-/*
- * Initialize adapter for PDU processing
- *
- * Enable interrupts, set master control, initialize TX buffer,
- * set initial pointers, etc.
- *
- * Arguments:
- * eup pointer to device unit structure
- *
- * Returns:
- * 0 successful
- * error error condition
- */
-int
-eni_init ( eup )
- Eni_unit *eup;
-{
- u_long words, order;
-
- /*
- * Allocate one large TX buffer. Currently we use only one
- * channel with full cell rate which all VCs will use.
- * This will (probably) have to change (alot) when we
- * implement QoS.
- */
- /*
- * Server cards, which have more then 512KB of RAM, will
- * allocate a 128KB TX buffer, while client cards, with
- * 512KB or less will allocate a 32KB TX buffer.
- */
- words = ( eup->eu_ramsize > MAX_CLIENT_RAM * ENI_BUF_PGSZ ?
- TX_LARGE_BSIZE : TX_SMALL_BSIZE ) * ENI_BUF_PGSZ;
- if ( ( eup->eu_txbuf = eni_allocate_buffer ( eup, &words ) ) ==
- (caddr_t)NULL ) {
- return ENOMEM;
- }
- eup->eu_txsize = words >> 2; /* Bytes to words */
- words >>= ENI_LOC_PREDIV; /* Predivide by 256 words */
- for ( order = -1; words; order++ )
- words >>= 1;
- eup->eu_midway[MIDWAY_TXPLACE] =
- (order << TXSIZE_SHIFT) | ((intptr_t)eup->eu_txbuf >> ENI_LOC_PREDIV);
- eup->eu_txpos = eup->eu_midway[MIDWAY_DESCR] & 0x7FFF;
- /*
- * Set first word of unack'ed data to start
- */
- eup->eu_txfirst = eup->eu_txpos;
-
- /*
- * Set initial values of local DMA pointer used to prevent wraps
- */
- eup->eu_txdmawr = 0;
- eup->eu_rxdmawr = 0;
-
- /*
- * Initialize queue's for receive/transmit pdus
- */
- eup->eu_txqueue.ifq_maxlen = ENI_IFQ_MAXLEN;
- eup->eu_rxqueue.ifq_maxlen = ENI_IFQ_MAXLEN;
-
- /*
- * Acknowledge any interrupts
- */
- (void) eup->eu_midway[MIDWAY_ISA];
-
- /*
- * "Zero" Sonet error counters
- */
- eni_zero_stats ( eup );
-
- /*
- * Set master control register
- *
- * IntSel1 | LOCK_MODE | DMA_ENABLE | TX_ENABLE | RX_ENABLE
- *
- */
- eup->eu_midway[MIDWAY_MASTER] = 1 << ENI_ISEL_SHIFT |
- ENI_M_DMAENABLE | ENI_M_TXENABLE | ENI_M_RXENABLE;
-
- /*
- * Enable interrupts
- */
- eup->eu_midway[MIDWAY_IE] = ENI_INT_SERVICE | ENI_INT_RX_DMA |
- ENI_INT_TX_DMA | ENI_INT_DMA_ERR | ENI_INT_DMA_LERR |
- ENI_INT_IDEN | ENI_INT_DMA_OVFL;
-
- /*
- * Last thing to do is to indicate that we've finished initializing
- * this unit.
- */
- eup->eu_flags |= CUF_INITED;
-
- return 0;
-}
-
OpenPOWER on IntegriCloud