|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /*
26: * Rhapsody Mace driver
27: * Defines and device state
28: * Dieter Siegmund ([email protected]) Thu Feb 27 18:25:33 PST 1997
29: * - ripped off code from MK/LINUX
30: */
31:
32: #define PG_SIZE 0x1000UL
33: #define PG_MASK (PG_SIZE - 1UL)
34:
35: #define ETHERMTU 1500
36: #define ETHER_RX_NUM_DBDMA_BUFS 32
37: #define ETHERNET_BUF_SIZE (ETHERMTU + 36)
38: #define ETHER_MIN_PACKET 64
39: #define TX_NUM_DBDMA 6
40:
41: #define DBDMA_ETHERNET_EOP 0x40
42:
43: typedef struct mace_s {
44: struct arpcom en_arpcom;
45: struct mace_board * ereg; /* ethernet register set address */
46: unsigned char macaddr[NUM_EN_ADDR_BYTES]; /* mac address */
47: int chip_id;
48: dbdma_command_t *rv_dma;
49: dbdma_command_t *tx_dma;
50: unsigned char *rv_dma_area;
51: unsigned char *tx_dma_area;
52: unsigned char multi_mask[8]; /* Multicast mask */
53: unsigned char multi_use[64]; /* Per-mask-bit use count */
54: int rv_tail;
55: int rv_head;
56: int tx_busy;
57: int txintr;
58: int rxintr;
59: int txwatchdog;
60: int ready;
61: int promisc; /* IFF_PROMISC state */
62: } mace_t;
63:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.