blob: f3bf11a04d41c7cb20a4672865888d37f9160195 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/****************************************************************************
2 ******* *******
3 ******* L I N K
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
35 ***************************************************************************/
36
37#ifndef _link_h
38#define _link_h 1
39
Linus Torvalds1da177e2005-04-16 15:20:36 -070040/*************************************************
41 * Define the Link Status stuff
42 ************************************************/
Linus Torvalds1da177e2005-04-16 15:20:36 -070043/* Boot request stuff */
Andrew Morton8d8706e2006-01-11 12:17:49 -080044#define BOOT_REQUEST ((ushort) 0) /* Request for a boot */
45#define BOOT_ABORT ((ushort) 1) /* Abort a boot */
46#define BOOT_SEQUENCE ((ushort) 2) /* Packet with the number of packets
47 and load address */
48#define BOOT_COMPLETED ((ushort) 3) /* Boot completed */
Linus Torvalds1da177e2005-04-16 15:20:36 -070049
Linus Torvalds1da177e2005-04-16 15:20:36 -070050
51struct LPB {
Alan Cox74769ab2006-03-24 03:18:24 -080052 u16 link_number; /* Link Number */
Alan Cox57c2d602006-03-24 03:18:31 -080053 u16 in_ch; /* Link In Channel */
54 u16 out_ch; /* Link Out Channel */
Alan Cox74769ab2006-03-24 03:18:24 -080055 u8 attached_serial[4]; /* Attached serial number */
56 u8 attached_host_serial[4];
Andrew Morton8d8706e2006-01-11 12:17:49 -080057 /* Serial number of Host who
58 booted the other end */
Alan Cox74769ab2006-03-24 03:18:24 -080059 u16 descheduled; /* Currently Descheduled */
60 u16 state; /* Current state */
61 u16 send_poll; /* Send a Poll Packet */
Alan Cox57c2d602006-03-24 03:18:31 -080062 u16 ltt_p; /* Process Descriptor */
63 u16 lrt_p; /* Process Descriptor */
Alan Cox74769ab2006-03-24 03:18:24 -080064 u16 lrt_status; /* Current lrt status */
65 u16 ltt_status; /* Current ltt status */
66 u16 timeout; /* Timeout value */
67 u16 topology; /* Topology bits */
68 u16 mon_ltt;
69 u16 mon_lrt;
70 u16 WaitNoBoot; /* Secs to hold off booting */
Alan Cox27c6e522006-03-24 03:18:26 -080071 u16 add_packet_list; /* Add packets to here */
72 u16 remove_packet_list; /* Send packets from here */
Linus Torvalds1da177e2005-04-16 15:20:36 -070073
Alan Cox57c2d602006-03-24 03:18:31 -080074 u16 lrt_fail_chan; /* Lrt's failure channel */
75 u16 ltt_fail_chan; /* Ltt's failure channel */
Linus Torvalds1da177e2005-04-16 15:20:36 -070076
Andrew Morton8d8706e2006-01-11 12:17:49 -080077 /* RUP structure for HOST to driver communications */
78 struct RUP rup;
Andrew Morton8d8706e2006-01-11 12:17:49 -080079 struct RUP link_rup; /* RUP for the link (POLL,
80 topology etc.) */
Alan Cox74769ab2006-03-24 03:18:24 -080081 u16 attached_link; /* Number of attached link */
82 u16 csum_errors; /* csum errors */
83 u16 num_disconnects; /* number of disconnects */
84 u16 num_sync_rcvd; /* # sync's received */
85 u16 num_sync_rqst; /* # sync requests */
86 u16 num_tx; /* Num pkts sent */
87 u16 num_rx; /* Num pkts received */
88 u16 module_attached; /* Module tpyes of attached */
89 u16 led_timeout; /* LED timeout */
90 u16 first_port; /* First port to service */
91 u16 last_port; /* Last port to service */
Andrew Morton8d8706e2006-01-11 12:17:49 -080092};
Linus Torvalds1da177e2005-04-16 15:20:36 -070093
94#endif
95
96/*********** end of file ***********/