upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / scsi / bfa / include / bfi / bfi_pbc.h
1 /*
2  * Copyright (c) 2005-2010 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License (GPL) Version 2 as
10  * published by the Free Software Foundation
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17
18 #ifndef __BFI_PBC_H__
19 #define __BFI_PBC_H__
20
21 #pragma pack(1)
22
23 #define BFI_PBC_MAX_BLUNS       8
24 #define BFI_PBC_MAX_VPORTS      16
25
26 #define BFI_PBC_PORT_DISABLED    2
27 /**
28  * PBC boot lun configuration
29  */
30 struct bfi_pbc_blun_s {
31         wwn_t           tgt_pwwn;
32         lun_t           tgt_lun;
33 };
34
35 /**
36  * PBC virtual port configuration
37  */
38 struct bfi_pbc_vport_s {
39         wwn_t           vp_pwwn;
40         wwn_t           vp_nwwn;
41 };
42
43 /**
44  * BFI pre-boot configuration information
45  */
46 struct bfi_pbc_s {
47         u8              port_enabled;
48         u8              boot_enabled;
49         u8              nbluns;
50         u8              nvports;
51         u8              port_speed;
52         u8              rsvd_a;
53         u16             hss;
54         wwn_t           pbc_pwwn;
55         wwn_t           pbc_nwwn;
56         struct bfi_pbc_blun_s blun[BFI_PBC_MAX_BLUNS];
57         struct bfi_pbc_vport_s vport[BFI_PBC_MAX_VPORTS];
58 };
59
60 #pragma pack()
61
62 #endif /* __BFI_PBC_H__ */