e24acc1d18440d006b067fec23d06a97c738f5ff
[linux-2.6.git] / drivers / char / rio / parmmap.h
1 /****************************************************************************
2  *******                                                              *******
3  *******               H O S T   M E M O R Y  M A P
4  *******                                                              *******
5  ****************************************************************************
6
7  Author  : Ian Nandhra / Jeremy Rolls
8  Date    :
9
10  *
11  *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
12  *
13  *      This program is free software; you can redistribute it and/or modify
14  *      it under the terms of the GNU General Public License as published by
15  *      the Free Software Foundation; either version 2 of the License, or
16  *      (at your option) any later version.
17  *
18  *      This program is distributed in the hope that it will be useful,
19  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
20  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  *      GNU General Public License for more details.
22  *
23  *      You should have received a copy of the GNU General Public License
24  *      along with this program; if not, write to the Free Software
25  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
27  Version : 0.01
28
29
30                             Mods
31  ----------------------------------------------------------------------------
32   Date     By                Description
33  ----------------------------------------------------------------------------
34 6/4/1991   jonb              Made changes to accommodate Mips R3230 bus
35  ***************************************************************************/
36
37 #ifndef _parmap_h
38 #define _parmap_h
39
40
41 #ifdef SCCS_LABELS
42 #ifndef lint
43 /* static char *_rio_parmmap_h_sccs = "@(#)parmmap.h    1.4"; */
44 #endif
45 #endif
46
47 typedef struct PARM_MAP PARM_MAP;
48
49 struct PARM_MAP {
50         PHB_ptr phb_ptr;        /* Pointer to the PHB array */
51         WORD_ptr phb_num_ptr;   /* Ptr to Number of PHB's */
52         FREE_LIST_ptr free_list;        /* Free List pointer */
53         FREE_LIST_ptr free_list_end;    /* Free List End pointer */
54         Q_BUF_ptr_ptr q_free_list_ptr;  /* Ptr to Q_BUF variable */
55         BYTE_ptr unit_id_ptr;   /* Unit Id */
56         LPB_ptr link_str_ptr;   /* Link Structure Array */
57         BYTE_ptr bootloader_1;  /* 1st Stage Boot Loader */
58         BYTE_ptr bootloader_2;  /* 2nd Stage Boot Loader */
59         WORD_ptr port_route_map_ptr;    /* Port Route Map */
60         ROUTE_STR_ptr route_ptr;        /* Unit Route Map */
61         NUMBER_ptr map_present; /* Route Map present */
62         NUMBER pkt_num;         /* Total number of packets */
63         NUMBER q_num;           /* Total number of Q packets */
64         WORD buffers_per_port;  /* Number of buffers per port */
65         WORD heap_size;         /* Initial size of heap */
66         WORD heap_left;         /* Current Heap left */
67         WORD error;             /* Error code */
68         WORD tx_max;            /* Max number of tx pkts per phb */
69         WORD rx_max;            /* Max number of rx pkts per phb */
70         WORD rx_limit;          /* For high / low watermarks */
71         NUMBER links;           /* Links to use */
72         NUMBER timer;           /* Interrupts per second */
73         RUP_ptr rups;           /* Pointer to the RUPs */
74         WORD max_phb;           /* Mostly for debugging */
75         WORD living;            /* Just increments!! */
76         WORD init_done;         /* Initialisation over */
77         WORD booting_link;
78         WORD idle_count;        /* Idle time counter */
79         WORD busy_count;        /* Busy counter */
80         WORD idle_control;      /* Control Idle Process */
81         WORD tx_intr;           /* TX interrupt pending */
82         WORD rx_intr;           /* RX interrupt pending */
83         WORD rup_intr;          /* RUP interrupt pending */
84 };
85
86 #endif
87
88 /*********** end of file ***********/