1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef __BFA_DEFS_IOC_H__
19#define __BFA_DEFS_IOC_H__
20
21#include <protocol/types.h>
22#include <defs/bfa_defs_types.h>
23#include <defs/bfa_defs_version.h>
24#include <defs/bfa_defs_adapter.h>
25#include <defs/bfa_defs_pm.h>
26
27enum {
28 BFA_IOC_DRIVER_LEN = 16,
29 BFA_IOC_CHIP_REV_LEN = 8,
30};
31
32
33
34
35struct bfa_ioc_driver_attr_s {
36 char driver[BFA_IOC_DRIVER_LEN];
37 char driver_ver[BFA_VERSION_LEN];
38 char fw_ver[BFA_VERSION_LEN];
39 char bios_ver[BFA_VERSION_LEN];
40 char efi_ver[BFA_VERSION_LEN];
41 char ob_ver[BFA_VERSION_LEN];
42};
43
44
45
46
47struct bfa_ioc_pci_attr_s {
48 u16 vendor_id;
49 u16 device_id;
50 u16 ssid;
51 u16 ssvid;
52 u32 pcifn;
53 u32 rsvd;
54 u8 chip_rev[BFA_IOC_CHIP_REV_LEN];
55};
56
57
58
59
60enum bfa_ioc_state {
61 BFA_IOC_RESET = 1,
62 BFA_IOC_SEMWAIT = 2,
63 BFA_IOC_HWINIT = 3,
64 BFA_IOC_GETATTR = 4,
65 BFA_IOC_OPERATIONAL = 5,
66 BFA_IOC_INITFAIL = 6,
67 BFA_IOC_HBFAIL = 7,
68 BFA_IOC_DISABLING = 8,
69 BFA_IOC_DISABLED = 9,
70 BFA_IOC_FWMISMATCH = 10,
71};
72
73
74
75
76struct bfa_fw_ioc_stats_s {
77 u32 hb_count;
78 u32 cfg_reqs;
79 u32 enable_reqs;
80 u32 disable_reqs;
81 u32 stats_reqs;
82 u32 clrstats_reqs;
83 u32 unknown_reqs;
84 u32 ic_reqs;
85};
86
87
88
89
90struct bfa_ioc_drv_stats_s {
91 u32 ioc_isrs;
92 u32 ioc_enables;
93 u32 ioc_disables;
94 u32 ioc_hbfails;
95 u32 ioc_boots;
96 u32 stats_tmos;
97 u32 hb_count;
98 u32 disable_reqs;
99 u32 enable_reqs;
100 u32 disable_replies;
101 u32 enable_replies;
102};
103
104
105
106
107struct bfa_ioc_stats_s {
108 struct bfa_ioc_drv_stats_s drv_stats;
109 struct bfa_fw_ioc_stats_s fw_stats;
110};
111
112
113enum bfa_ioc_type_e {
114 BFA_IOC_TYPE_FC = 1,
115 BFA_IOC_TYPE_FCoE = 2,
116 BFA_IOC_TYPE_LL = 3,
117};
118
119
120
121
122struct bfa_ioc_attr_s {
123 enum bfa_ioc_type_e ioc_type;
124 enum bfa_ioc_state state;
125 struct bfa_adapter_attr_s adapter_attr;
126 struct bfa_ioc_driver_attr_s driver_attr;
127 struct bfa_ioc_pci_attr_s pci_attr;
128 u8 port_id;
129};
130
131
132
133
134enum bfa_ioc_aen_event {
135 BFA_IOC_AEN_HBGOOD = 1,
136 BFA_IOC_AEN_HBFAIL = 2,
137 BFA_IOC_AEN_ENABLE = 3,
138 BFA_IOC_AEN_DISABLE = 4,
139 BFA_IOC_AEN_FWMISMATCH = 5,
140};
141
142
143
144
145struct bfa_ioc_aen_data_s {
146 enum bfa_ioc_type_e ioc_type;
147 wwn_t pwwn;
148 mac_t mac;
149};
150
151#endif
152
153