2 * Copyright (c) 2005-2010 Brocade Communications Systems, Inc.
6 * Linux driver for Brocade Fibre Channel Host Bus Adapter.
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
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.
21 #include "bfa_defs_fcs.h"
23 /* Definitions of vendor unique structures and command codes passed in
24 * using FC_BSG_HST_VENDOR message code.
27 IOCMD_IOC_GET_ATTR = 0x1,
32 IOCMD_FABRIC_GET_LPORTS,
38 IOCMD_ADAPTER_CFG_MODE,
40 IOCMD_FLASH_ENABLE_OPTROM,
41 IOCMD_FLASH_DISABLE_OPTROM,
44 struct bfa_bsg_gen_s {
50 struct bfa_bsg_ioc_info_s {
55 char hwpath[BFA_STRING_32];
56 char adapter_hwpath[BFA_STRING_32];
57 char guid[BFA_ADAPTER_SYM_NAME_LEN*2];
58 char name[BFA_ADAPTER_SYM_NAME_LEN];
59 char port_name[BFA_ADAPTER_SYM_NAME_LEN];
60 char eth_name[BFA_ADAPTER_SYM_NAME_LEN];
66 mac_t factory_mac; /* Factory mac address */
67 mac_t current_mac; /* Currently assigned mac address */
68 enum bfa_ioc_type_e ioc_type;
69 u16 pvid; /* Port vlan id */
72 u32 bandwidth; /* For PF support */
76 struct bfa_bsg_ioc_attr_s {
80 struct bfa_ioc_attr_s ioc_attr;
83 struct bfa_bsg_port_attr_s {
87 struct bfa_port_attr_s attr;
90 struct bfa_bsg_lport_attr_s {
95 struct bfa_lport_attr_s port_attr;
98 struct bfa_bsg_rport_scsi_addr_s {
110 struct bfa_bsg_fabric_get_lports_s {
119 struct bfa_bsg_itnim_attr_s {
125 struct bfa_itnim_attr_s attr;
128 struct bfa_bsg_pcifn_cfg_s {
132 struct bfa_ablk_cfg_s pcifn_cfg;
135 struct bfa_bsg_pcifn_s {
141 enum bfi_pcifn_class pcifn_class;
145 struct bfa_bsg_adapter_cfg_mode_s {
149 struct bfa_adapter_cfg_mode_s cfg;
152 struct bfa_bsg_port_cfg_mode_s {
156 struct bfa_port_cfg_mode_s cfg;
159 struct bfa_bsg_fcpt_s {
169 #define bfa_bsg_fcpt_t struct bfa_bsg_fcpt_s
171 struct bfa_bsg_data {
176 #define bfad_chk_iocmd_sz(__payload_len, __hdrsz, __bufsz) \
177 (((__payload_len) != ((__hdrsz) + (__bufsz))) ? \
178 BFA_STATUS_FAILED : BFA_STATUS_OK)
180 #endif /* BFAD_BSG_H */