aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2010-12-22 12:57:02 -0500
committerJiri Kosina <jkosina@suse.cz>2010-12-22 12:57:02 -0500
commit4b7bd364700d9ac8372eff48832062b936d0793b (patch)
tree0dbf78c95456a0b02d07fcd473281f04a87e266d /drivers/scsi/bfa
parentc0d8768af260e2cbb4bf659ae6094a262c86b085 (diff)
parent90a8a73c06cc32b609a880d48449d7083327e11a (diff)
Merge branch 'master' into for-next
Conflicts: MAINTAINERS arch/arm/mach-omap2/pm24xx.c drivers/scsi/bfa/bfa_fcpim.c Needed to update to apply fixes for which the old branch was too outdated.
Diffstat (limited to 'drivers/scsi/bfa')
-rw-r--r--drivers/scsi/bfa/bfa.h48
-rw-r--r--drivers/scsi/bfa/bfa_cb_ioim.h22
-rw-r--r--drivers/scsi/bfa/bfa_core.c178
-rw-r--r--drivers/scsi/bfa/bfa_cs.h24
-rw-r--r--drivers/scsi/bfa/bfa_defs.h54
-rw-r--r--drivers/scsi/bfa/bfa_defs_fcs.h48
-rw-r--r--drivers/scsi/bfa/bfa_defs_svc.h82
-rw-r--r--drivers/scsi/bfa/bfa_drv.c6
-rw-r--r--drivers/scsi/bfa/bfa_fc.h30
-rw-r--r--drivers/scsi/bfa/bfa_fcbuild.c196
-rw-r--r--drivers/scsi/bfa/bfa_fcpim.c351
-rw-r--r--drivers/scsi/bfa/bfa_fcpim.h18
-rw-r--r--drivers/scsi/bfa/bfa_fcs.c335
-rw-r--r--drivers/scsi/bfa/bfa_fcs.h43
-rw-r--r--drivers/scsi/bfa/bfa_fcs_fcpim.c34
-rw-r--r--drivers/scsi/bfa/bfa_fcs_lport.c468
-rw-r--r--drivers/scsi/bfa/bfa_fcs_rport.c198
-rw-r--r--drivers/scsi/bfa/bfa_hw_cb.c16
-rw-r--r--drivers/scsi/bfa/bfa_hw_ct.c22
-rw-r--r--drivers/scsi/bfa/bfa_ioc.c397
-rw-r--r--drivers/scsi/bfa/bfa_ioc.h108
-rw-r--r--drivers/scsi/bfa/bfa_ioc_cb.c90
-rw-r--r--drivers/scsi/bfa/bfa_ioc_ct.c167
-rw-r--r--drivers/scsi/bfa/bfa_modules.h6
-rw-r--r--drivers/scsi/bfa/bfa_os_inc.h82
-rw-r--r--drivers/scsi/bfa/bfa_port.c40
-rw-r--r--drivers/scsi/bfa/bfa_svc.c504
-rw-r--r--drivers/scsi/bfa/bfa_svc.h41
-rw-r--r--drivers/scsi/bfa/bfad.c73
-rw-r--r--drivers/scsi/bfa/bfad_attr.c38
-rw-r--r--drivers/scsi/bfa/bfad_debugfs.c4
-rw-r--r--drivers/scsi/bfa/bfad_drv.h5
-rw-r--r--drivers/scsi/bfa/bfad_im.c78
-rw-r--r--drivers/scsi/bfa/bfi.h58
-rw-r--r--drivers/scsi/bfa/bfi_ms.h50
35 files changed, 1759 insertions, 2155 deletions
diff --git a/drivers/scsi/bfa/bfa.h b/drivers/scsi/bfa/bfa.h
index ceaac65a91ff..ff2bd07161f7 100644
--- a/drivers/scsi/bfa/bfa.h
+++ b/drivers/scsi/bfa/bfa.h
@@ -29,13 +29,13 @@ struct bfa_s;
29typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m); 29typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m);
30typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete); 30typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete);
31 31
32/** 32/*
33 * Interrupt message handlers 33 * Interrupt message handlers
34 */ 34 */
35void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m); 35void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m);
36void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func); 36void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
37 37
38/** 38/*
39 * Request and response queue related defines 39 * Request and response queue related defines
40 */ 40 */
41#define BFA_REQQ_NELEMS_MIN (4) 41#define BFA_REQQ_NELEMS_MIN (4)
@@ -58,9 +58,9 @@ void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
58#define bfa_reqq_produce(__bfa, __reqq) do { \ 58#define bfa_reqq_produce(__bfa, __reqq) do { \
59 (__bfa)->iocfc.req_cq_pi[__reqq]++; \ 59 (__bfa)->iocfc.req_cq_pi[__reqq]++; \
60 (__bfa)->iocfc.req_cq_pi[__reqq] &= \ 60 (__bfa)->iocfc.req_cq_pi[__reqq] &= \
61 ((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \ 61 ((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \
62 bfa_reg_write((__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq], \ 62 writel((__bfa)->iocfc.req_cq_pi[__reqq], \
63 (__bfa)->iocfc.req_cq_pi[__reqq]); \ 63 (__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq]); \
64 mmiowb(); \ 64 mmiowb(); \
65 } while (0) 65 } while (0)
66 66
@@ -76,7 +76,7 @@ void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
76 (__index) &= ((__size) - 1); \ 76 (__index) &= ((__size) - 1); \
77} while (0) 77} while (0)
78 78
79/** 79/*
80 * Queue element to wait for room in request queue. FIFO order is 80 * Queue element to wait for room in request queue. FIFO order is
81 * maintained when fullfilling requests. 81 * maintained when fullfilling requests.
82 */ 82 */
@@ -86,7 +86,7 @@ struct bfa_reqq_wait_s {
86 void *cbarg; 86 void *cbarg;
87}; 87};
88 88
89/** 89/*
90 * Circular queue usage assignments 90 * Circular queue usage assignments
91 */ 91 */
92enum { 92enum {
@@ -113,7 +113,7 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),
113 113
114#define bfa_reqq(__bfa, __reqq) (&(__bfa)->reqq_waitq[__reqq]) 114#define bfa_reqq(__bfa, __reqq) (&(__bfa)->reqq_waitq[__reqq])
115 115
116/** 116/*
117 * static inline void 117 * static inline void
118 * bfa_reqq_wait(struct bfa_s *bfa, int reqq, struct bfa_reqq_wait_s *wqe) 118 * bfa_reqq_wait(struct bfa_s *bfa, int reqq, struct bfa_reqq_wait_s *wqe)
119 */ 119 */
@@ -130,7 +130,7 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),
130#define bfa_reqq_wcancel(__wqe) list_del(&(__wqe)->qe) 130#define bfa_reqq_wcancel(__wqe) list_del(&(__wqe)->qe)
131 131
132 132
133/** 133/*
134 * Generic BFA callback element. 134 * Generic BFA callback element.
135 */ 135 */
136struct bfa_cb_qe_s { 136struct bfa_cb_qe_s {
@@ -163,7 +163,7 @@ struct bfa_cb_qe_s {
163 } while (0) 163 } while (0)
164 164
165 165
166/** 166/*
167 * PCI devices supported by the current BFA 167 * PCI devices supported by the current BFA
168 */ 168 */
169struct bfa_pciid_s { 169struct bfa_pciid_s {
@@ -173,7 +173,7 @@ struct bfa_pciid_s {
173 173
174extern char bfa_version[]; 174extern char bfa_version[];
175 175
176/** 176/*
177 * BFA memory resources 177 * BFA memory resources
178 */ 178 */
179enum bfa_mem_type { 179enum bfa_mem_type {
@@ -202,19 +202,19 @@ struct bfa_meminfo_s {
202 ((_m)->meminfo[BFA_MEM_TYPE_DMA - 1].dma_curp) 202 ((_m)->meminfo[BFA_MEM_TYPE_DMA - 1].dma_curp)
203 203
204struct bfa_iocfc_regs_s { 204struct bfa_iocfc_regs_s {
205 bfa_os_addr_t intr_status; 205 void __iomem *intr_status;
206 bfa_os_addr_t intr_mask; 206 void __iomem *intr_mask;
207 bfa_os_addr_t cpe_q_pi[BFI_IOC_MAX_CQS]; 207 void __iomem *cpe_q_pi[BFI_IOC_MAX_CQS];
208 bfa_os_addr_t cpe_q_ci[BFI_IOC_MAX_CQS]; 208 void __iomem *cpe_q_ci[BFI_IOC_MAX_CQS];
209 bfa_os_addr_t cpe_q_depth[BFI_IOC_MAX_CQS]; 209 void __iomem *cpe_q_depth[BFI_IOC_MAX_CQS];
210 bfa_os_addr_t cpe_q_ctrl[BFI_IOC_MAX_CQS]; 210 void __iomem *cpe_q_ctrl[BFI_IOC_MAX_CQS];
211 bfa_os_addr_t rme_q_ci[BFI_IOC_MAX_CQS]; 211 void __iomem *rme_q_ci[BFI_IOC_MAX_CQS];
212 bfa_os_addr_t rme_q_pi[BFI_IOC_MAX_CQS]; 212 void __iomem *rme_q_pi[BFI_IOC_MAX_CQS];
213 bfa_os_addr_t rme_q_depth[BFI_IOC_MAX_CQS]; 213 void __iomem *rme_q_depth[BFI_IOC_MAX_CQS];
214 bfa_os_addr_t rme_q_ctrl[BFI_IOC_MAX_CQS]; 214 void __iomem *rme_q_ctrl[BFI_IOC_MAX_CQS];
215}; 215};
216 216
217/** 217/*
218 * MSIX vector handlers 218 * MSIX vector handlers
219 */ 219 */
220#define BFA_MSIX_MAX_VECTORS 22 220#define BFA_MSIX_MAX_VECTORS 22
@@ -224,7 +224,7 @@ struct bfa_msix_s {
224 bfa_msix_handler_t handler[BFA_MSIX_MAX_VECTORS]; 224 bfa_msix_handler_t handler[BFA_MSIX_MAX_VECTORS];
225}; 225};
226 226
227/** 227/*
228 * Chip specific interfaces 228 * Chip specific interfaces
229 */ 229 */
230struct bfa_hwif_s { 230struct bfa_hwif_s {
@@ -343,7 +343,7 @@ int bfa_iocfc_get_pbc_vports(struct bfa_s *bfa,
343 struct bfi_pbc_vport_s *pbc_vport); 343 struct bfi_pbc_vport_s *pbc_vport);
344 344
345 345
346/** 346/*
347 *---------------------------------------------------------------------- 347 *----------------------------------------------------------------------
348 * BFA public interfaces 348 * BFA public interfaces
349 *---------------------------------------------------------------------- 349 *----------------------------------------------------------------------
diff --git a/drivers/scsi/bfa/bfa_cb_ioim.h b/drivers/scsi/bfa/bfa_cb_ioim.h
index a989a94c38da..6f021015f1f6 100644
--- a/drivers/scsi/bfa/bfa_cb_ioim.h
+++ b/drivers/scsi/bfa/bfa_cb_ioim.h
@@ -37,18 +37,18 @@ bfad_int_to_lun(u32 luno)
37 } lun; 37 } lun;
38 38
39 lun.bfa_lun = 0; 39 lun.bfa_lun = 0;
40 lun.scsi_lun[0] = bfa_os_htons(luno); 40 lun.scsi_lun[0] = cpu_to_be16(luno);
41 41
42 return lun.bfa_lun; 42 return lun.bfa_lun;
43} 43}
44 44
45/** 45/*
46 * Get LUN for the I/O request 46 * Get LUN for the I/O request
47 */ 47 */
48#define bfa_cb_ioim_get_lun(__dio) \ 48#define bfa_cb_ioim_get_lun(__dio) \
49 bfad_int_to_lun(((struct scsi_cmnd *)__dio)->device->lun) 49 bfad_int_to_lun(((struct scsi_cmnd *)__dio)->device->lun)
50 50
51/** 51/*
52 * Get CDB for the I/O request 52 * Get CDB for the I/O request
53 */ 53 */
54static inline u8 * 54static inline u8 *
@@ -59,7 +59,7 @@ bfa_cb_ioim_get_cdb(struct bfad_ioim_s *dio)
59 return (u8 *) cmnd->cmnd; 59 return (u8 *) cmnd->cmnd;
60} 60}
61 61
62/** 62/*
63 * Get I/O direction (read/write) for the I/O request 63 * Get I/O direction (read/write) for the I/O request
64 */ 64 */
65static inline enum fcp_iodir 65static inline enum fcp_iodir
@@ -77,7 +77,7 @@ bfa_cb_ioim_get_iodir(struct bfad_ioim_s *dio)
77 return FCP_IODIR_NONE; 77 return FCP_IODIR_NONE;
78} 78}
79 79
80/** 80/*
81 * Get IO size in bytes for the I/O request 81 * Get IO size in bytes for the I/O request
82 */ 82 */
83static inline u32 83static inline u32
@@ -88,7 +88,7 @@ bfa_cb_ioim_get_size(struct bfad_ioim_s *dio)
88 return scsi_bufflen(cmnd); 88 return scsi_bufflen(cmnd);
89} 89}
90 90
91/** 91/*
92 * Get timeout for the I/O request 92 * Get timeout for the I/O request
93 */ 93 */
94static inline u8 94static inline u8
@@ -104,7 +104,7 @@ bfa_cb_ioim_get_timeout(struct bfad_ioim_s *dio)
104 return 0; 104 return 0;
105} 105}
106 106
107/** 107/*
108 * Get Command Reference Number for the I/O request. 0 if none. 108 * Get Command Reference Number for the I/O request. 0 if none.
109 */ 109 */
110static inline u8 110static inline u8
@@ -113,7 +113,7 @@ bfa_cb_ioim_get_crn(struct bfad_ioim_s *dio)
113 return 0; 113 return 0;
114} 114}
115 115
116/** 116/*
117 * Get SAM-3 priority for the I/O request. 0 is default. 117 * Get SAM-3 priority for the I/O request. 0 is default.
118 */ 118 */
119static inline u8 119static inline u8
@@ -122,7 +122,7 @@ bfa_cb_ioim_get_priority(struct bfad_ioim_s *dio)
122 return 0; 122 return 0;
123} 123}
124 124
125/** 125/*
126 * Get task attributes for the I/O request. Default is FCP_TASK_ATTR_SIMPLE(0). 126 * Get task attributes for the I/O request. Default is FCP_TASK_ATTR_SIMPLE(0).
127 */ 127 */
128static inline u8 128static inline u8
@@ -148,7 +148,7 @@ bfa_cb_ioim_get_taskattr(struct bfad_ioim_s *dio)
148 return task_attr; 148 return task_attr;
149} 149}
150 150
151/** 151/*
152 * Get CDB length in bytes for the I/O request. Default is FCP_CMND_CDB_LEN(16). 152 * Get CDB length in bytes for the I/O request. Default is FCP_CMND_CDB_LEN(16).
153 */ 153 */
154static inline u8 154static inline u8
@@ -159,7 +159,7 @@ bfa_cb_ioim_get_cdblen(struct bfad_ioim_s *dio)
159 return cmnd->cmd_len; 159 return cmnd->cmd_len;
160} 160}
161 161
162/** 162/*
163 * Assign queue to be used for the I/O request. This value depends on whether 163 * Assign queue to be used for the I/O request. This value depends on whether
164 * the driver wants to use the queues via any specific algorithm. Currently, 164 * the driver wants to use the queues via any specific algorithm. Currently,
165 * this is not supported. 165 * this is not supported.
diff --git a/drivers/scsi/bfa/bfa_core.c b/drivers/scsi/bfa/bfa_core.c
index c2fa07f2485d..2345f48dc57f 100644
--- a/drivers/scsi/bfa/bfa_core.c
+++ b/drivers/scsi/bfa/bfa_core.c
@@ -21,11 +21,11 @@
21 21
22BFA_TRC_FILE(HAL, CORE); 22BFA_TRC_FILE(HAL, CORE);
23 23
24/** 24/*
25 * BFA IOC FC related definitions 25 * BFA IOC FC related definitions
26 */ 26 */
27 27
28/** 28/*
29 * IOC local definitions 29 * IOC local definitions
30 */ 30 */
31#define BFA_IOCFC_TOV 5000 /* msecs */ 31#define BFA_IOCFC_TOV 5000 /* msecs */
@@ -54,7 +54,7 @@ enum {
54#define DEF_CFG_NUM_SBOOT_TGTS 16 54#define DEF_CFG_NUM_SBOOT_TGTS 16
55#define DEF_CFG_NUM_SBOOT_LUNS 16 55#define DEF_CFG_NUM_SBOOT_LUNS 16
56 56
57/** 57/*
58 * forward declaration for IOC FC functions 58 * forward declaration for IOC FC functions
59 */ 59 */
60static void bfa_iocfc_enable_cbfn(void *bfa_arg, enum bfa_status status); 60static void bfa_iocfc_enable_cbfn(void *bfa_arg, enum bfa_status status);
@@ -63,7 +63,7 @@ static void bfa_iocfc_hbfail_cbfn(void *bfa_arg);
63static void bfa_iocfc_reset_cbfn(void *bfa_arg); 63static void bfa_iocfc_reset_cbfn(void *bfa_arg);
64static struct bfa_ioc_cbfn_s bfa_iocfc_cbfn; 64static struct bfa_ioc_cbfn_s bfa_iocfc_cbfn;
65 65
66/** 66/*
67 * BFA Interrupt handling functions 67 * BFA Interrupt handling functions
68 */ 68 */
69static void 69static void
@@ -86,7 +86,7 @@ bfa_reqq_resume(struct bfa_s *bfa, int qid)
86 86
87 waitq = bfa_reqq(bfa, qid); 87 waitq = bfa_reqq(bfa, qid);
88 list_for_each_safe(qe, qen, waitq) { 88 list_for_each_safe(qe, qen, waitq) {
89 /** 89 /*
90 * Callback only as long as there is room in request queue 90 * Callback only as long as there is room in request queue
91 */ 91 */
92 if (bfa_reqq_full(bfa, qid)) 92 if (bfa_reqq_full(bfa, qid))
@@ -104,7 +104,7 @@ bfa_msix_all(struct bfa_s *bfa, int vec)
104 bfa_intx(bfa); 104 bfa_intx(bfa);
105} 105}
106 106
107/** 107/*
108 * hal_intr_api 108 * hal_intr_api
109 */ 109 */
110bfa_boolean_t 110bfa_boolean_t
@@ -113,15 +113,15 @@ bfa_intx(struct bfa_s *bfa)
113 u32 intr, qintr; 113 u32 intr, qintr;
114 int queue; 114 int queue;
115 115
116 intr = bfa_reg_read(bfa->iocfc.bfa_regs.intr_status); 116 intr = readl(bfa->iocfc.bfa_regs.intr_status);
117 if (!intr) 117 if (!intr)
118 return BFA_FALSE; 118 return BFA_FALSE;
119 119
120 /** 120 /*
121 * RME completion queue interrupt 121 * RME completion queue interrupt
122 */ 122 */
123 qintr = intr & __HFN_INT_RME_MASK; 123 qintr = intr & __HFN_INT_RME_MASK;
124 bfa_reg_write(bfa->iocfc.bfa_regs.intr_status, qintr); 124 writel(qintr, bfa->iocfc.bfa_regs.intr_status);
125 125
126 for (queue = 0; queue < BFI_IOC_MAX_CQS_ASIC; queue++) { 126 for (queue = 0; queue < BFI_IOC_MAX_CQS_ASIC; queue++) {
127 if (intr & (__HFN_INT_RME_Q0 << queue)) 127 if (intr & (__HFN_INT_RME_Q0 << queue))
@@ -131,11 +131,11 @@ bfa_intx(struct bfa_s *bfa)
131 if (!intr) 131 if (!intr)
132 return BFA_TRUE; 132 return BFA_TRUE;
133 133
134 /** 134 /*
135 * CPE completion queue interrupt 135 * CPE completion queue interrupt
136 */ 136 */
137 qintr = intr & __HFN_INT_CPE_MASK; 137 qintr = intr & __HFN_INT_CPE_MASK;
138 bfa_reg_write(bfa->iocfc.bfa_regs.intr_status, qintr); 138 writel(qintr, bfa->iocfc.bfa_regs.intr_status);
139 139
140 for (queue = 0; queue < BFI_IOC_MAX_CQS_ASIC; queue++) { 140 for (queue = 0; queue < BFI_IOC_MAX_CQS_ASIC; queue++) {
141 if (intr & (__HFN_INT_CPE_Q0 << queue)) 141 if (intr & (__HFN_INT_CPE_Q0 << queue))
@@ -153,13 +153,13 @@ bfa_intx(struct bfa_s *bfa)
153void 153void
154bfa_intx_enable(struct bfa_s *bfa) 154bfa_intx_enable(struct bfa_s *bfa)
155{ 155{
156 bfa_reg_write(bfa->iocfc.bfa_regs.intr_mask, bfa->iocfc.intr_mask); 156 writel(bfa->iocfc.intr_mask, bfa->iocfc.bfa_regs.intr_mask);
157} 157}
158 158
159void 159void
160bfa_intx_disable(struct bfa_s *bfa) 160bfa_intx_disable(struct bfa_s *bfa)
161{ 161{
162 bfa_reg_write(bfa->iocfc.bfa_regs.intr_mask, -1L); 162 writel(-1L, bfa->iocfc.bfa_regs.intr_mask);
163} 163}
164 164
165void 165void
@@ -188,8 +188,8 @@ bfa_isr_enable(struct bfa_s *bfa)
188 __HFN_INT_RME_Q6 | __HFN_INT_RME_Q7 | 188 __HFN_INT_RME_Q6 | __HFN_INT_RME_Q7 |
189 __HFN_INT_MBOX_LPU1); 189 __HFN_INT_MBOX_LPU1);
190 190
191 bfa_reg_write(bfa->iocfc.bfa_regs.intr_status, intr_unmask); 191 writel(intr_unmask, bfa->iocfc.bfa_regs.intr_status);
192 bfa_reg_write(bfa->iocfc.bfa_regs.intr_mask, ~intr_unmask); 192 writel(~intr_unmask, bfa->iocfc.bfa_regs.intr_mask);
193 bfa->iocfc.intr_mask = ~intr_unmask; 193 bfa->iocfc.intr_mask = ~intr_unmask;
194 bfa_isr_mode_set(bfa, bfa->msix.nvecs != 0); 194 bfa_isr_mode_set(bfa, bfa->msix.nvecs != 0);
195} 195}
@@ -198,7 +198,7 @@ void
198bfa_isr_disable(struct bfa_s *bfa) 198bfa_isr_disable(struct bfa_s *bfa)
199{ 199{
200 bfa_isr_mode_set(bfa, BFA_FALSE); 200 bfa_isr_mode_set(bfa, BFA_FALSE);
201 bfa_reg_write(bfa->iocfc.bfa_regs.intr_mask, -1L); 201 writel(-1L, bfa->iocfc.bfa_regs.intr_mask);
202 bfa_msix_uninstall(bfa); 202 bfa_msix_uninstall(bfa);
203} 203}
204 204
@@ -211,7 +211,7 @@ bfa_msix_reqq(struct bfa_s *bfa, int qid)
211 211
212 bfa->iocfc.hwif.hw_reqq_ack(bfa, qid); 212 bfa->iocfc.hwif.hw_reqq_ack(bfa, qid);
213 213
214 /** 214 /*
215 * Resume any pending requests in the corresponding reqq. 215 * Resume any pending requests in the corresponding reqq.
216 */ 216 */
217 waitq = bfa_reqq(bfa, qid); 217 waitq = bfa_reqq(bfa, qid);
@@ -259,14 +259,14 @@ bfa_msix_rspq(struct bfa_s *bfa, int qid)
259 } 259 }
260 } 260 }
261 261
262 /** 262 /*
263 * update CI 263 * update CI
264 */ 264 */
265 bfa_rspq_ci(bfa, qid) = pi; 265 bfa_rspq_ci(bfa, qid) = pi;
266 bfa_reg_write(bfa->iocfc.bfa_regs.rme_q_ci[qid], pi); 266 writel(pi, bfa->iocfc.bfa_regs.rme_q_ci[qid]);
267 mmiowb(); 267 mmiowb();
268 268
269 /** 269 /*
270 * Resume any pending requests in the corresponding reqq. 270 * Resume any pending requests in the corresponding reqq.
271 */ 271 */
272 waitq = bfa_reqq(bfa, qid); 272 waitq = bfa_reqq(bfa, qid);
@@ -279,7 +279,7 @@ bfa_msix_lpu_err(struct bfa_s *bfa, int vec)
279{ 279{
280 u32 intr, curr_value; 280 u32 intr, curr_value;
281 281
282 intr = bfa_reg_read(bfa->iocfc.bfa_regs.intr_status); 282 intr = readl(bfa->iocfc.bfa_regs.intr_status);
283 283
284 if (intr & (__HFN_INT_MBOX_LPU0 | __HFN_INT_MBOX_LPU1)) 284 if (intr & (__HFN_INT_MBOX_LPU0 | __HFN_INT_MBOX_LPU1))
285 bfa_msix_lpu(bfa); 285 bfa_msix_lpu(bfa);
@@ -289,30 +289,30 @@ bfa_msix_lpu_err(struct bfa_s *bfa, int vec)
289 289
290 if (intr) { 290 if (intr) {
291 if (intr & __HFN_INT_LL_HALT) { 291 if (intr & __HFN_INT_LL_HALT) {
292 /** 292 /*
293 * If LL_HALT bit is set then FW Init Halt LL Port 293 * If LL_HALT bit is set then FW Init Halt LL Port
294 * Register needs to be cleared as well so Interrupt 294 * Register needs to be cleared as well so Interrupt
295 * Status Register will be cleared. 295 * Status Register will be cleared.
296 */ 296 */
297 curr_value = bfa_reg_read(bfa->ioc.ioc_regs.ll_halt); 297 curr_value = readl(bfa->ioc.ioc_regs.ll_halt);
298 curr_value &= ~__FW_INIT_HALT_P; 298 curr_value &= ~__FW_INIT_HALT_P;
299 bfa_reg_write(bfa->ioc.ioc_regs.ll_halt, curr_value); 299 writel(curr_value, bfa->ioc.ioc_regs.ll_halt);
300 } 300 }
301 301
302 if (intr & __HFN_INT_ERR_PSS) { 302 if (intr & __HFN_INT_ERR_PSS) {
303 /** 303 /*
304 * ERR_PSS bit needs to be cleared as well in case 304 * ERR_PSS bit needs to be cleared as well in case
305 * interrups are shared so driver's interrupt handler is 305 * interrups are shared so driver's interrupt handler is
306 * still called eventhough it is already masked out. 306 * still called eventhough it is already masked out.
307 */ 307 */
308 curr_value = bfa_reg_read( 308 curr_value = readl(
309 bfa->ioc.ioc_regs.pss_err_status_reg); 309 bfa->ioc.ioc_regs.pss_err_status_reg);
310 curr_value &= __PSS_ERR_STATUS_SET; 310 curr_value &= __PSS_ERR_STATUS_SET;
311 bfa_reg_write(bfa->ioc.ioc_regs.pss_err_status_reg, 311 writel(curr_value,
312 curr_value); 312 bfa->ioc.ioc_regs.pss_err_status_reg);
313 } 313 }
314 314
315 bfa_reg_write(bfa->iocfc.bfa_regs.intr_status, intr); 315 writel(intr, bfa->iocfc.bfa_regs.intr_status);
316 bfa_msix_errint(bfa, intr); 316 bfa_msix_errint(bfa, intr);
317 } 317 }
318} 318}
@@ -323,11 +323,11 @@ bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func)
323 bfa_isrs[mc] = isr_func; 323 bfa_isrs[mc] = isr_func;
324} 324}
325 325
326/** 326/*
327 * BFA IOC FC related functions 327 * BFA IOC FC related functions
328 */ 328 */
329 329
330/** 330/*
331 * hal_ioc_pvt BFA IOC private functions 331 * hal_ioc_pvt BFA IOC private functions
332 */ 332 */
333 333
@@ -366,7 +366,7 @@ bfa_iocfc_fw_cfg_sz(struct bfa_iocfc_cfg_s *cfg, u32 *dm_len)
366 BFA_CACHELINE_SZ); 366 BFA_CACHELINE_SZ);
367} 367}
368 368
369/** 369/*
370 * Use the Mailbox interface to send BFI_IOCFC_H2I_CFG_REQ 370 * Use the Mailbox interface to send BFI_IOCFC_H2I_CFG_REQ
371 */ 371 */
372static void 372static void
@@ -384,14 +384,14 @@ bfa_iocfc_send_cfg(void *bfa_arg)
384 384
385 bfa_iocfc_reset_queues(bfa); 385 bfa_iocfc_reset_queues(bfa);
386 386
387 /** 387 /*
388 * initialize IOC configuration info 388 * initialize IOC configuration info
389 */ 389 */
390 cfg_info->endian_sig = BFI_IOC_ENDIAN_SIG; 390 cfg_info->endian_sig = BFI_IOC_ENDIAN_SIG;
391 cfg_info->num_cqs = cfg->fwcfg.num_cqs; 391 cfg_info->num_cqs = cfg->fwcfg.num_cqs;
392 392
393 bfa_dma_be_addr_set(cfg_info->cfgrsp_addr, iocfc->cfgrsp_dma.pa); 393 bfa_dma_be_addr_set(cfg_info->cfgrsp_addr, iocfc->cfgrsp_dma.pa);
394 /** 394 /*
395 * dma map REQ and RSP circular queues and shadow pointers 395 * dma map REQ and RSP circular queues and shadow pointers
396 */ 396 */
397 for (i = 0; i < cfg->fwcfg.num_cqs; i++) { 397 for (i = 0; i < cfg->fwcfg.num_cqs; i++) {
@@ -400,17 +400,17 @@ bfa_iocfc_send_cfg(void *bfa_arg)
400 bfa_dma_be_addr_set(cfg_info->req_shadow_ci[i], 400 bfa_dma_be_addr_set(cfg_info->req_shadow_ci[i],
401 iocfc->req_cq_shadow_ci[i].pa); 401 iocfc->req_cq_shadow_ci[i].pa);
402 cfg_info->req_cq_elems[i] = 402 cfg_info->req_cq_elems[i] =
403 bfa_os_htons(cfg->drvcfg.num_reqq_elems); 403 cpu_to_be16(cfg->drvcfg.num_reqq_elems);
404 404
405 bfa_dma_be_addr_set(cfg_info->rsp_cq_ba[i], 405 bfa_dma_be_addr_set(cfg_info->rsp_cq_ba[i],
406 iocfc->rsp_cq_ba[i].pa); 406 iocfc->rsp_cq_ba[i].pa);
407 bfa_dma_be_addr_set(cfg_info->rsp_shadow_pi[i], 407 bfa_dma_be_addr_set(cfg_info->rsp_shadow_pi[i],
408 iocfc->rsp_cq_shadow_pi[i].pa); 408 iocfc->rsp_cq_shadow_pi[i].pa);
409 cfg_info->rsp_cq_elems[i] = 409 cfg_info->rsp_cq_elems[i] =
410 bfa_os_htons(cfg->drvcfg.num_rspq_elems); 410 cpu_to_be16(cfg->drvcfg.num_rspq_elems);
411 } 411 }
412 412
413 /** 413 /*
414 * Enable interrupt coalescing if it is driver init path 414 * Enable interrupt coalescing if it is driver init path
415 * and not ioc disable/enable path. 415 * and not ioc disable/enable path.
416 */ 416 */
@@ -419,7 +419,7 @@ bfa_iocfc_send_cfg(void *bfa_arg)
419 419
420 iocfc->cfgdone = BFA_FALSE; 420 iocfc->cfgdone = BFA_FALSE;
421 421
422 /** 422 /*
423 * dma map IOC configuration itself 423 * dma map IOC configuration itself
424 */ 424 */
425 bfi_h2i_set(cfg_req.mh, BFI_MC_IOCFC, BFI_IOCFC_H2I_CFG_REQ, 425 bfi_h2i_set(cfg_req.mh, BFI_MC_IOCFC, BFI_IOCFC_H2I_CFG_REQ,
@@ -440,9 +440,9 @@ bfa_iocfc_init_mem(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
440 iocfc->bfa = bfa; 440 iocfc->bfa = bfa;
441 iocfc->action = BFA_IOCFC_ACT_NONE; 441 iocfc->action = BFA_IOCFC_ACT_NONE;
442 442
443 bfa_os_assign(iocfc->cfg, *cfg); 443 iocfc->cfg = *cfg;
444 444
445 /** 445 /*
446 * Initialize chip specific handlers. 446 * Initialize chip specific handlers.
447 */ 447 */
448 if (bfa_asic_id_ct(bfa_ioc_devid(&bfa->ioc))) { 448 if (bfa_asic_id_ct(bfa_ioc_devid(&bfa->ioc))) {
@@ -503,13 +503,13 @@ bfa_iocfc_mem_claim(struct bfa_s *bfa, struct bfa_iocfc_cfg_s *cfg,
503 for (i = 0; i < cfg->fwcfg.num_cqs; i++) { 503 for (i = 0; i < cfg->fwcfg.num_cqs; i++) {
504 iocfc->req_cq_ba[i].kva = dm_kva; 504 iocfc->req_cq_ba[i].kva = dm_kva;
505 iocfc->req_cq_ba[i].pa = dm_pa; 505 iocfc->req_cq_ba[i].pa = dm_pa;
506 bfa_os_memset(dm_kva, 0, per_reqq_sz); 506 memset(dm_kva, 0, per_reqq_sz);
507 dm_kva += per_reqq_sz; 507 dm_kva += per_reqq_sz;
508 dm_pa += per_reqq_sz; 508 dm_pa += per_reqq_sz;
509 509
510 iocfc->rsp_cq_ba[i].kva = dm_kva; 510 iocfc->rsp_cq_ba[i].kva = dm_kva;
511 iocfc->rsp_cq_ba[i].pa = dm_pa; 511 iocfc->rsp_cq_ba[i].pa = dm_pa;
512 bfa_os_memset(dm_kva, 0, per_rspq_sz); 512 memset(dm_kva, 0, per_rspq_sz);
513 dm_kva += per_rspq_sz; 513 dm_kva += per_rspq_sz;
514 dm_pa += per_rspq_sz; 514 dm_pa += per_rspq_sz;
515 } 515 }
@@ -559,7 +559,7 @@ bfa_iocfc_mem_claim(struct bfa_s *bfa, struct bfa_iocfc_cfg_s *cfg,
559 } 559 }
560} 560}
561 561
562/** 562/*
563 * Start BFA submodules. 563 * Start BFA submodules.
564 */ 564 */
565static void 565static void
@@ -573,7 +573,7 @@ bfa_iocfc_start_submod(struct bfa_s *bfa)
573 hal_mods[i]->start(bfa); 573 hal_mods[i]->start(bfa);
574} 574}
575 575
576/** 576/*
577 * Disable BFA submodules. 577 * Disable BFA submodules.
578 */ 578 */
579static void 579static void
@@ -623,7 +623,7 @@ bfa_iocfc_disable_cb(void *bfa_arg, bfa_boolean_t compl)
623 complete(&bfad->disable_comp); 623 complete(&bfad->disable_comp);
624} 624}
625 625
626/** 626/*
627 * Update BFA configuration from firmware configuration. 627 * Update BFA configuration from firmware configuration.
628 */ 628 */
629static void 629static void
@@ -634,15 +634,15 @@ bfa_iocfc_cfgrsp(struct bfa_s *bfa)
634 struct bfa_iocfc_fwcfg_s *fwcfg = &cfgrsp->fwcfg; 634 struct bfa_iocfc_fwcfg_s *fwcfg = &cfgrsp->fwcfg;
635 635
636 fwcfg->num_cqs = fwcfg->num_cqs; 636 fwcfg->num_cqs = fwcfg->num_cqs;
637 fwcfg->num_ioim_reqs = bfa_os_ntohs(fwcfg->num_ioim_reqs); 637 fwcfg->num_ioim_reqs = be16_to_cpu(fwcfg->num_ioim_reqs);
638 fwcfg->num_tskim_reqs = bfa_os_ntohs(fwcfg->num_tskim_reqs); 638 fwcfg->num_tskim_reqs = be16_to_cpu(fwcfg->num_tskim_reqs);
639 fwcfg->num_fcxp_reqs = bfa_os_ntohs(fwcfg->num_fcxp_reqs); 639 fwcfg->num_fcxp_reqs = be16_to_cpu(fwcfg->num_fcxp_reqs);
640 fwcfg->num_uf_bufs = bfa_os_ntohs(fwcfg->num_uf_bufs); 640 fwcfg->num_uf_bufs = be16_to_cpu(fwcfg->num_uf_bufs);
641 fwcfg->num_rports = bfa_os_ntohs(fwcfg->num_rports); 641 fwcfg->num_rports = be16_to_cpu(fwcfg->num_rports);
642 642
643 iocfc->cfgdone = BFA_TRUE; 643 iocfc->cfgdone = BFA_TRUE;
644 644
645 /** 645 /*
646 * Configuration is complete - initialize/start submodules 646 * Configuration is complete - initialize/start submodules
647 */ 647 */
648 bfa_fcport_init(bfa); 648 bfa_fcport_init(bfa);
@@ -665,7 +665,7 @@ bfa_iocfc_reset_queues(struct bfa_s *bfa)
665 } 665 }
666} 666}
667 667
668/** 668/*
669 * IOC enable request is complete 669 * IOC enable request is complete
670 */ 670 */
671static void 671static void
@@ -684,7 +684,7 @@ bfa_iocfc_enable_cbfn(void *bfa_arg, enum bfa_status status)
684 bfa_iocfc_send_cfg(bfa); 684 bfa_iocfc_send_cfg(bfa);
685} 685}
686 686
687/** 687/*
688 * IOC disable request is complete 688 * IOC disable request is complete
689 */ 689 */
690static void 690static void
@@ -705,7 +705,7 @@ bfa_iocfc_disable_cbfn(void *bfa_arg)
705 } 705 }
706} 706}
707 707
708/** 708/*
709 * Notify sub-modules of hardware failure. 709 * Notify sub-modules of hardware failure.
710 */ 710 */
711static void 711static void
@@ -723,7 +723,7 @@ bfa_iocfc_hbfail_cbfn(void *bfa_arg)
723 bfa); 723 bfa);
724} 724}
725 725
726/** 726/*
727 * Actions on chip-reset completion. 727 * Actions on chip-reset completion.
728 */ 728 */
729static void 729static void
@@ -735,11 +735,11 @@ bfa_iocfc_reset_cbfn(void *bfa_arg)
735 bfa_isr_enable(bfa); 735 bfa_isr_enable(bfa);
736} 736}
737 737
738/** 738/*
739 * hal_ioc_public 739 * hal_ioc_public
740 */ 740 */
741 741
742/** 742/*
743 * Query IOC memory requirement information. 743 * Query IOC memory requirement information.
744 */ 744 */
745void 745void
@@ -754,7 +754,7 @@ bfa_iocfc_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *km_len,
754 *km_len += bfa_ioc_debug_trcsz(bfa_auto_recover); 754 *km_len += bfa_ioc_debug_trcsz(bfa_auto_recover);
755} 755}
756 756
757/** 757/*
758 * Query IOC memory requirement information. 758 * Query IOC memory requirement information.
759 */ 759 */
760void 760void
@@ -772,7 +772,7 @@ bfa_iocfc_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
772 ioc->trcmod = bfa->trcmod; 772 ioc->trcmod = bfa->trcmod;
773 bfa_ioc_attach(&bfa->ioc, bfa, &bfa_iocfc_cbfn, &bfa->timer_mod); 773 bfa_ioc_attach(&bfa->ioc, bfa, &bfa_iocfc_cbfn, &bfa->timer_mod);
774 774
775 /** 775 /*
776 * Set FC mode for BFA_PCI_DEVICE_ID_CT_FC. 776 * Set FC mode for BFA_PCI_DEVICE_ID_CT_FC.
777 */ 777 */
778 if (pcidev->device_id == BFA_PCI_DEVICE_ID_CT_FC) 778 if (pcidev->device_id == BFA_PCI_DEVICE_ID_CT_FC)
@@ -790,7 +790,7 @@ bfa_iocfc_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
790 INIT_LIST_HEAD(&bfa->reqq_waitq[i]); 790 INIT_LIST_HEAD(&bfa->reqq_waitq[i]);
791} 791}
792 792
793/** 793/*
794 * Query IOC memory requirement information. 794 * Query IOC memory requirement information.
795 */ 795 */
796void 796void
@@ -799,7 +799,7 @@ bfa_iocfc_detach(struct bfa_s *bfa)
799 bfa_ioc_detach(&bfa->ioc); 799 bfa_ioc_detach(&bfa->ioc);
800} 800}
801 801
802/** 802/*
803 * Query IOC memory requirement information. 803 * Query IOC memory requirement information.
804 */ 804 */
805void 805void
@@ -809,7 +809,7 @@ bfa_iocfc_init(struct bfa_s *bfa)
809 bfa_ioc_enable(&bfa->ioc); 809 bfa_ioc_enable(&bfa->ioc);
810} 810}
811 811
812/** 812/*
813 * IOC start called from bfa_start(). Called to start IOC operations 813 * IOC start called from bfa_start(). Called to start IOC operations
814 * at driver instantiation for this instance. 814 * at driver instantiation for this instance.
815 */ 815 */
@@ -820,7 +820,7 @@ bfa_iocfc_start(struct bfa_s *bfa)
820 bfa_iocfc_start_submod(bfa); 820 bfa_iocfc_start_submod(bfa);
821} 821}
822 822
823/** 823/*
824 * IOC stop called from bfa_stop(). Called only when driver is unloaded 824 * IOC stop called from bfa_stop(). Called only when driver is unloaded
825 * for this instance. 825 * for this instance.
826 */ 826 */
@@ -876,12 +876,12 @@ bfa_iocfc_get_attr(struct bfa_s *bfa, struct bfa_iocfc_attr_s *attr)
876 attr->intr_attr.coalesce = iocfc->cfginfo->intr_attr.coalesce; 876 attr->intr_attr.coalesce = iocfc->cfginfo->intr_attr.coalesce;
877 877
878 attr->intr_attr.delay = iocfc->cfginfo->intr_attr.delay ? 878 attr->intr_attr.delay = iocfc->cfginfo->intr_attr.delay ?
879 bfa_os_ntohs(iocfc->cfginfo->intr_attr.delay) : 879 be16_to_cpu(iocfc->cfginfo->intr_attr.delay) :
880 bfa_os_ntohs(iocfc->cfgrsp->intr_attr.delay); 880 be16_to_cpu(iocfc->cfgrsp->intr_attr.delay);
881 881
882 attr->intr_attr.latency = iocfc->cfginfo->intr_attr.latency ? 882 attr->intr_attr.latency = iocfc->cfginfo->intr_attr.latency ?
883 bfa_os_ntohs(iocfc->cfginfo->intr_attr.latency) : 883 be16_to_cpu(iocfc->cfginfo->intr_attr.latency) :
884 bfa_os_ntohs(iocfc->cfgrsp->intr_attr.latency); 884 be16_to_cpu(iocfc->cfgrsp->intr_attr.latency);
885 885
886 attr->config = iocfc->cfg; 886 attr->config = iocfc->cfg;
887} 887}
@@ -893,8 +893,8 @@ bfa_iocfc_israttr_set(struct bfa_s *bfa, struct bfa_iocfc_intr_attr_s *attr)
893 struct bfi_iocfc_set_intr_req_s *m; 893 struct bfi_iocfc_set_intr_req_s *m;
894 894
895 iocfc->cfginfo->intr_attr.coalesce = attr->coalesce; 895 iocfc->cfginfo->intr_attr.coalesce = attr->coalesce;
896 iocfc->cfginfo->intr_attr.delay = bfa_os_htons(attr->delay); 896 iocfc->cfginfo->intr_attr.delay = cpu_to_be16(attr->delay);
897 iocfc->cfginfo->intr_attr.latency = bfa_os_htons(attr->latency); 897 iocfc->cfginfo->intr_attr.latency = cpu_to_be16(attr->latency);
898 898
899 if (!bfa_iocfc_is_operational(bfa)) 899 if (!bfa_iocfc_is_operational(bfa))
900 return BFA_STATUS_OK; 900 return BFA_STATUS_OK;
@@ -924,7 +924,7 @@ bfa_iocfc_set_snsbase(struct bfa_s *bfa, u64 snsbase_pa)
924 iocfc->cfginfo->sense_buf_len = (BFI_IOIM_SNSLEN - 1); 924 iocfc->cfginfo->sense_buf_len = (BFI_IOIM_SNSLEN - 1);
925 bfa_dma_be_addr_set(iocfc->cfginfo->ioim_snsbase, snsbase_pa); 925 bfa_dma_be_addr_set(iocfc->cfginfo->ioim_snsbase, snsbase_pa);
926} 926}
927/** 927/*
928 * Enable IOC after it is disabled. 928 * Enable IOC after it is disabled.
929 */ 929 */
930void 930void
@@ -953,7 +953,7 @@ bfa_iocfc_is_operational(struct bfa_s *bfa)
953 return bfa_ioc_is_operational(&bfa->ioc) && bfa->iocfc.cfgdone; 953 return bfa_ioc_is_operational(&bfa->ioc) && bfa->iocfc.cfgdone;
954} 954}
955 955
956/** 956/*
957 * Return boot target port wwns -- read from boot information in flash. 957 * Return boot target port wwns -- read from boot information in flash.
958 */ 958 */
959void 959void
@@ -998,11 +998,11 @@ bfa_iocfc_get_pbc_vports(struct bfa_s *bfa, struct bfi_pbc_vport_s *pbc_vport)
998 return cfgrsp->pbc_cfg.nvports; 998 return cfgrsp->pbc_cfg.nvports;
999} 999}
1000 1000
1001/** 1001/*
1002 * hal_api 1002 * hal_api
1003 */ 1003 */
1004 1004
1005/** 1005/*
1006 * Use this function query the memory requirement of the BFA library. 1006 * Use this function query the memory requirement of the BFA library.
1007 * This function needs to be called before bfa_attach() to get the 1007 * This function needs to be called before bfa_attach() to get the
1008 * memory required of the BFA layer for a given driver configuration. 1008 * memory required of the BFA layer for a given driver configuration.
@@ -1038,7 +1038,7 @@ bfa_cfg_get_meminfo(struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo)
1038 1038
1039 bfa_assert((cfg != NULL) && (meminfo != NULL)); 1039 bfa_assert((cfg != NULL) && (meminfo != NULL));
1040 1040
1041 bfa_os_memset((void *)meminfo, 0, sizeof(struct bfa_meminfo_s)); 1041 memset((void *)meminfo, 0, sizeof(struct bfa_meminfo_s));
1042 meminfo->meminfo[BFA_MEM_TYPE_KVA - 1].mem_type = 1042 meminfo->meminfo[BFA_MEM_TYPE_KVA - 1].mem_type =
1043 BFA_MEM_TYPE_KVA; 1043 BFA_MEM_TYPE_KVA;
1044 meminfo->meminfo[BFA_MEM_TYPE_DMA - 1].mem_type = 1044 meminfo->meminfo[BFA_MEM_TYPE_DMA - 1].mem_type =
@@ -1055,7 +1055,7 @@ bfa_cfg_get_meminfo(struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo)
1055 meminfo->meminfo[BFA_MEM_TYPE_DMA - 1].mem_len = dm_len; 1055 meminfo->meminfo[BFA_MEM_TYPE_DMA - 1].mem_len = dm_len;
1056} 1056}
1057 1057
1058/** 1058/*
1059 * Use this function to do attach the driver instance with the BFA 1059 * Use this function to do attach the driver instance with the BFA
1060 * library. This function will not trigger any HW initialization 1060 * library. This function will not trigger any HW initialization
1061 * process (which will be done in bfa_init() call) 1061 * process (which will be done in bfa_init() call)
@@ -1092,7 +1092,7 @@ bfa_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
1092 1092
1093 bfa_assert((cfg != NULL) && (meminfo != NULL)); 1093 bfa_assert((cfg != NULL) && (meminfo != NULL));
1094 1094
1095 /** 1095 /*
1096 * initialize all memory pointers for iterative allocation 1096 * initialize all memory pointers for iterative allocation
1097 */ 1097 */
1098 for (i = 0; i < BFA_MEM_TYPE_MAX; i++) { 1098 for (i = 0; i < BFA_MEM_TYPE_MAX; i++) {
@@ -1109,7 +1109,7 @@ bfa_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
1109 bfa_com_port_attach(bfa, meminfo); 1109 bfa_com_port_attach(bfa, meminfo);
1110} 1110}
1111 1111
1112/** 1112/*
1113 * Use this function to delete a BFA IOC. IOC should be stopped (by 1113 * Use this function to delete a BFA IOC. IOC should be stopped (by
1114 * calling bfa_stop()) before this function call. 1114 * calling bfa_stop()) before this function call.
1115 * 1115 *
@@ -1146,7 +1146,7 @@ bfa_init_plog(struct bfa_s *bfa, struct bfa_plog_s *plog)
1146 bfa->plog = plog; 1146 bfa->plog = plog;
1147} 1147}
1148 1148
1149/** 1149/*
1150 * Initialize IOC. 1150 * Initialize IOC.
1151 * 1151 *
1152 * This function will return immediately, when the IOC initialization is 1152 * This function will return immediately, when the IOC initialization is
@@ -1169,7 +1169,7 @@ bfa_init(struct bfa_s *bfa)
1169 bfa_iocfc_init(bfa); 1169 bfa_iocfc_init(bfa);
1170} 1170}
1171 1171
1172/** 1172/*
1173 * Use this function initiate the IOC configuration setup. This function 1173 * Use this function initiate the IOC configuration setup. This function
1174 * will return immediately. 1174 * will return immediately.
1175 * 1175 *
@@ -1183,7 +1183,7 @@ bfa_start(struct bfa_s *bfa)
1183 bfa_iocfc_start(bfa); 1183 bfa_iocfc_start(bfa);
1184} 1184}
1185 1185
1186/** 1186/*
1187 * Use this function quiese the IOC. This function will return immediately, 1187 * Use this function quiese the IOC. This function will return immediately,
1188 * when the IOC is actually stopped, the bfad->comp will be set. 1188 * when the IOC is actually stopped, the bfad->comp will be set.
1189 * 1189 *
@@ -1243,7 +1243,7 @@ bfa_attach_fcs(struct bfa_s *bfa)
1243 bfa->fcs = BFA_TRUE; 1243 bfa->fcs = BFA_TRUE;
1244} 1244}
1245 1245
1246/** 1246/*
1247 * Periodic timer heart beat from driver 1247 * Periodic timer heart beat from driver
1248 */ 1248 */
1249void 1249void
@@ -1252,7 +1252,7 @@ bfa_timer_tick(struct bfa_s *bfa)
1252 bfa_timer_beat(&bfa->timer_mod); 1252 bfa_timer_beat(&bfa->timer_mod);
1253} 1253}
1254 1254
1255/** 1255/*
1256 * Return the list of PCI vendor/device id lists supported by this 1256 * Return the list of PCI vendor/device id lists supported by this
1257 * BFA instance. 1257 * BFA instance.
1258 */ 1258 */
@@ -1270,7 +1270,7 @@ bfa_get_pciids(struct bfa_pciid_s **pciids, int *npciids)
1270 *pciids = __pciids; 1270 *pciids = __pciids;
1271} 1271}
1272 1272
1273/** 1273/*
1274 * Use this function query the default struct bfa_iocfc_cfg_s value (compiled 1274 * Use this function query the default struct bfa_iocfc_cfg_s value (compiled
1275 * into BFA layer). The OS driver can then turn back and overwrite entries that 1275 * into BFA layer). The OS driver can then turn back and overwrite entries that
1276 * have been configured by the user. 1276 * have been configured by the user.
@@ -1328,7 +1328,7 @@ bfa_get_attr(struct bfa_s *bfa, struct bfa_ioc_attr_s *ioc_attr)
1328 bfa_ioc_get_attr(&bfa->ioc, ioc_attr); 1328 bfa_ioc_get_attr(&bfa->ioc, ioc_attr);
1329} 1329}
1330 1330
1331/** 1331/*
1332 * Retrieve firmware trace information on IOC failure. 1332 * Retrieve firmware trace information on IOC failure.
1333 */ 1333 */
1334bfa_status_t 1334bfa_status_t
@@ -1337,7 +1337,7 @@ bfa_debug_fwsave(struct bfa_s *bfa, void *trcdata, int *trclen)
1337 return bfa_ioc_debug_fwsave(&bfa->ioc, trcdata, trclen); 1337 return bfa_ioc_debug_fwsave(&bfa->ioc, trcdata, trclen);
1338} 1338}
1339 1339
1340/** 1340/*
1341 * Clear the saved firmware trace information of an IOC. 1341 * Clear the saved firmware trace information of an IOC.
1342 */ 1342 */
1343void 1343void
@@ -1346,7 +1346,7 @@ bfa_debug_fwsave_clear(struct bfa_s *bfa)
1346 bfa_ioc_debug_fwsave_clear(&bfa->ioc); 1346 bfa_ioc_debug_fwsave_clear(&bfa->ioc);
1347} 1347}
1348 1348
1349/** 1349/*
1350 * Fetch firmware trace data. 1350 * Fetch firmware trace data.
1351 * 1351 *
1352 * @param[in] bfa BFA instance 1352 * @param[in] bfa BFA instance
@@ -1362,7 +1362,7 @@ bfa_debug_fwtrc(struct bfa_s *bfa, void *trcdata, int *trclen)
1362 return bfa_ioc_debug_fwtrc(&bfa->ioc, trcdata, trclen); 1362 return bfa_ioc_debug_fwtrc(&bfa->ioc, trcdata, trclen);
1363} 1363}
1364 1364
1365/** 1365/*
1366 * Dump firmware memory. 1366 * Dump firmware memory.
1367 * 1367 *
1368 * @param[in] bfa BFA instance 1368 * @param[in] bfa BFA instance
@@ -1378,7 +1378,7 @@ bfa_debug_fwcore(struct bfa_s *bfa, void *buf, u32 *offset, int *buflen)
1378{ 1378{
1379 return bfa_ioc_debug_fwcore(&bfa->ioc, buf, offset, buflen); 1379 return bfa_ioc_debug_fwcore(&bfa->ioc, buf, offset, buflen);
1380} 1380}
1381/** 1381/*
1382 * Reset hw semaphore & usage cnt regs and initialize. 1382 * Reset hw semaphore & usage cnt regs and initialize.
1383 */ 1383 */
1384void 1384void
@@ -1388,7 +1388,7 @@ bfa_chip_reset(struct bfa_s *bfa)
1388 bfa_ioc_pll_init(&bfa->ioc); 1388 bfa_ioc_pll_init(&bfa->ioc);
1389} 1389}
1390 1390
1391/** 1391/*
1392 * Fetch firmware statistics data. 1392 * Fetch firmware statistics data.
1393 * 1393 *
1394 * @param[in] bfa BFA instance 1394 * @param[in] bfa BFA instance
diff --git a/drivers/scsi/bfa/bfa_cs.h b/drivers/scsi/bfa/bfa_cs.h
index 7260c74620f8..99f242b9aa31 100644
--- a/drivers/scsi/bfa/bfa_cs.h
+++ b/drivers/scsi/bfa/bfa_cs.h
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * bfa_cs.h BFA common services 19 * bfa_cs.h BFA common services
20 */ 20 */
21 21
@@ -24,7 +24,7 @@
24 24
25#include "bfa_os_inc.h" 25#include "bfa_os_inc.h"
26 26
27/** 27/*
28 * BFA TRC 28 * BFA TRC
29 */ 29 */
30 30
@@ -73,7 +73,7 @@ enum {
73#define BFA_TRC_MOD_SH 10 73#define BFA_TRC_MOD_SH 10
74#define BFA_TRC_MOD(__mod) ((BFA_TRC_ ## __mod) << BFA_TRC_MOD_SH) 74#define BFA_TRC_MOD(__mod) ((BFA_TRC_ ## __mod) << BFA_TRC_MOD_SH)
75 75
76/** 76/*
77 * Define a new tracing file (module). Module should match one defined above. 77 * Define a new tracing file (module). Module should match one defined above.
78 */ 78 */
79#define BFA_TRC_FILE(__mod, __submod) \ 79#define BFA_TRC_FILE(__mod, __submod) \
@@ -155,7 +155,7 @@ __bfa_trc32(struct bfa_trc_mod_s *trcm, int fileno, int line, u32 data)
155#define bfa_trc_fp(_trcp, _data) 155#define bfa_trc_fp(_trcp, _data)
156#endif 156#endif
157 157
158/** 158/*
159 * @ BFA LOG interfaces 159 * @ BFA LOG interfaces
160 */ 160 */
161#define bfa_assert(__cond) do { \ 161#define bfa_assert(__cond) do { \
@@ -249,13 +249,13 @@ bfa_q_is_on_q_func(struct list_head *q, struct list_head *qe)
249#define bfa_q_is_on_q(_q, _qe) \ 249#define bfa_q_is_on_q(_q, _qe) \
250 bfa_q_is_on_q_func(_q, (struct list_head *)(_qe)) 250 bfa_q_is_on_q_func(_q, (struct list_head *)(_qe))
251 251
252/** 252/*
253 * @ BFA state machine interfaces 253 * @ BFA state machine interfaces
254 */ 254 */
255 255
256typedef void (*bfa_sm_t)(void *sm, int event); 256typedef void (*bfa_sm_t)(void *sm, int event);
257 257
258/** 258/*
259 * oc - object class eg. bfa_ioc 259 * oc - object class eg. bfa_ioc
260 * st - state, eg. reset 260 * st - state, eg. reset
261 * otype - object type, eg. struct bfa_ioc_s 261 * otype - object type, eg. struct bfa_ioc_s
@@ -269,7 +269,7 @@ typedef void (*bfa_sm_t)(void *sm, int event);
269#define bfa_sm_get_state(_sm) ((_sm)->sm) 269#define bfa_sm_get_state(_sm) ((_sm)->sm)
270#define bfa_sm_cmp_state(_sm, _state) ((_sm)->sm == (bfa_sm_t)(_state)) 270#define bfa_sm_cmp_state(_sm, _state) ((_sm)->sm == (bfa_sm_t)(_state))
271 271
272/** 272/*
273 * For converting from state machine function to state encoding. 273 * For converting from state machine function to state encoding.
274 */ 274 */
275struct bfa_sm_table_s { 275struct bfa_sm_table_s {
@@ -279,12 +279,12 @@ struct bfa_sm_table_s {
279}; 279};
280#define BFA_SM(_sm) ((bfa_sm_t)(_sm)) 280#define BFA_SM(_sm) ((bfa_sm_t)(_sm))
281 281
282/** 282/*
283 * State machine with entry actions. 283 * State machine with entry actions.
284 */ 284 */
285typedef void (*bfa_fsm_t)(void *fsm, int event); 285typedef void (*bfa_fsm_t)(void *fsm, int event);
286 286
287/** 287/*
288 * oc - object class eg. bfa_ioc 288 * oc - object class eg. bfa_ioc
289 * st - state, eg. reset 289 * st - state, eg. reset
290 * otype - object type, eg. struct bfa_ioc_s 290 * otype - object type, eg. struct bfa_ioc_s
@@ -314,7 +314,7 @@ bfa_sm_to_state(struct bfa_sm_table_s *smt, bfa_sm_t sm)
314 return smt[i].state; 314 return smt[i].state;
315} 315}
316 316
317/** 317/*
318 * @ Generic wait counter. 318 * @ Generic wait counter.
319 */ 319 */
320 320
@@ -340,7 +340,7 @@ bfa_wc_down(struct bfa_wc_s *wc)
340 wc->wc_resume(wc->wc_cbarg); 340 wc->wc_resume(wc->wc_cbarg);
341} 341}
342 342
343/** 343/*
344 * Initialize a waiting counter. 344 * Initialize a waiting counter.
345 */ 345 */
346static inline void 346static inline void
@@ -352,7 +352,7 @@ bfa_wc_init(struct bfa_wc_s *wc, bfa_wc_resume_t wc_resume, void *wc_cbarg)
352 bfa_wc_up(wc); 352 bfa_wc_up(wc);
353} 353}
354 354
355/** 355/*
356 * Wait for counter to reach zero 356 * Wait for counter to reach zero
357 */ 357 */
358static inline void 358static inline void
diff --git a/drivers/scsi/bfa/bfa_defs.h b/drivers/scsi/bfa/bfa_defs.h
index d49877ff5140..4b5b9e35abb9 100644
--- a/drivers/scsi/bfa/bfa_defs.h
+++ b/drivers/scsi/bfa/bfa_defs.h
@@ -24,7 +24,7 @@
24#define BFA_MFG_SERIALNUM_SIZE 11 24#define BFA_MFG_SERIALNUM_SIZE 11
25#define STRSZ(_n) (((_n) + 4) & ~3) 25#define STRSZ(_n) (((_n) + 4) & ~3)
26 26
27/** 27/*
28 * Manufacturing card type 28 * Manufacturing card type
29 */ 29 */
30enum { 30enum {
@@ -45,7 +45,7 @@ enum {
45 45
46#pragma pack(1) 46#pragma pack(1)
47 47
48/** 48/*
49 * Check if Mezz card 49 * Check if Mezz card
50 */ 50 */
51#define bfa_mfg_is_mezz(type) (( \ 51#define bfa_mfg_is_mezz(type) (( \
@@ -55,7 +55,7 @@ enum {
55 (type) == BFA_MFG_TYPE_LIGHTNING_P0 || \ 55 (type) == BFA_MFG_TYPE_LIGHTNING_P0 || \
56 (type) == BFA_MFG_TYPE_LIGHTNING)) 56 (type) == BFA_MFG_TYPE_LIGHTNING))
57 57
58/** 58/*
59 * Check if the card having old wwn/mac handling 59 * Check if the card having old wwn/mac handling
60 */ 60 */
61#define bfa_mfg_is_old_wwn_mac_model(type) (( \ 61#define bfa_mfg_is_old_wwn_mac_model(type) (( \
@@ -78,12 +78,12 @@ do { \
78 (m)[2] = t & 0xFF; \ 78 (m)[2] = t & 0xFF; \
79} while (0) 79} while (0)
80 80
81/** 81/*
82 * VPD data length 82 * VPD data length
83 */ 83 */
84#define BFA_MFG_VPD_LEN 512 84#define BFA_MFG_VPD_LEN 512
85 85
86/** 86/*
87 * VPD vendor tag 87 * VPD vendor tag
88 */ 88 */
89enum { 89enum {
@@ -97,7 +97,7 @@ enum {
97 BFA_MFG_VPD_PCI_BRCD = 0xf8, /* PCI VPD Brocade */ 97 BFA_MFG_VPD_PCI_BRCD = 0xf8, /* PCI VPD Brocade */
98}; 98};
99 99
100/** 100/*
101 * All numerical fields are in big-endian format. 101 * All numerical fields are in big-endian format.
102 */ 102 */
103struct bfa_mfg_vpd_s { 103struct bfa_mfg_vpd_s {
@@ -112,7 +112,7 @@ struct bfa_mfg_vpd_s {
112 112
113#pragma pack() 113#pragma pack()
114 114
115/** 115/*
116 * Status return values 116 * Status return values
117 */ 117 */
118enum bfa_status { 118enum bfa_status {
@@ -167,11 +167,11 @@ enum bfa_boolean {
167#define BFA_STRING_32 32 167#define BFA_STRING_32 32
168#define BFA_VERSION_LEN 64 168#define BFA_VERSION_LEN 64
169 169
170/** 170/*
171 * ---------------------- adapter definitions ------------ 171 * ---------------------- adapter definitions ------------
172 */ 172 */
173 173
174/** 174/*
175 * BFA adapter level attributes. 175 * BFA adapter level attributes.
176 */ 176 */
177enum { 177enum {
@@ -215,7 +215,7 @@ struct bfa_adapter_attr_s {
215 u8 trunk_capable; 215 u8 trunk_capable;
216}; 216};
217 217
218/** 218/*
219 * ---------------------- IOC definitions ------------ 219 * ---------------------- IOC definitions ------------
220 */ 220 */
221 221
@@ -224,7 +224,7 @@ enum {
224 BFA_IOC_CHIP_REV_LEN = 8, 224 BFA_IOC_CHIP_REV_LEN = 8,
225}; 225};
226 226
227/** 227/*
228 * Driver and firmware versions. 228 * Driver and firmware versions.
229 */ 229 */
230struct bfa_ioc_driver_attr_s { 230struct bfa_ioc_driver_attr_s {
@@ -236,7 +236,7 @@ struct bfa_ioc_driver_attr_s {
236 char ob_ver[BFA_VERSION_LEN]; /* openboot version */ 236 char ob_ver[BFA_VERSION_LEN]; /* openboot version */
237}; 237};
238 238
239/** 239/*
240 * IOC PCI device attributes 240 * IOC PCI device attributes
241 */ 241 */
242struct bfa_ioc_pci_attr_s { 242struct bfa_ioc_pci_attr_s {
@@ -249,7 +249,7 @@ struct bfa_ioc_pci_attr_s {
249 char chip_rev[BFA_IOC_CHIP_REV_LEN]; /* chip revision */ 249 char chip_rev[BFA_IOC_CHIP_REV_LEN]; /* chip revision */
250}; 250};
251 251
252/** 252/*
253 * IOC states 253 * IOC states
254 */ 254 */
255enum bfa_ioc_state { 255enum bfa_ioc_state {
@@ -267,7 +267,7 @@ enum bfa_ioc_state {
267 BFA_IOC_ENABLING = 12, /* IOC is being enabled */ 267 BFA_IOC_ENABLING = 12, /* IOC is being enabled */
268}; 268};
269 269
270/** 270/*
271 * IOC firmware stats 271 * IOC firmware stats
272 */ 272 */
273struct bfa_fw_ioc_stats_s { 273struct bfa_fw_ioc_stats_s {
@@ -279,7 +279,7 @@ struct bfa_fw_ioc_stats_s {
279 u32 unknown_reqs; 279 u32 unknown_reqs;
280}; 280};
281 281
282/** 282/*
283 * IOC driver stats 283 * IOC driver stats
284 */ 284 */
285struct bfa_ioc_drv_stats_s { 285struct bfa_ioc_drv_stats_s {
@@ -296,7 +296,7 @@ struct bfa_ioc_drv_stats_s {
296 u32 enable_replies; 296 u32 enable_replies;
297}; 297};
298 298
299/** 299/*
300 * IOC statistics 300 * IOC statistics
301 */ 301 */
302struct bfa_ioc_stats_s { 302struct bfa_ioc_stats_s {
@@ -310,7 +310,7 @@ enum bfa_ioc_type_e {
310 BFA_IOC_TYPE_LL = 3, 310 BFA_IOC_TYPE_LL = 3,
311}; 311};
312 312
313/** 313/*
314 * IOC attributes returned in queries 314 * IOC attributes returned in queries
315 */ 315 */
316struct bfa_ioc_attr_s { 316struct bfa_ioc_attr_s {
@@ -323,11 +323,11 @@ struct bfa_ioc_attr_s {
323 u8 rsvd[7]; /* 64bit align */ 323 u8 rsvd[7]; /* 64bit align */
324}; 324};
325 325
326/** 326/*
327 * ---------------------- mfg definitions ------------ 327 * ---------------------- mfg definitions ------------
328 */ 328 */
329 329
330/** 330/*
331 * Checksum size 331 * Checksum size
332 */ 332 */
333#define BFA_MFG_CHKSUM_SIZE 16 333#define BFA_MFG_CHKSUM_SIZE 16
@@ -340,7 +340,7 @@ struct bfa_ioc_attr_s {
340 340
341#pragma pack(1) 341#pragma pack(1)
342 342
343/** 343/*
344 * All numerical fields are in big-endian format. 344 * All numerical fields are in big-endian format.
345 */ 345 */
346struct bfa_mfg_block_s { 346struct bfa_mfg_block_s {
@@ -373,11 +373,11 @@ struct bfa_mfg_block_s {
373 373
374#pragma pack() 374#pragma pack()
375 375
376/** 376/*
377 * ---------------------- pci definitions ------------ 377 * ---------------------- pci definitions ------------
378 */ 378 */
379 379
380/** 380/*
381 * PCI device and vendor ID information 381 * PCI device and vendor ID information
382 */ 382 */
383enum { 383enum {
@@ -392,14 +392,14 @@ enum {
392 ((devid) == BFA_PCI_DEVICE_ID_CT || \ 392 ((devid) == BFA_PCI_DEVICE_ID_CT || \
393 (devid) == BFA_PCI_DEVICE_ID_CT_FC) 393 (devid) == BFA_PCI_DEVICE_ID_CT_FC)
394 394
395/** 395/*
396 * PCI sub-system device and vendor ID information 396 * PCI sub-system device and vendor ID information
397 */ 397 */
398enum { 398enum {
399 BFA_PCI_FCOE_SSDEVICE_ID = 0x14, 399 BFA_PCI_FCOE_SSDEVICE_ID = 0x14,
400}; 400};
401 401
402/** 402/*
403 * Maximum number of device address ranges mapped through different BAR(s) 403 * Maximum number of device address ranges mapped through different BAR(s)
404 */ 404 */
405#define BFA_PCI_ACCESS_RANGES 1 405#define BFA_PCI_ACCESS_RANGES 1
@@ -430,7 +430,7 @@ enum {
430#define BOOT_CFG_REV1 1 430#define BOOT_CFG_REV1 1
431#define BOOT_CFG_VLAN 1 431#define BOOT_CFG_VLAN 1
432 432
433/** 433/*
434 * Boot options setting. Boot options setting determines from where 434 * Boot options setting. Boot options setting determines from where
435 * to get the boot lun information 435 * to get the boot lun information
436 */ 436 */
@@ -442,7 +442,7 @@ enum bfa_boot_bootopt {
442}; 442};
443 443
444#pragma pack(1) 444#pragma pack(1)
445/** 445/*
446 * Boot lun information. 446 * Boot lun information.
447 */ 447 */
448struct bfa_boot_bootlun_s { 448struct bfa_boot_bootlun_s {
@@ -451,7 +451,7 @@ struct bfa_boot_bootlun_s {
451}; 451};
452#pragma pack() 452#pragma pack()
453 453
454/** 454/*
455 * BOOT boot configuraton 455 * BOOT boot configuraton
456 */ 456 */
457struct bfa_boot_pbc_s { 457struct bfa_boot_pbc_s {
diff --git a/drivers/scsi/bfa/bfa_defs_fcs.h b/drivers/scsi/bfa/bfa_defs_fcs.h
index 96905d301828..191d34a58b9c 100644
--- a/drivers/scsi/bfa/bfa_defs_fcs.h
+++ b/drivers/scsi/bfa/bfa_defs_fcs.h
@@ -21,7 +21,7 @@
21#include "bfa_fc.h" 21#include "bfa_fc.h"
22#include "bfa_defs_svc.h" 22#include "bfa_defs_svc.h"
23 23
24/** 24/*
25 * VF states 25 * VF states
26 */ 26 */
27enum bfa_vf_state { 27enum bfa_vf_state {
@@ -35,7 +35,7 @@ enum bfa_vf_state {
35 BFA_VF_ISOLATED = 7, /* port isolated due to vf_id mismatch */ 35 BFA_VF_ISOLATED = 7, /* port isolated due to vf_id mismatch */
36}; 36};
37 37
38/** 38/*
39 * VF statistics 39 * VF statistics
40 */ 40 */
41struct bfa_vf_stats_s { 41struct bfa_vf_stats_s {
@@ -55,7 +55,7 @@ struct bfa_vf_stats_s {
55 u32 resvd; /* padding for 64 bit alignment */ 55 u32 resvd; /* padding for 64 bit alignment */
56}; 56};
57 57
58/** 58/*
59 * VF attributes returned in queries 59 * VF attributes returned in queries
60 */ 60 */
61struct bfa_vf_attr_s { 61struct bfa_vf_attr_s {
@@ -67,7 +67,7 @@ struct bfa_vf_attr_s {
67#define BFA_FCS_MAX_LPORTS 256 67#define BFA_FCS_MAX_LPORTS 256
68#define BFA_FCS_FABRIC_IPADDR_SZ 16 68#define BFA_FCS_FABRIC_IPADDR_SZ 16
69 69
70/** 70/*
71 * symbolic names for base port/virtual port 71 * symbolic names for base port/virtual port
72 */ 72 */
73#define BFA_SYMNAME_MAXLEN 128 /* 128 bytes */ 73#define BFA_SYMNAME_MAXLEN 128 /* 128 bytes */
@@ -75,7 +75,7 @@ struct bfa_lport_symname_s {
75 char symname[BFA_SYMNAME_MAXLEN]; 75 char symname[BFA_SYMNAME_MAXLEN];
76}; 76};
77 77
78/** 78/*
79* Roles of FCS port: 79* Roles of FCS port:
80 * - FCP IM and FCP TM roles cannot be enabled together for a FCS port 80 * - FCP IM and FCP TM roles cannot be enabled together for a FCS port
81 * - Create multiple ports if both IM and TM functions required. 81 * - Create multiple ports if both IM and TM functions required.
@@ -86,19 +86,19 @@ enum bfa_lport_role {
86 BFA_LPORT_ROLE_FCP_MAX = BFA_LPORT_ROLE_FCP_IM, 86 BFA_LPORT_ROLE_FCP_MAX = BFA_LPORT_ROLE_FCP_IM,
87}; 87};
88 88
89/** 89/*
90 * FCS port configuration. 90 * FCS port configuration.
91 */ 91 */
92struct bfa_lport_cfg_s { 92struct bfa_lport_cfg_s {
93 wwn_t pwwn; /* port wwn */ 93 wwn_t pwwn; /* port wwn */
94 wwn_t nwwn; /* node wwn */ 94 wwn_t nwwn; /* node wwn */
95 struct bfa_lport_symname_s sym_name; /* vm port symbolic name */ 95 struct bfa_lport_symname_s sym_name; /* vm port symbolic name */
96 bfa_boolean_t preboot_vp; /* vport created from PBC */ 96 bfa_boolean_t preboot_vp; /* vport created from PBC */
97 enum bfa_lport_role roles; /* FCS port roles */ 97 enum bfa_lport_role roles; /* FCS port roles */
98 u8 tag[16]; /* opaque tag from application */ 98 u8 tag[16]; /* opaque tag from application */
99}; 99};
100 100
101/** 101/*
102 * FCS port states 102 * FCS port states
103 */ 103 */
104enum bfa_lport_state { 104enum bfa_lport_state {
@@ -108,7 +108,7 @@ enum bfa_lport_state {
108 BFA_LPORT_OFFLINE = 3, /* No login to fabric */ 108 BFA_LPORT_OFFLINE = 3, /* No login to fabric */
109}; 109};
110 110
111/** 111/*
112 * FCS port type. 112 * FCS port type.
113 */ 113 */
114enum bfa_lport_type { 114enum bfa_lport_type {
@@ -116,7 +116,7 @@ enum bfa_lport_type {
116 BFA_LPORT_TYPE_VIRTUAL, 116 BFA_LPORT_TYPE_VIRTUAL,
117}; 117};
118 118
119/** 119/*
120 * FCS port offline reason. 120 * FCS port offline reason.
121 */ 121 */
122enum bfa_lport_offline_reason { 122enum bfa_lport_offline_reason {
@@ -128,7 +128,7 @@ enum bfa_lport_offline_reason {
128 BFA_LPORT_OFFLINE_FAB_LOGOUT, 128 BFA_LPORT_OFFLINE_FAB_LOGOUT,
129}; 129};
130 130
131/** 131/*
132 * FCS lport info. 132 * FCS lport info.
133 */ 133 */
134struct bfa_lport_info_s { 134struct bfa_lport_info_s {
@@ -150,7 +150,7 @@ struct bfa_lport_info_s {
150 150
151}; 151};
152 152
153/** 153/*
154 * FCS port statistics 154 * FCS port statistics
155 */ 155 */
156struct bfa_lport_stats_s { 156struct bfa_lport_stats_s {
@@ -222,7 +222,7 @@ struct bfa_lport_stats_s {
222 * (max retry of plogi) */ 222 * (max retry of plogi) */
223}; 223};
224 224
225/** 225/*
226 * BFA port attribute returned in queries 226 * BFA port attribute returned in queries
227 */ 227 */
228struct bfa_lport_attr_s { 228struct bfa_lport_attr_s {
@@ -239,7 +239,7 @@ struct bfa_lport_attr_s {
239}; 239};
240 240
241 241
242/** 242/*
243 * VPORT states 243 * VPORT states
244 */ 244 */
245enum bfa_vport_state { 245enum bfa_vport_state {
@@ -258,7 +258,7 @@ enum bfa_vport_state {
258 BFA_FCS_VPORT_MAX_STATE, 258 BFA_FCS_VPORT_MAX_STATE,
259}; 259};
260 260
261/** 261/*
262 * vport statistics 262 * vport statistics
263 */ 263 */
264struct bfa_vport_stats_s { 264struct bfa_vport_stats_s {
@@ -296,7 +296,7 @@ struct bfa_vport_stats_s {
296 u32 rsvd; 296 u32 rsvd;
297}; 297};
298 298
299/** 299/*
300 * BFA vport attribute returned in queries 300 * BFA vport attribute returned in queries
301 */ 301 */
302struct bfa_vport_attr_s { 302struct bfa_vport_attr_s {
@@ -305,7 +305,7 @@ struct bfa_vport_attr_s {
305 u32 rsvd; 305 u32 rsvd;
306}; 306};
307 307
308/** 308/*
309 * FCS remote port states 309 * FCS remote port states
310 */ 310 */
311enum bfa_rport_state { 311enum bfa_rport_state {
@@ -321,7 +321,7 @@ enum bfa_rport_state {
321 BFA_RPORT_NSDISC = 9, /* re-discover rport */ 321 BFA_RPORT_NSDISC = 9, /* re-discover rport */
322}; 322};
323 323
324/** 324/*
325 * Rport Scsi Function : Initiator/Target. 325 * Rport Scsi Function : Initiator/Target.
326 */ 326 */
327enum bfa_rport_function { 327enum bfa_rport_function {
@@ -329,7 +329,7 @@ enum bfa_rport_function {
329 BFA_RPORT_TARGET = 0x02, /* SCSI Target */ 329 BFA_RPORT_TARGET = 0x02, /* SCSI Target */
330}; 330};
331 331
332/** 332/*
333 * port/node symbolic names for rport 333 * port/node symbolic names for rport
334 */ 334 */
335#define BFA_RPORT_SYMNAME_MAXLEN 255 335#define BFA_RPORT_SYMNAME_MAXLEN 255
@@ -337,7 +337,7 @@ struct bfa_rport_symname_s {
337 char symname[BFA_RPORT_SYMNAME_MAXLEN]; 337 char symname[BFA_RPORT_SYMNAME_MAXLEN];
338}; 338};
339 339
340/** 340/*
341 * FCS remote port statistics 341 * FCS remote port statistics
342 */ 342 */
343struct bfa_rport_stats_s { 343struct bfa_rport_stats_s {
@@ -374,7 +374,7 @@ struct bfa_rport_stats_s {
374 struct bfa_rport_hal_stats_s hal_stats; /* BFA rport stats */ 374 struct bfa_rport_hal_stats_s hal_stats; /* BFA rport stats */
375}; 375};
376 376
377/** 377/*
378 * FCS remote port attributes returned in queries 378 * FCS remote port attributes returned in queries
379 */ 379 */
380struct bfa_rport_attr_s { 380struct bfa_rport_attr_s {
@@ -411,7 +411,7 @@ struct bfa_rport_remote_link_stats_s {
411#define BFA_MAX_IO_INDEX 7 411#define BFA_MAX_IO_INDEX 7
412#define BFA_NO_IO_INDEX 9 412#define BFA_NO_IO_INDEX 9
413 413
414/** 414/*
415 * FCS itnim states 415 * FCS itnim states
416 */ 416 */
417enum bfa_itnim_state { 417enum bfa_itnim_state {
@@ -425,7 +425,7 @@ enum bfa_itnim_state {
425 BFA_ITNIM_INITIATIOR = 7, /* initiator */ 425 BFA_ITNIM_INITIATIOR = 7, /* initiator */
426}; 426};
427 427
428/** 428/*
429 * FCS remote port statistics 429 * FCS remote port statistics
430 */ 430 */
431struct bfa_itnim_stats_s { 431struct bfa_itnim_stats_s {
@@ -443,7 +443,7 @@ struct bfa_itnim_stats_s {
443 u32 rsvd; /* padding for 64 bit alignment */ 443 u32 rsvd; /* padding for 64 bit alignment */
444}; 444};
445 445
446/** 446/*
447 * FCS itnim attributes returned in queries 447 * FCS itnim attributes returned in queries
448 */ 448 */
449struct bfa_itnim_attr_s { 449struct bfa_itnim_attr_s {
diff --git a/drivers/scsi/bfa/bfa_defs_svc.h b/drivers/scsi/bfa/bfa_defs_svc.h
index 56226fcf9470..e24e9f7ca81f 100644
--- a/drivers/scsi/bfa/bfa_defs_svc.h
+++ b/drivers/scsi/bfa/bfa_defs_svc.h
@@ -27,7 +27,7 @@
27#define BFA_IOCFCOE_INTR_DELAY 25 27#define BFA_IOCFCOE_INTR_DELAY 25
28#define BFA_IOCFCOE_INTR_LATENCY 5 28#define BFA_IOCFCOE_INTR_LATENCY 5
29 29
30/** 30/*
31 * Interrupt coalescing configuration. 31 * Interrupt coalescing configuration.
32 */ 32 */
33#pragma pack(1) 33#pragma pack(1)
@@ -38,7 +38,7 @@ struct bfa_iocfc_intr_attr_s {
38 u16 delay; /* delay in microseconds */ 38 u16 delay; /* delay in microseconds */
39}; 39};
40 40
41/** 41/*
42 * IOC firmware configuraton 42 * IOC firmware configuraton
43 */ 43 */
44struct bfa_iocfc_fwcfg_s { 44struct bfa_iocfc_fwcfg_s {
@@ -71,7 +71,7 @@ struct bfa_iocfc_drvcfg_s {
71 u32 rsvd; 71 u32 rsvd;
72}; 72};
73 73
74/** 74/*
75 * IOC configuration 75 * IOC configuration
76 */ 76 */
77struct bfa_iocfc_cfg_s { 77struct bfa_iocfc_cfg_s {
@@ -79,7 +79,7 @@ struct bfa_iocfc_cfg_s {
79 struct bfa_iocfc_drvcfg_s drvcfg; /* driver side config */ 79 struct bfa_iocfc_drvcfg_s drvcfg; /* driver side config */
80}; 80};
81 81
82/** 82/*
83 * IOC firmware IO stats 83 * IOC firmware IO stats
84 */ 84 */
85struct bfa_fw_io_stats_s { 85struct bfa_fw_io_stats_s {
@@ -152,7 +152,7 @@ struct bfa_fw_io_stats_s {
152 */ 152 */
153}; 153};
154 154
155/** 155/*
156 * IOC port firmware stats 156 * IOC port firmware stats
157 */ 157 */
158 158
@@ -262,7 +262,7 @@ struct bfa_fw_fcoe_stats_s {
262 u32 mac_invalids; /* Invalid mac assigned */ 262 u32 mac_invalids; /* Invalid mac assigned */
263}; 263};
264 264
265/** 265/*
266 * IOC firmware FCoE port stats 266 * IOC firmware FCoE port stats
267 */ 267 */
268struct bfa_fw_fcoe_port_stats_s { 268struct bfa_fw_fcoe_port_stats_s {
@@ -270,7 +270,7 @@ struct bfa_fw_fcoe_port_stats_s {
270 struct bfa_fw_fip_stats_s fip_stats; 270 struct bfa_fw_fip_stats_s fip_stats;
271}; 271};
272 272
273/** 273/*
274 * IOC firmware FC uport stats 274 * IOC firmware FC uport stats
275 */ 275 */
276struct bfa_fw_fc_uport_stats_s { 276struct bfa_fw_fc_uport_stats_s {
@@ -278,7 +278,7 @@ struct bfa_fw_fc_uport_stats_s {
278 struct bfa_fw_port_lksm_stats_s lksm_stats; 278 struct bfa_fw_port_lksm_stats_s lksm_stats;
279}; 279};
280 280
281/** 281/*
282 * IOC firmware FC port stats 282 * IOC firmware FC port stats
283 */ 283 */
284union bfa_fw_fc_port_stats_s { 284union bfa_fw_fc_port_stats_s {
@@ -286,7 +286,7 @@ union bfa_fw_fc_port_stats_s {
286 struct bfa_fw_fcoe_port_stats_s fcoe_stats; 286 struct bfa_fw_fcoe_port_stats_s fcoe_stats;
287}; 287};
288 288
289/** 289/*
290 * IOC firmware port stats 290 * IOC firmware port stats
291 */ 291 */
292struct bfa_fw_port_stats_s { 292struct bfa_fw_port_stats_s {
@@ -295,7 +295,7 @@ struct bfa_fw_port_stats_s {
295 union bfa_fw_fc_port_stats_s fc_port; 295 union bfa_fw_fc_port_stats_s fc_port;
296}; 296};
297 297
298/** 298/*
299 * fcxchg module statistics 299 * fcxchg module statistics
300 */ 300 */
301struct bfa_fw_fcxchg_stats_s { 301struct bfa_fw_fcxchg_stats_s {
@@ -308,7 +308,7 @@ struct bfa_fw_lpsm_stats_s {
308 u32 cls_tx; 308 u32 cls_tx;
309}; 309};
310 310
311/** 311/*
312 * Trunk statistics 312 * Trunk statistics
313 */ 313 */
314struct bfa_fw_trunk_stats_s { 314struct bfa_fw_trunk_stats_s {
@@ -334,7 +334,7 @@ struct bfa_fw_advsm_stats_s {
334 u32 elp_dropped; /* ELP dropped */ 334 u32 elp_dropped; /* ELP dropped */
335}; 335};
336 336
337/** 337/*
338 * IOCFC firmware stats 338 * IOCFC firmware stats
339 */ 339 */
340struct bfa_fw_iocfc_stats_s { 340struct bfa_fw_iocfc_stats_s {
@@ -345,7 +345,7 @@ struct bfa_fw_iocfc_stats_s {
345 u32 set_intr_reqs; /* set interrupt reqs */ 345 u32 set_intr_reqs; /* set interrupt reqs */
346}; 346};
347 347
348/** 348/*
349 * IOC attributes returned in queries 349 * IOC attributes returned in queries
350 */ 350 */
351struct bfa_iocfc_attr_s { 351struct bfa_iocfc_attr_s {
@@ -353,7 +353,7 @@ struct bfa_iocfc_attr_s {
353 struct bfa_iocfc_intr_attr_s intr_attr; /* interrupt attr */ 353 struct bfa_iocfc_intr_attr_s intr_attr; /* interrupt attr */
354}; 354};
355 355
356/** 356/*
357 * Eth_sndrcv mod stats 357 * Eth_sndrcv mod stats
358 */ 358 */
359struct bfa_fw_eth_sndrcv_stats_s { 359struct bfa_fw_eth_sndrcv_stats_s {
@@ -361,7 +361,7 @@ struct bfa_fw_eth_sndrcv_stats_s {
361 u32 rsvd; /* 64bit align */ 361 u32 rsvd; /* 64bit align */
362}; 362};
363 363
364/** 364/*
365 * CT MAC mod stats 365 * CT MAC mod stats
366 */ 366 */
367struct bfa_fw_mac_mod_stats_s { 367struct bfa_fw_mac_mod_stats_s {
@@ -379,7 +379,7 @@ struct bfa_fw_mac_mod_stats_s {
379 u32 rsvd; /* 64bit align */ 379 u32 rsvd; /* 64bit align */
380}; 380};
381 381
382/** 382/*
383 * CT MOD stats 383 * CT MOD stats
384 */ 384 */
385struct bfa_fw_ct_mod_stats_s { 385struct bfa_fw_ct_mod_stats_s {
@@ -391,7 +391,7 @@ struct bfa_fw_ct_mod_stats_s {
391 u32 rsvd; /* 64bit align */ 391 u32 rsvd; /* 64bit align */
392}; 392};
393 393
394/** 394/*
395 * IOC firmware stats 395 * IOC firmware stats
396 */ 396 */
397struct bfa_fw_stats_s { 397struct bfa_fw_stats_s {
@@ -412,7 +412,7 @@ struct bfa_fw_stats_s {
412#define BFA_IOCFC_PATHTOV_MAX 60 412#define BFA_IOCFC_PATHTOV_MAX 60
413#define BFA_IOCFC_QDEPTH_MAX 2000 413#define BFA_IOCFC_QDEPTH_MAX 2000
414 414
415/** 415/*
416 * QoS states 416 * QoS states
417 */ 417 */
418enum bfa_qos_state { 418enum bfa_qos_state {
@@ -420,7 +420,7 @@ enum bfa_qos_state {
420 BFA_QOS_OFFLINE = 2, /* QoS is offline */ 420 BFA_QOS_OFFLINE = 2, /* QoS is offline */
421}; 421};
422 422
423/** 423/*
424 * QoS Priority levels. 424 * QoS Priority levels.
425 */ 425 */
426enum bfa_qos_priority { 426enum bfa_qos_priority {
@@ -430,7 +430,7 @@ enum bfa_qos_priority {
430 BFA_QOS_LOW = 3, /* QoS Priority Level Low */ 430 BFA_QOS_LOW = 3, /* QoS Priority Level Low */
431}; 431};
432 432
433/** 433/*
434 * QoS bandwidth allocation for each priority level 434 * QoS bandwidth allocation for each priority level
435 */ 435 */
436enum bfa_qos_bw_alloc { 436enum bfa_qos_bw_alloc {
@@ -439,7 +439,7 @@ enum bfa_qos_bw_alloc {
439 BFA_QOS_BW_LOW = 10, /* bandwidth allocation for Low */ 439 BFA_QOS_BW_LOW = 10, /* bandwidth allocation for Low */
440}; 440};
441#pragma pack(1) 441#pragma pack(1)
442/** 442/*
443 * QoS attribute returned in QoS Query 443 * QoS attribute returned in QoS Query
444 */ 444 */
445struct bfa_qos_attr_s { 445struct bfa_qos_attr_s {
@@ -448,7 +448,7 @@ struct bfa_qos_attr_s {
448 u32 total_bb_cr; /* Total BB Credits */ 448 u32 total_bb_cr; /* Total BB Credits */
449}; 449};
450 450
451/** 451/*
452 * These fields should be displayed only from the CLI. 452 * These fields should be displayed only from the CLI.
453 * There will be a separate BFAL API (get_qos_vc_attr ?) 453 * There will be a separate BFAL API (get_qos_vc_attr ?)
454 * to retrieve this. 454 * to retrieve this.
@@ -471,7 +471,7 @@ struct bfa_qos_vc_attr_s {
471 * total_vc_count */ 471 * total_vc_count */
472}; 472};
473 473
474/** 474/*
475 * QoS statistics 475 * QoS statistics
476 */ 476 */
477struct bfa_qos_stats_s { 477struct bfa_qos_stats_s {
@@ -489,7 +489,7 @@ struct bfa_qos_stats_s {
489 u32 rsvd; /* padding for 64 bit alignment */ 489 u32 rsvd; /* padding for 64 bit alignment */
490}; 490};
491 491
492/** 492/*
493 * FCoE statistics 493 * FCoE statistics
494 */ 494 */
495struct bfa_fcoe_stats_s { 495struct bfa_fcoe_stats_s {
@@ -540,7 +540,7 @@ struct bfa_fcoe_stats_s {
540 u64 rxf_bcast_vlan; /* Rx FCoE broadcast vlan frames */ 540 u64 rxf_bcast_vlan; /* Rx FCoE broadcast vlan frames */
541}; 541};
542 542
543/** 543/*
544 * QoS or FCoE stats (fcport stats excluding physical FC port stats) 544 * QoS or FCoE stats (fcport stats excluding physical FC port stats)
545 */ 545 */
546union bfa_fcport_stats_u { 546union bfa_fcport_stats_u {
@@ -639,7 +639,7 @@ enum bfa_port_states {
639 BFA_PORT_ST_MAX_STATE, 639 BFA_PORT_ST_MAX_STATE,
640}; 640};
641 641
642/** 642/*
643 * Port operational type (in sync with SNIA port type). 643 * Port operational type (in sync with SNIA port type).
644 */ 644 */
645enum bfa_port_type { 645enum bfa_port_type {
@@ -651,7 +651,7 @@ enum bfa_port_type {
651 BFA_PORT_TYPE_VPORT = 22, /* NPIV - virtual port */ 651 BFA_PORT_TYPE_VPORT = 22, /* NPIV - virtual port */
652}; 652};
653 653
654/** 654/*
655 * Port topology setting. A port's topology and fabric login status 655 * Port topology setting. A port's topology and fabric login status
656 * determine its operational type. 656 * determine its operational type.
657 */ 657 */
@@ -662,7 +662,7 @@ enum bfa_port_topology {
662 BFA_PORT_TOPOLOGY_AUTO = 3, /* auto topology selection */ 662 BFA_PORT_TOPOLOGY_AUTO = 3, /* auto topology selection */
663}; 663};
664 664
665/** 665/*
666 * Physical port loopback types. 666 * Physical port loopback types.
667 */ 667 */
668enum bfa_port_opmode { 668enum bfa_port_opmode {
@@ -679,7 +679,7 @@ enum bfa_port_opmode {
679 (_mode == BFA_PORT_OPMODE_LB_SLW) || \ 679 (_mode == BFA_PORT_OPMODE_LB_SLW) || \
680 (_mode == BFA_PORT_OPMODE_LB_EXT)) 680 (_mode == BFA_PORT_OPMODE_LB_EXT))
681 681
682/** 682/*
683 * Port link state 683 * Port link state
684 */ 684 */
685enum bfa_port_linkstate { 685enum bfa_port_linkstate {
@@ -687,7 +687,7 @@ enum bfa_port_linkstate {
687 BFA_PORT_LINKDOWN = 2, /* Physical port/Trunk link down */ 687 BFA_PORT_LINKDOWN = 2, /* Physical port/Trunk link down */
688}; 688};
689 689
690/** 690/*
691 * Port link state reason code 691 * Port link state reason code
692 */ 692 */
693enum bfa_port_linkstate_rsn { 693enum bfa_port_linkstate_rsn {
@@ -733,7 +733,7 @@ enum bfa_port_linkstate_rsn {
733 CEE_ISCSI_PRI_OVERLAP_FCOE_PRI = 43 733 CEE_ISCSI_PRI_OVERLAP_FCOE_PRI = 43
734}; 734};
735#pragma pack(1) 735#pragma pack(1)
736/** 736/*
737 * Physical port configuration 737 * Physical port configuration
738 */ 738 */
739struct bfa_port_cfg_s { 739struct bfa_port_cfg_s {
@@ -753,7 +753,7 @@ struct bfa_port_cfg_s {
753}; 753};
754#pragma pack() 754#pragma pack()
755 755
756/** 756/*
757 * Port attribute values. 757 * Port attribute values.
758 */ 758 */
759struct bfa_port_attr_s { 759struct bfa_port_attr_s {
@@ -800,7 +800,7 @@ struct bfa_port_attr_s {
800 u8 rsvd1[6]; 800 u8 rsvd1[6];
801}; 801};
802 802
803/** 803/*
804 * Port FCP mappings. 804 * Port FCP mappings.
805 */ 805 */
806struct bfa_port_fcpmap_s { 806struct bfa_port_fcpmap_s {
@@ -815,7 +815,7 @@ struct bfa_port_fcpmap_s {
815 char luid[256]; 815 char luid[256];
816}; 816};
817 817
818/** 818/*
819 * Port RNID info. 819 * Port RNID info.
820 */ 820 */
821struct bfa_port_rnid_s { 821struct bfa_port_rnid_s {
@@ -848,7 +848,7 @@ struct bfa_fcport_fcf_s {
848 mac_t mac; /* FCF mac */ 848 mac_t mac; /* FCF mac */
849}; 849};
850 850
851/** 851/*
852 * Trunk states for BCU/BFAL 852 * Trunk states for BCU/BFAL
853 */ 853 */
854enum bfa_trunk_state { 854enum bfa_trunk_state {
@@ -857,7 +857,7 @@ enum bfa_trunk_state {
857 BFA_TRUNK_OFFLINE = 2, /* Trunk is offline */ 857 BFA_TRUNK_OFFLINE = 2, /* Trunk is offline */
858}; 858};
859 859
860/** 860/*
861 * VC attributes for trunked link 861 * VC attributes for trunked link
862 */ 862 */
863struct bfa_trunk_vc_attr_s { 863struct bfa_trunk_vc_attr_s {
@@ -867,7 +867,7 @@ struct bfa_trunk_vc_attr_s {
867 u16 vc_credits[8]; 867 u16 vc_credits[8];
868}; 868};
869 869
870/** 870/*
871 * Link state information 871 * Link state information
872 */ 872 */
873struct bfa_port_link_s { 873struct bfa_port_link_s {
@@ -959,7 +959,7 @@ struct bfa_rport_hal_stats_s {
959 u32 rsvd; 959 u32 rsvd;
960}; 960};
961#pragma pack(1) 961#pragma pack(1)
962/** 962/*
963 * Rport's QoS attributes 963 * Rport's QoS attributes
964 */ 964 */
965struct bfa_rport_qos_attr_s { 965struct bfa_rport_qos_attr_s {
@@ -987,7 +987,7 @@ struct bfa_itnim_ioprofile_s {
987 struct bfa_itnim_latency_s io_latency; 987 struct bfa_itnim_latency_s io_latency;
988}; 988};
989 989
990/** 990/*
991 * FC physical port statistics. 991 * FC physical port statistics.
992 */ 992 */
993struct bfa_port_fc_stats_s { 993struct bfa_port_fc_stats_s {
@@ -1022,7 +1022,7 @@ struct bfa_port_fc_stats_s {
1022 u64 err_enc; /* Encoding err frame_8b10b */ 1022 u64 err_enc; /* Encoding err frame_8b10b */
1023}; 1023};
1024 1024
1025/** 1025/*
1026 * Eth Physical Port statistics. 1026 * Eth Physical Port statistics.
1027 */ 1027 */
1028struct bfa_port_eth_stats_s { 1028struct bfa_port_eth_stats_s {
@@ -1070,7 +1070,7 @@ struct bfa_port_eth_stats_s {
1070 u64 tx_iscsi_zero_pause; /* Tx iSCSI zero pause */ 1070 u64 tx_iscsi_zero_pause; /* Tx iSCSI zero pause */
1071}; 1071};
1072 1072
1073/** 1073/*
1074 * Port statistics. 1074 * Port statistics.
1075 */ 1075 */
1076union bfa_port_stats_u { 1076union bfa_port_stats_u {
diff --git a/drivers/scsi/bfa/bfa_drv.c b/drivers/scsi/bfa/bfa_drv.c
index 14127646dc54..0222d7c88a9a 100644
--- a/drivers/scsi/bfa/bfa_drv.c
+++ b/drivers/scsi/bfa/bfa_drv.c
@@ -17,7 +17,7 @@
17 17
18#include "bfa_modules.h" 18#include "bfa_modules.h"
19 19
20/** 20/*
21 * BFA module list terminated by NULL 21 * BFA module list terminated by NULL
22 */ 22 */
23struct bfa_module_s *hal_mods[] = { 23struct bfa_module_s *hal_mods[] = {
@@ -31,7 +31,7 @@ struct bfa_module_s *hal_mods[] = {
31 NULL 31 NULL
32}; 32};
33 33
34/** 34/*
35 * Message handlers for various modules. 35 * Message handlers for various modules.
36 */ 36 */
37bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = { 37bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = {
@@ -70,7 +70,7 @@ bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = {
70}; 70};
71 71
72 72
73/** 73/*
74 * Message handlers for mailbox command classes 74 * Message handlers for mailbox command classes
75 */ 75 */
76bfa_ioc_mbox_mcfunc_t bfa_mbox_isrs[BFI_MC_MAX] = { 76bfa_ioc_mbox_mcfunc_t bfa_mbox_isrs[BFI_MC_MAX] = {
diff --git a/drivers/scsi/bfa/bfa_fc.h b/drivers/scsi/bfa/bfa_fc.h
index 6eff705564eb..e929d25b09e3 100644
--- a/drivers/scsi/bfa/bfa_fc.h
+++ b/drivers/scsi/bfa/bfa_fc.h
@@ -1029,7 +1029,7 @@ struct link_e2e_beacon_req_s {
1029 struct link_e2e_beacon_param_s beacon_parm; 1029 struct link_e2e_beacon_param_s beacon_parm;
1030}; 1030};
1031 1031
1032/** 1032/*
1033 * If RPSC request is sent to the Domain Controller, the request is for 1033 * If RPSC request is sent to the Domain Controller, the request is for
1034 * all the ports within that domain (TODO - I don't think FOS implements 1034 * all the ports within that domain (TODO - I don't think FOS implements
1035 * this...). 1035 * this...).
@@ -1049,7 +1049,7 @@ struct fc_rpsc_acc_s {
1049 struct fc_rpsc_speed_info_s speed_info[1]; 1049 struct fc_rpsc_speed_info_s speed_info[1];
1050}; 1050};
1051 1051
1052/** 1052/*
1053 * If RPSC2 request is sent to the Domain Controller, 1053 * If RPSC2 request is sent to the Domain Controller,
1054 */ 1054 */
1055#define FC_BRCD_TOKEN 0x42524344 1055#define FC_BRCD_TOKEN 0x42524344
@@ -1094,7 +1094,7 @@ struct fc_rpsc2_acc_s {
1094 struct fc_rpsc2_port_info_s port_info[1]; /* port information */ 1094 struct fc_rpsc2_port_info_s port_info[1]; /* port information */
1095}; 1095};
1096 1096
1097/** 1097/*
1098 * bit fields so that multiple classes can be specified 1098 * bit fields so that multiple classes can be specified
1099 */ 1099 */
1100enum fc_cos { 1100enum fc_cos {
@@ -1131,7 +1131,7 @@ struct fc_alpabm_s {
1131#define FC_VF_ID_MAX 0xEFF 1131#define FC_VF_ID_MAX 0xEFF
1132#define FC_VF_ID_CTL 0xFEF /* control VF_ID */ 1132#define FC_VF_ID_CTL 0xFEF /* control VF_ID */
1133 1133
1134/** 1134/*
1135 * Virtual Fabric Tagging header format 1135 * Virtual Fabric Tagging header format
1136 * @caution This is defined only in BIG ENDIAN format. 1136 * @caution This is defined only in BIG ENDIAN format.
1137 */ 1137 */
@@ -1463,7 +1463,7 @@ struct fcgs_gidpn_resp_s {
1463 u32 dap:24; /* port identifier */ 1463 u32 dap:24; /* port identifier */
1464}; 1464};
1465 1465
1466/** 1466/*
1467 * RFT_ID 1467 * RFT_ID
1468 */ 1468 */
1469struct fcgs_rftid_req_s { 1469struct fcgs_rftid_req_s {
@@ -1472,7 +1472,7 @@ struct fcgs_rftid_req_s {
1472 u32 fc4_type[8]; /* fc4 types */ 1472 u32 fc4_type[8]; /* fc4 types */
1473}; 1473};
1474 1474
1475/** 1475/*
1476 * RFF_ID : Register FC4 features. 1476 * RFF_ID : Register FC4 features.
1477 */ 1477 */
1478 1478
@@ -1487,7 +1487,7 @@ struct fcgs_rffid_req_s {
1487 u32 fc4_type:8; /* corresponding FC4 Type */ 1487 u32 fc4_type:8; /* corresponding FC4 Type */
1488}; 1488};
1489 1489
1490/** 1490/*
1491 * GID_FT Request 1491 * GID_FT Request
1492 */ 1492 */
1493struct fcgs_gidft_req_s { 1493struct fcgs_gidft_req_s {
@@ -1497,7 +1497,7 @@ struct fcgs_gidft_req_s {
1497 u8 fc4_type; /* FC_TYPE_FCP for SCSI devices */ 1497 u8 fc4_type; /* FC_TYPE_FCP for SCSI devices */
1498}; /* GID_FT Request */ 1498}; /* GID_FT Request */
1499 1499
1500/** 1500/*
1501 * GID_FT Response 1501 * GID_FT Response
1502 */ 1502 */
1503struct fcgs_gidft_resp_s { 1503struct fcgs_gidft_resp_s {
@@ -1506,7 +1506,7 @@ struct fcgs_gidft_resp_s {
1506 u32 pid:24; /* port identifier */ 1506 u32 pid:24; /* port identifier */
1507}; /* GID_FT Response */ 1507}; /* GID_FT Response */
1508 1508
1509/** 1509/*
1510 * RSPN_ID 1510 * RSPN_ID
1511 */ 1511 */
1512struct fcgs_rspnid_req_s { 1512struct fcgs_rspnid_req_s {
@@ -1516,7 +1516,7 @@ struct fcgs_rspnid_req_s {
1516 u8 spn[256]; /* symbolic port name */ 1516 u8 spn[256]; /* symbolic port name */
1517}; 1517};
1518 1518
1519/** 1519/*
1520 * RPN_ID 1520 * RPN_ID
1521 */ 1521 */
1522struct fcgs_rpnid_req_s { 1522struct fcgs_rpnid_req_s {
@@ -1525,7 +1525,7 @@ struct fcgs_rpnid_req_s {
1525 wwn_t port_name; 1525 wwn_t port_name;
1526}; 1526};
1527 1527
1528/** 1528/*
1529 * RNN_ID 1529 * RNN_ID
1530 */ 1530 */
1531struct fcgs_rnnid_req_s { 1531struct fcgs_rnnid_req_s {
@@ -1534,7 +1534,7 @@ struct fcgs_rnnid_req_s {
1534 wwn_t node_name; 1534 wwn_t node_name;
1535}; 1535};
1536 1536
1537/** 1537/*
1538 * RCS_ID 1538 * RCS_ID
1539 */ 1539 */
1540struct fcgs_rcsid_req_s { 1540struct fcgs_rcsid_req_s {
@@ -1543,7 +1543,7 @@ struct fcgs_rcsid_req_s {
1543 u32 cos; 1543 u32 cos;
1544}; 1544};
1545 1545
1546/** 1546/*
1547 * RPT_ID 1547 * RPT_ID
1548 */ 1548 */
1549struct fcgs_rptid_req_s { 1549struct fcgs_rptid_req_s {
@@ -1553,7 +1553,7 @@ struct fcgs_rptid_req_s {
1553 u32 rsvd1:24; 1553 u32 rsvd1:24;
1554}; 1554};
1555 1555
1556/** 1556/*
1557 * GA_NXT Request 1557 * GA_NXT Request
1558 */ 1558 */
1559struct fcgs_ganxt_req_s { 1559struct fcgs_ganxt_req_s {
@@ -1561,7 +1561,7 @@ struct fcgs_ganxt_req_s {
1561 u32 port_id:24; 1561 u32 port_id:24;
1562}; 1562};
1563 1563
1564/** 1564/*
1565 * GA_NXT Response 1565 * GA_NXT Response
1566 */ 1566 */
1567struct fcgs_ganxt_rsp_s { 1567struct fcgs_ganxt_rsp_s {
diff --git a/drivers/scsi/bfa/bfa_fcbuild.c b/drivers/scsi/bfa/bfa_fcbuild.c
index b7d2657ca82a..9c725314b513 100644
--- a/drivers/scsi/bfa/bfa_fcbuild.c
+++ b/drivers/scsi/bfa/bfa_fcbuild.c
@@ -94,13 +94,13 @@ fcbuild_init(void)
94 */ 94 */
95 plogi_tmpl.csp.verhi = FC_PH_VER_PH_3; 95 plogi_tmpl.csp.verhi = FC_PH_VER_PH_3;
96 plogi_tmpl.csp.verlo = FC_PH_VER_4_3; 96 plogi_tmpl.csp.verlo = FC_PH_VER_4_3;
97 plogi_tmpl.csp.bbcred = bfa_os_htons(0x0004); 97 plogi_tmpl.csp.bbcred = cpu_to_be16(0x0004);
98 plogi_tmpl.csp.ciro = 0x1; 98 plogi_tmpl.csp.ciro = 0x1;
99 plogi_tmpl.csp.cisc = 0x0; 99 plogi_tmpl.csp.cisc = 0x0;
100 plogi_tmpl.csp.altbbcred = 0x0; 100 plogi_tmpl.csp.altbbcred = 0x0;
101 plogi_tmpl.csp.conseq = bfa_os_htons(0x00FF); 101 plogi_tmpl.csp.conseq = cpu_to_be16(0x00FF);
102 plogi_tmpl.csp.ro_bitmap = bfa_os_htons(0x0002); 102 plogi_tmpl.csp.ro_bitmap = cpu_to_be16(0x0002);
103 plogi_tmpl.csp.e_d_tov = bfa_os_htonl(2000); 103 plogi_tmpl.csp.e_d_tov = cpu_to_be32(2000);
104 104
105 plogi_tmpl.class3.class_valid = 1; 105 plogi_tmpl.class3.class_valid = 1;
106 plogi_tmpl.class3.sequential = 1; 106 plogi_tmpl.class3.sequential = 1;
@@ -112,7 +112,7 @@ fcbuild_init(void)
112 */ 112 */
113 prli_tmpl.command = FC_ELS_PRLI; 113 prli_tmpl.command = FC_ELS_PRLI;
114 prli_tmpl.pglen = 0x10; 114 prli_tmpl.pglen = 0x10;
115 prli_tmpl.pagebytes = bfa_os_htons(0x0014); 115 prli_tmpl.pagebytes = cpu_to_be16(0x0014);
116 prli_tmpl.parampage.type = FC_TYPE_FCP; 116 prli_tmpl.parampage.type = FC_TYPE_FCP;
117 prli_tmpl.parampage.imagepair = 1; 117 prli_tmpl.parampage.imagepair = 1;
118 prli_tmpl.parampage.servparams.rxrdisab = 1; 118 prli_tmpl.parampage.servparams.rxrdisab = 1;
@@ -137,7 +137,7 @@ fcbuild_init(void)
137static void 137static void
138fc_gs_fchdr_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u32 ox_id) 138fc_gs_fchdr_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u32 ox_id)
139{ 139{
140 bfa_os_memset(fchs, 0, sizeof(struct fchs_s)); 140 memset(fchs, 0, sizeof(struct fchs_s));
141 141
142 fchs->routing = FC_RTG_FC4_DEV_DATA; 142 fchs->routing = FC_RTG_FC4_DEV_DATA;
143 fchs->cat_info = FC_CAT_UNSOLICIT_CTRL; 143 fchs->cat_info = FC_CAT_UNSOLICIT_CTRL;
@@ -148,9 +148,9 @@ fc_gs_fchdr_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u32 ox_id)
148 fchs->rx_id = FC_RXID_ANY; 148 fchs->rx_id = FC_RXID_ANY;
149 fchs->d_id = (d_id); 149 fchs->d_id = (d_id);
150 fchs->s_id = (s_id); 150 fchs->s_id = (s_id);
151 fchs->ox_id = bfa_os_htons(ox_id); 151 fchs->ox_id = cpu_to_be16(ox_id);
152 152
153 /** 153 /*
154 * @todo no need to set ox_id for request 154 * @todo no need to set ox_id for request
155 * no need to set rx_id for response 155 * no need to set rx_id for response
156 */ 156 */
@@ -159,16 +159,16 @@ fc_gs_fchdr_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u32 ox_id)
159void 159void
160fc_els_req_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) 160fc_els_req_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id)
161{ 161{
162 bfa_os_memcpy(fchs, &fc_els_req_tmpl, sizeof(struct fchs_s)); 162 memcpy(fchs, &fc_els_req_tmpl, sizeof(struct fchs_s));
163 fchs->d_id = (d_id); 163 fchs->d_id = (d_id);
164 fchs->s_id = (s_id); 164 fchs->s_id = (s_id);
165 fchs->ox_id = bfa_os_htons(ox_id); 165 fchs->ox_id = cpu_to_be16(ox_id);
166} 166}
167 167
168static void 168static void
169fc_els_rsp_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) 169fc_els_rsp_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id)
170{ 170{
171 bfa_os_memcpy(fchs, &fc_els_rsp_tmpl, sizeof(struct fchs_s)); 171 memcpy(fchs, &fc_els_rsp_tmpl, sizeof(struct fchs_s));
172 fchs->d_id = d_id; 172 fchs->d_id = d_id;
173 fchs->s_id = s_id; 173 fchs->s_id = s_id;
174 fchs->ox_id = ox_id; 174 fchs->ox_id = ox_id;
@@ -198,7 +198,7 @@ fc_els_rsp_parse(struct fchs_s *fchs, int len)
198static void 198static void
199fc_bls_rsp_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) 199fc_bls_rsp_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id)
200{ 200{
201 bfa_os_memcpy(fchs, &fc_bls_rsp_tmpl, sizeof(struct fchs_s)); 201 memcpy(fchs, &fc_bls_rsp_tmpl, sizeof(struct fchs_s));
202 fchs->d_id = d_id; 202 fchs->d_id = d_id;
203 fchs->s_id = s_id; 203 fchs->s_id = s_id;
204 fchs->ox_id = ox_id; 204 fchs->ox_id = ox_id;
@@ -211,7 +211,7 @@ fc_plogi_x_build(struct fchs_s *fchs, void *pld, u32 d_id, u32 s_id,
211{ 211{
212 struct fc_logi_s *plogi = (struct fc_logi_s *) (pld); 212 struct fc_logi_s *plogi = (struct fc_logi_s *) (pld);
213 213
214 bfa_os_memcpy(plogi, &plogi_tmpl, sizeof(struct fc_logi_s)); 214 memcpy(plogi, &plogi_tmpl, sizeof(struct fc_logi_s));
215 215
216 plogi->els_cmd.els_code = els_code; 216 plogi->els_cmd.els_code = els_code;
217 if (els_code == FC_ELS_PLOGI) 217 if (els_code == FC_ELS_PLOGI)
@@ -219,10 +219,10 @@ fc_plogi_x_build(struct fchs_s *fchs, void *pld, u32 d_id, u32 s_id,
219 else 219 else
220 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 220 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
221 221
222 plogi->csp.rxsz = plogi->class3.rxsz = bfa_os_htons(pdu_size); 222 plogi->csp.rxsz = plogi->class3.rxsz = cpu_to_be16(pdu_size);
223 223
224 bfa_os_memcpy(&plogi->port_name, &port_name, sizeof(wwn_t)); 224 memcpy(&plogi->port_name, &port_name, sizeof(wwn_t));
225 bfa_os_memcpy(&plogi->node_name, &node_name, sizeof(wwn_t)); 225 memcpy(&plogi->node_name, &node_name, sizeof(wwn_t));
226 226
227 return sizeof(struct fc_logi_s); 227 return sizeof(struct fc_logi_s);
228} 228}
@@ -235,12 +235,12 @@ fc_flogi_build(struct fchs_s *fchs, struct fc_logi_s *flogi, u32 s_id,
235 u32 d_id = bfa_os_hton3b(FC_FABRIC_PORT); 235 u32 d_id = bfa_os_hton3b(FC_FABRIC_PORT);
236 u32 *vvl_info; 236 u32 *vvl_info;
237 237
238 bfa_os_memcpy(flogi, &plogi_tmpl, sizeof(struct fc_logi_s)); 238 memcpy(flogi, &plogi_tmpl, sizeof(struct fc_logi_s));
239 239
240 flogi->els_cmd.els_code = FC_ELS_FLOGI; 240 flogi->els_cmd.els_code = FC_ELS_FLOGI;
241 fc_els_req_build(fchs, d_id, s_id, ox_id); 241 fc_els_req_build(fchs, d_id, s_id, ox_id);
242 242
243 flogi->csp.rxsz = flogi->class3.rxsz = bfa_os_htons(pdu_size); 243 flogi->csp.rxsz = flogi->class3.rxsz = cpu_to_be16(pdu_size);
244 flogi->port_name = port_name; 244 flogi->port_name = port_name;
245 flogi->node_name = node_name; 245 flogi->node_name = node_name;
246 246
@@ -253,14 +253,14 @@ fc_flogi_build(struct fchs_s *fchs, struct fc_logi_s *flogi, u32 s_id,
253 /* set AUTH capability */ 253 /* set AUTH capability */
254 flogi->csp.security = set_auth; 254 flogi->csp.security = set_auth;
255 255
256 flogi->csp.bbcred = bfa_os_htons(local_bb_credits); 256 flogi->csp.bbcred = cpu_to_be16(local_bb_credits);
257 257
258 /* Set brcd token in VVL */ 258 /* Set brcd token in VVL */
259 vvl_info = (u32 *)&flogi->vvl[0]; 259 vvl_info = (u32 *)&flogi->vvl[0];
260 260
261 /* set the flag to indicate the presence of VVL */ 261 /* set the flag to indicate the presence of VVL */
262 flogi->csp.npiv_supp = 1; /* @todo. field name is not correct */ 262 flogi->csp.npiv_supp = 1; /* @todo. field name is not correct */
263 vvl_info[0] = bfa_os_htonl(FLOGI_VVL_BRCD); 263 vvl_info[0] = cpu_to_be32(FLOGI_VVL_BRCD);
264 264
265 return sizeof(struct fc_logi_s); 265 return sizeof(struct fc_logi_s);
266} 266}
@@ -272,15 +272,15 @@ fc_flogi_acc_build(struct fchs_s *fchs, struct fc_logi_s *flogi, u32 s_id,
272{ 272{
273 u32 d_id = 0; 273 u32 d_id = 0;
274 274
275 bfa_os_memcpy(flogi, &plogi_tmpl, sizeof(struct fc_logi_s)); 275 memcpy(flogi, &plogi_tmpl, sizeof(struct fc_logi_s));
276 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 276 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
277 277
278 flogi->els_cmd.els_code = FC_ELS_ACC; 278 flogi->els_cmd.els_code = FC_ELS_ACC;
279 flogi->csp.rxsz = flogi->class3.rxsz = bfa_os_htons(pdu_size); 279 flogi->csp.rxsz = flogi->class3.rxsz = cpu_to_be16(pdu_size);
280 flogi->port_name = port_name; 280 flogi->port_name = port_name;
281 flogi->node_name = node_name; 281 flogi->node_name = node_name;
282 282
283 flogi->csp.bbcred = bfa_os_htons(local_bb_credits); 283 flogi->csp.bbcred = cpu_to_be16(local_bb_credits);
284 284
285 return sizeof(struct fc_logi_s); 285 return sizeof(struct fc_logi_s);
286} 286}
@@ -291,12 +291,12 @@ fc_fdisc_build(struct fchs_s *fchs, struct fc_logi_s *flogi, u32 s_id,
291{ 291{
292 u32 d_id = bfa_os_hton3b(FC_FABRIC_PORT); 292 u32 d_id = bfa_os_hton3b(FC_FABRIC_PORT);
293 293
294 bfa_os_memcpy(flogi, &plogi_tmpl, sizeof(struct fc_logi_s)); 294 memcpy(flogi, &plogi_tmpl, sizeof(struct fc_logi_s));
295 295
296 flogi->els_cmd.els_code = FC_ELS_FDISC; 296 flogi->els_cmd.els_code = FC_ELS_FDISC;
297 fc_els_req_build(fchs, d_id, s_id, ox_id); 297 fc_els_req_build(fchs, d_id, s_id, ox_id);
298 298
299 flogi->csp.rxsz = flogi->class3.rxsz = bfa_os_htons(pdu_size); 299 flogi->csp.rxsz = flogi->class3.rxsz = cpu_to_be16(pdu_size);
300 flogi->port_name = port_name; 300 flogi->port_name = port_name;
301 flogi->node_name = node_name; 301 flogi->node_name = node_name;
302 302
@@ -346,7 +346,7 @@ fc_plogi_rsp_parse(struct fchs_s *fchs, int len, wwn_t port_name)
346 if (!plogi->class3.class_valid) 346 if (!plogi->class3.class_valid)
347 return FC_PARSE_FAILURE; 347 return FC_PARSE_FAILURE;
348 348
349 if (bfa_os_ntohs(plogi->class3.rxsz) < (FC_MIN_PDUSZ)) 349 if (be16_to_cpu(plogi->class3.rxsz) < (FC_MIN_PDUSZ))
350 return FC_PARSE_FAILURE; 350 return FC_PARSE_FAILURE;
351 351
352 return FC_PARSE_OK; 352 return FC_PARSE_OK;
@@ -363,8 +363,8 @@ fc_plogi_parse(struct fchs_s *fchs)
363 if (plogi->class3.class_valid != 1) 363 if (plogi->class3.class_valid != 1)
364 return FC_PARSE_FAILURE; 364 return FC_PARSE_FAILURE;
365 365
366 if ((bfa_os_ntohs(plogi->class3.rxsz) < FC_MIN_PDUSZ) 366 if ((be16_to_cpu(plogi->class3.rxsz) < FC_MIN_PDUSZ)
367 || (bfa_os_ntohs(plogi->class3.rxsz) > FC_MAX_PDUSZ) 367 || (be16_to_cpu(plogi->class3.rxsz) > FC_MAX_PDUSZ)
368 || (plogi->class3.rxsz == 0)) 368 || (plogi->class3.rxsz == 0))
369 return FC_PARSE_FAILURE; 369 return FC_PARSE_FAILURE;
370 370
@@ -378,7 +378,7 @@ fc_prli_build(struct fchs_s *fchs, void *pld, u32 d_id, u32 s_id,
378 struct fc_prli_s *prli = (struct fc_prli_s *) (pld); 378 struct fc_prli_s *prli = (struct fc_prli_s *) (pld);
379 379
380 fc_els_req_build(fchs, d_id, s_id, ox_id); 380 fc_els_req_build(fchs, d_id, s_id, ox_id);
381 bfa_os_memcpy(prli, &prli_tmpl, sizeof(struct fc_prli_s)); 381 memcpy(prli, &prli_tmpl, sizeof(struct fc_prli_s));
382 382
383 prli->command = FC_ELS_PRLI; 383 prli->command = FC_ELS_PRLI;
384 prli->parampage.servparams.initiator = 1; 384 prli->parampage.servparams.initiator = 1;
@@ -397,7 +397,7 @@ fc_prli_acc_build(struct fchs_s *fchs, void *pld, u32 d_id, u32 s_id,
397 struct fc_prli_s *prli = (struct fc_prli_s *) (pld); 397 struct fc_prli_s *prli = (struct fc_prli_s *) (pld);
398 398
399 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 399 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
400 bfa_os_memcpy(prli, &prli_tmpl, sizeof(struct fc_prli_s)); 400 memcpy(prli, &prli_tmpl, sizeof(struct fc_prli_s));
401 401
402 prli->command = FC_ELS_ACC; 402 prli->command = FC_ELS_ACC;
403 403
@@ -448,7 +448,7 @@ fc_logo_build(struct fchs_s *fchs, struct fc_logo_s *logo, u32 d_id, u32 s_id,
448{ 448{
449 fc_els_req_build(fchs, d_id, s_id, ox_id); 449 fc_els_req_build(fchs, d_id, s_id, ox_id);
450 450
451 bfa_os_memset(logo, '\0', sizeof(struct fc_logo_s)); 451 memset(logo, '\0', sizeof(struct fc_logo_s));
452 logo->els_cmd.els_code = FC_ELS_LOGO; 452 logo->els_cmd.els_code = FC_ELS_LOGO;
453 logo->nport_id = (s_id); 453 logo->nport_id = (s_id);
454 logo->orig_port_name = port_name; 454 logo->orig_port_name = port_name;
@@ -461,7 +461,7 @@ fc_adisc_x_build(struct fchs_s *fchs, struct fc_adisc_s *adisc, u32 d_id,
461 u32 s_id, u16 ox_id, wwn_t port_name, 461 u32 s_id, u16 ox_id, wwn_t port_name,
462 wwn_t node_name, u8 els_code) 462 wwn_t node_name, u8 els_code)
463{ 463{
464 bfa_os_memset(adisc, '\0', sizeof(struct fc_adisc_s)); 464 memset(adisc, '\0', sizeof(struct fc_adisc_s));
465 465
466 adisc->els_cmd.els_code = els_code; 466 adisc->els_cmd.els_code = els_code;
467 467
@@ -537,7 +537,7 @@ fc_pdisc_parse(struct fchs_s *fchs, wwn_t node_name, wwn_t port_name)
537 if (pdisc->class3.class_valid != 1) 537 if (pdisc->class3.class_valid != 1)
538 return FC_PARSE_FAILURE; 538 return FC_PARSE_FAILURE;
539 539
540 if ((bfa_os_ntohs(pdisc->class3.rxsz) < 540 if ((be16_to_cpu(pdisc->class3.rxsz) <
541 (FC_MIN_PDUSZ - sizeof(struct fchs_s))) 541 (FC_MIN_PDUSZ - sizeof(struct fchs_s)))
542 || (pdisc->class3.rxsz == 0)) 542 || (pdisc->class3.rxsz == 0))
543 return FC_PARSE_FAILURE; 543 return FC_PARSE_FAILURE;
@@ -554,11 +554,11 @@ fc_pdisc_parse(struct fchs_s *fchs, wwn_t node_name, wwn_t port_name)
554u16 554u16
555fc_abts_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) 555fc_abts_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id)
556{ 556{
557 bfa_os_memcpy(fchs, &fc_bls_req_tmpl, sizeof(struct fchs_s)); 557 memcpy(fchs, &fc_bls_req_tmpl, sizeof(struct fchs_s));
558 fchs->cat_info = FC_CAT_ABTS; 558 fchs->cat_info = FC_CAT_ABTS;
559 fchs->d_id = (d_id); 559 fchs->d_id = (d_id);
560 fchs->s_id = (s_id); 560 fchs->s_id = (s_id);
561 fchs->ox_id = bfa_os_htons(ox_id); 561 fchs->ox_id = cpu_to_be16(ox_id);
562 562
563 return sizeof(struct fchs_s); 563 return sizeof(struct fchs_s);
564} 564}
@@ -582,9 +582,9 @@ fc_rrq_build(struct fchs_s *fchs, struct fc_rrq_s *rrq, u32 d_id, u32 s_id,
582 /* 582 /*
583 * build rrq payload 583 * build rrq payload
584 */ 584 */
585 bfa_os_memcpy(rrq, &rrq_tmpl, sizeof(struct fc_rrq_s)); 585 memcpy(rrq, &rrq_tmpl, sizeof(struct fc_rrq_s));
586 rrq->s_id = (s_id); 586 rrq->s_id = (s_id);
587 rrq->ox_id = bfa_os_htons(rrq_oxid); 587 rrq->ox_id = cpu_to_be16(rrq_oxid);
588 rrq->rx_id = FC_RXID_ANY; 588 rrq->rx_id = FC_RXID_ANY;
589 589
590 return sizeof(struct fc_rrq_s); 590 return sizeof(struct fc_rrq_s);
@@ -598,7 +598,7 @@ fc_logo_acc_build(struct fchs_s *fchs, void *pld, u32 d_id, u32 s_id,
598 598
599 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 599 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
600 600
601 bfa_os_memset(acc, 0, sizeof(struct fc_els_cmd_s)); 601 memset(acc, 0, sizeof(struct fc_els_cmd_s));
602 acc->els_code = FC_ELS_ACC; 602 acc->els_code = FC_ELS_ACC;
603 603
604 return sizeof(struct fc_els_cmd_s); 604 return sizeof(struct fc_els_cmd_s);
@@ -610,7 +610,7 @@ fc_ls_rjt_build(struct fchs_s *fchs, struct fc_ls_rjt_s *ls_rjt, u32 d_id,
610 u8 reason_code_expl) 610 u8 reason_code_expl)
611{ 611{
612 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 612 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
613 bfa_os_memset(ls_rjt, 0, sizeof(struct fc_ls_rjt_s)); 613 memset(ls_rjt, 0, sizeof(struct fc_ls_rjt_s));
614 614
615 ls_rjt->els_cmd.els_code = FC_ELS_LS_RJT; 615 ls_rjt->els_cmd.els_code = FC_ELS_LS_RJT;
616 ls_rjt->reason_code = reason_code; 616 ls_rjt->reason_code = reason_code;
@@ -626,7 +626,7 @@ fc_ba_acc_build(struct fchs_s *fchs, struct fc_ba_acc_s *ba_acc, u32 d_id,
626{ 626{
627 fc_bls_rsp_build(fchs, d_id, s_id, ox_id); 627 fc_bls_rsp_build(fchs, d_id, s_id, ox_id);
628 628
629 bfa_os_memcpy(ba_acc, &ba_acc_tmpl, sizeof(struct fc_ba_acc_s)); 629 memcpy(ba_acc, &ba_acc_tmpl, sizeof(struct fc_ba_acc_s));
630 630
631 fchs->rx_id = rx_id; 631 fchs->rx_id = rx_id;
632 632
@@ -641,7 +641,7 @@ fc_ls_acc_build(struct fchs_s *fchs, struct fc_els_cmd_s *els_cmd, u32 d_id,
641 u32 s_id, u16 ox_id) 641 u32 s_id, u16 ox_id)
642{ 642{
643 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 643 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
644 bfa_os_memset(els_cmd, 0, sizeof(struct fc_els_cmd_s)); 644 memset(els_cmd, 0, sizeof(struct fc_els_cmd_s));
645 els_cmd->els_code = FC_ELS_ACC; 645 els_cmd->els_code = FC_ELS_ACC;
646 646
647 return sizeof(struct fc_els_cmd_s); 647 return sizeof(struct fc_els_cmd_s);
@@ -656,10 +656,10 @@ fc_logout_params_pages(struct fchs_s *fc_frame, u8 els_code)
656 656
657 if (els_code == FC_ELS_PRLO) { 657 if (els_code == FC_ELS_PRLO) {
658 prlo = (struct fc_prlo_s *) (fc_frame + 1); 658 prlo = (struct fc_prlo_s *) (fc_frame + 1);
659 num_pages = (bfa_os_ntohs(prlo->payload_len) - 4) / 16; 659 num_pages = (be16_to_cpu(prlo->payload_len) - 4) / 16;
660 } else { 660 } else {
661 tprlo = (struct fc_tprlo_s *) (fc_frame + 1); 661 tprlo = (struct fc_tprlo_s *) (fc_frame + 1);
662 num_pages = (bfa_os_ntohs(tprlo->payload_len) - 4) / 16; 662 num_pages = (be16_to_cpu(tprlo->payload_len) - 4) / 16;
663 } 663 }
664 return num_pages; 664 return num_pages;
665} 665}
@@ -672,11 +672,11 @@ fc_tprlo_acc_build(struct fchs_s *fchs, struct fc_tprlo_acc_s *tprlo_acc,
672 672
673 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 673 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
674 674
675 bfa_os_memset(tprlo_acc, 0, (num_pages * 16) + 4); 675 memset(tprlo_acc, 0, (num_pages * 16) + 4);
676 tprlo_acc->command = FC_ELS_ACC; 676 tprlo_acc->command = FC_ELS_ACC;
677 677
678 tprlo_acc->page_len = 0x10; 678 tprlo_acc->page_len = 0x10;
679 tprlo_acc->payload_len = bfa_os_htons((num_pages * 16) + 4); 679 tprlo_acc->payload_len = cpu_to_be16((num_pages * 16) + 4);
680 680
681 for (page = 0; page < num_pages; page++) { 681 for (page = 0; page < num_pages; page++) {
682 tprlo_acc->tprlo_acc_params[page].opa_valid = 0; 682 tprlo_acc->tprlo_acc_params[page].opa_valid = 0;
@@ -685,7 +685,7 @@ fc_tprlo_acc_build(struct fchs_s *fchs, struct fc_tprlo_acc_s *tprlo_acc,
685 tprlo_acc->tprlo_acc_params[page].orig_process_assc = 0; 685 tprlo_acc->tprlo_acc_params[page].orig_process_assc = 0;
686 tprlo_acc->tprlo_acc_params[page].resp_process_assc = 0; 686 tprlo_acc->tprlo_acc_params[page].resp_process_assc = 0;
687 } 687 }
688 return bfa_os_ntohs(tprlo_acc->payload_len); 688 return be16_to_cpu(tprlo_acc->payload_len);
689} 689}
690 690
691u16 691u16
@@ -696,10 +696,10 @@ fc_prlo_acc_build(struct fchs_s *fchs, struct fc_prlo_acc_s *prlo_acc, u32 d_id,
696 696
697 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 697 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
698 698
699 bfa_os_memset(prlo_acc, 0, (num_pages * 16) + 4); 699 memset(prlo_acc, 0, (num_pages * 16) + 4);
700 prlo_acc->command = FC_ELS_ACC; 700 prlo_acc->command = FC_ELS_ACC;
701 prlo_acc->page_len = 0x10; 701 prlo_acc->page_len = 0x10;
702 prlo_acc->payload_len = bfa_os_htons((num_pages * 16) + 4); 702 prlo_acc->payload_len = cpu_to_be16((num_pages * 16) + 4);
703 703
704 for (page = 0; page < num_pages; page++) { 704 for (page = 0; page < num_pages; page++) {
705 prlo_acc->prlo_acc_params[page].opa_valid = 0; 705 prlo_acc->prlo_acc_params[page].opa_valid = 0;
@@ -709,7 +709,7 @@ fc_prlo_acc_build(struct fchs_s *fchs, struct fc_prlo_acc_s *prlo_acc, u32 d_id,
709 prlo_acc->prlo_acc_params[page].resp_process_assc = 0; 709 prlo_acc->prlo_acc_params[page].resp_process_assc = 0;
710 } 710 }
711 711
712 return bfa_os_ntohs(prlo_acc->payload_len); 712 return be16_to_cpu(prlo_acc->payload_len);
713} 713}
714 714
715u16 715u16
@@ -718,7 +718,7 @@ fc_rnid_build(struct fchs_s *fchs, struct fc_rnid_cmd_s *rnid, u32 d_id,
718{ 718{
719 fc_els_req_build(fchs, d_id, s_id, ox_id); 719 fc_els_req_build(fchs, d_id, s_id, ox_id);
720 720
721 bfa_os_memset(rnid, 0, sizeof(struct fc_rnid_cmd_s)); 721 memset(rnid, 0, sizeof(struct fc_rnid_cmd_s));
722 722
723 rnid->els_cmd.els_code = FC_ELS_RNID; 723 rnid->els_cmd.els_code = FC_ELS_RNID;
724 rnid->node_id_data_format = data_format; 724 rnid->node_id_data_format = data_format;
@@ -732,7 +732,7 @@ fc_rnid_acc_build(struct fchs_s *fchs, struct fc_rnid_acc_s *rnid_acc, u32 d_id,
732 struct fc_rnid_common_id_data_s *common_id_data, 732 struct fc_rnid_common_id_data_s *common_id_data,
733 struct fc_rnid_general_topology_data_s *gen_topo_data) 733 struct fc_rnid_general_topology_data_s *gen_topo_data)
734{ 734{
735 bfa_os_memset(rnid_acc, 0, sizeof(struct fc_rnid_acc_s)); 735 memset(rnid_acc, 0, sizeof(struct fc_rnid_acc_s));
736 736
737 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 737 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
738 738
@@ -745,7 +745,7 @@ fc_rnid_acc_build(struct fchs_s *fchs, struct fc_rnid_acc_s *rnid_acc, u32 d_id,
745 if (data_format == RNID_NODEID_DATA_FORMAT_DISCOVERY) { 745 if (data_format == RNID_NODEID_DATA_FORMAT_DISCOVERY) {
746 rnid_acc->specific_id_data_length = 746 rnid_acc->specific_id_data_length =
747 sizeof(struct fc_rnid_general_topology_data_s); 747 sizeof(struct fc_rnid_general_topology_data_s);
748 bfa_os_assign(rnid_acc->gen_topology_data, *gen_topo_data); 748 rnid_acc->gen_topology_data = *gen_topo_data;
749 return sizeof(struct fc_rnid_acc_s); 749 return sizeof(struct fc_rnid_acc_s);
750 } else { 750 } else {
751 return sizeof(struct fc_rnid_acc_s) - 751 return sizeof(struct fc_rnid_acc_s) -
@@ -760,7 +760,7 @@ fc_rpsc_build(struct fchs_s *fchs, struct fc_rpsc_cmd_s *rpsc, u32 d_id,
760{ 760{
761 fc_els_req_build(fchs, d_id, s_id, ox_id); 761 fc_els_req_build(fchs, d_id, s_id, ox_id);
762 762
763 bfa_os_memset(rpsc, 0, sizeof(struct fc_rpsc_cmd_s)); 763 memset(rpsc, 0, sizeof(struct fc_rpsc_cmd_s));
764 764
765 rpsc->els_cmd.els_code = FC_ELS_RPSC; 765 rpsc->els_cmd.els_code = FC_ELS_RPSC;
766 return sizeof(struct fc_rpsc_cmd_s); 766 return sizeof(struct fc_rpsc_cmd_s);
@@ -775,11 +775,11 @@ fc_rpsc2_build(struct fchs_s *fchs, struct fc_rpsc2_cmd_s *rpsc2, u32 d_id,
775 775
776 fc_els_req_build(fchs, bfa_os_hton3b(dctlr_id), s_id, 0); 776 fc_els_req_build(fchs, bfa_os_hton3b(dctlr_id), s_id, 0);
777 777
778 bfa_os_memset(rpsc2, 0, sizeof(struct fc_rpsc2_cmd_s)); 778 memset(rpsc2, 0, sizeof(struct fc_rpsc2_cmd_s));
779 779
780 rpsc2->els_cmd.els_code = FC_ELS_RPSC; 780 rpsc2->els_cmd.els_code = FC_ELS_RPSC;
781 rpsc2->token = bfa_os_htonl(FC_BRCD_TOKEN); 781 rpsc2->token = cpu_to_be32(FC_BRCD_TOKEN);
782 rpsc2->num_pids = bfa_os_htons(npids); 782 rpsc2->num_pids = cpu_to_be16(npids);
783 for (i = 0; i < npids; i++) 783 for (i = 0; i < npids; i++)
784 rpsc2->pid_list[i].pid = pid_list[i]; 784 rpsc2->pid_list[i].pid = pid_list[i];
785 785
@@ -791,18 +791,18 @@ fc_rpsc_acc_build(struct fchs_s *fchs, struct fc_rpsc_acc_s *rpsc_acc,
791 u32 d_id, u32 s_id, u16 ox_id, 791 u32 d_id, u32 s_id, u16 ox_id,
792 struct fc_rpsc_speed_info_s *oper_speed) 792 struct fc_rpsc_speed_info_s *oper_speed)
793{ 793{
794 bfa_os_memset(rpsc_acc, 0, sizeof(struct fc_rpsc_acc_s)); 794 memset(rpsc_acc, 0, sizeof(struct fc_rpsc_acc_s));
795 795
796 fc_els_rsp_build(fchs, d_id, s_id, ox_id); 796 fc_els_rsp_build(fchs, d_id, s_id, ox_id);
797 797
798 rpsc_acc->command = FC_ELS_ACC; 798 rpsc_acc->command = FC_ELS_ACC;
799 rpsc_acc->num_entries = bfa_os_htons(1); 799 rpsc_acc->num_entries = cpu_to_be16(1);
800 800
801 rpsc_acc->speed_info[0].port_speed_cap = 801 rpsc_acc->speed_info[0].port_speed_cap =
802 bfa_os_htons(oper_speed->port_speed_cap); 802 cpu_to_be16(oper_speed->port_speed_cap);
803 803
804 rpsc_acc->speed_info[0].port_op_speed = 804 rpsc_acc->speed_info[0].port_op_speed =
805 bfa_os_htons(oper_speed->port_op_speed); 805 cpu_to_be16(oper_speed->port_op_speed);
806 806
807 return sizeof(struct fc_rpsc_acc_s); 807 return sizeof(struct fc_rpsc_acc_s);
808} 808}
@@ -830,12 +830,12 @@ fc_pdisc_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id,
830{ 830{
831 struct fc_logi_s *pdisc = (struct fc_logi_s *) (fchs + 1); 831 struct fc_logi_s *pdisc = (struct fc_logi_s *) (fchs + 1);
832 832
833 bfa_os_memcpy(pdisc, &plogi_tmpl, sizeof(struct fc_logi_s)); 833 memcpy(pdisc, &plogi_tmpl, sizeof(struct fc_logi_s));
834 834
835 pdisc->els_cmd.els_code = FC_ELS_PDISC; 835 pdisc->els_cmd.els_code = FC_ELS_PDISC;
836 fc_els_req_build(fchs, d_id, s_id, ox_id); 836 fc_els_req_build(fchs, d_id, s_id, ox_id);
837 837
838 pdisc->csp.rxsz = pdisc->class3.rxsz = bfa_os_htons(pdu_size); 838 pdisc->csp.rxsz = pdisc->class3.rxsz = cpu_to_be16(pdu_size);
839 pdisc->port_name = port_name; 839 pdisc->port_name = port_name;
840 pdisc->node_name = node_name; 840 pdisc->node_name = node_name;
841 841
@@ -859,7 +859,7 @@ fc_pdisc_rsp_parse(struct fchs_s *fchs, int len, wwn_t port_name)
859 if (!pdisc->class3.class_valid) 859 if (!pdisc->class3.class_valid)
860 return FC_PARSE_NWWN_NOT_EQUAL; 860 return FC_PARSE_NWWN_NOT_EQUAL;
861 861
862 if (bfa_os_ntohs(pdisc->class3.rxsz) < (FC_MIN_PDUSZ)) 862 if (be16_to_cpu(pdisc->class3.rxsz) < (FC_MIN_PDUSZ))
863 return FC_PARSE_RXSZ_INVAL; 863 return FC_PARSE_RXSZ_INVAL;
864 864
865 return FC_PARSE_OK; 865 return FC_PARSE_OK;
@@ -873,10 +873,10 @@ fc_prlo_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id,
873 int page; 873 int page;
874 874
875 fc_els_req_build(fchs, d_id, s_id, ox_id); 875 fc_els_req_build(fchs, d_id, s_id, ox_id);
876 bfa_os_memset(prlo, 0, (num_pages * 16) + 4); 876 memset(prlo, 0, (num_pages * 16) + 4);
877 prlo->command = FC_ELS_PRLO; 877 prlo->command = FC_ELS_PRLO;
878 prlo->page_len = 0x10; 878 prlo->page_len = 0x10;
879 prlo->payload_len = bfa_os_htons((num_pages * 16) + 4); 879 prlo->payload_len = cpu_to_be16((num_pages * 16) + 4);
880 880
881 for (page = 0; page < num_pages; page++) { 881 for (page = 0; page < num_pages; page++) {
882 prlo->prlo_params[page].type = FC_TYPE_FCP; 882 prlo->prlo_params[page].type = FC_TYPE_FCP;
@@ -886,7 +886,7 @@ fc_prlo_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id,
886 prlo->prlo_params[page].resp_process_assc = 0; 886 prlo->prlo_params[page].resp_process_assc = 0;
887 } 887 }
888 888
889 return bfa_os_ntohs(prlo->payload_len); 889 return be16_to_cpu(prlo->payload_len);
890} 890}
891 891
892u16 892u16
@@ -901,7 +901,7 @@ fc_prlo_rsp_parse(struct fchs_s *fchs, int len)
901 if (prlo->command != FC_ELS_ACC) 901 if (prlo->command != FC_ELS_ACC)
902 return FC_PARSE_FAILURE; 902 return FC_PARSE_FAILURE;
903 903
904 num_pages = ((bfa_os_ntohs(prlo->payload_len)) - 4) / 16; 904 num_pages = ((be16_to_cpu(prlo->payload_len)) - 4) / 16;
905 905
906 for (page = 0; page < num_pages; page++) { 906 for (page = 0; page < num_pages; page++) {
907 if (prlo->prlo_acc_params[page].type != FC_TYPE_FCP) 907 if (prlo->prlo_acc_params[page].type != FC_TYPE_FCP)
@@ -931,10 +931,10 @@ fc_tprlo_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id,
931 int page; 931 int page;
932 932
933 fc_els_req_build(fchs, d_id, s_id, ox_id); 933 fc_els_req_build(fchs, d_id, s_id, ox_id);
934 bfa_os_memset(tprlo, 0, (num_pages * 16) + 4); 934 memset(tprlo, 0, (num_pages * 16) + 4);
935 tprlo->command = FC_ELS_TPRLO; 935 tprlo->command = FC_ELS_TPRLO;
936 tprlo->page_len = 0x10; 936 tprlo->page_len = 0x10;
937 tprlo->payload_len = bfa_os_htons((num_pages * 16) + 4); 937 tprlo->payload_len = cpu_to_be16((num_pages * 16) + 4);
938 938
939 for (page = 0; page < num_pages; page++) { 939 for (page = 0; page < num_pages; page++) {
940 tprlo->tprlo_params[page].type = FC_TYPE_FCP; 940 tprlo->tprlo_params[page].type = FC_TYPE_FCP;
@@ -950,7 +950,7 @@ fc_tprlo_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id,
950 } 950 }
951 } 951 }
952 952
953 return bfa_os_ntohs(tprlo->payload_len); 953 return be16_to_cpu(tprlo->payload_len);
954} 954}
955 955
956u16 956u16
@@ -965,7 +965,7 @@ fc_tprlo_rsp_parse(struct fchs_s *fchs, int len)
965 if (tprlo->command != FC_ELS_ACC) 965 if (tprlo->command != FC_ELS_ACC)
966 return FC_PARSE_ACC_INVAL; 966 return FC_PARSE_ACC_INVAL;
967 967
968 num_pages = (bfa_os_ntohs(tprlo->payload_len) - 4) / 16; 968 num_pages = (be16_to_cpu(tprlo->payload_len) - 4) / 16;
969 969
970 for (page = 0; page < num_pages; page++) { 970 for (page = 0; page < num_pages; page++) {
971 if (tprlo->tprlo_acc_params[page].type != FC_TYPE_FCP) 971 if (tprlo->tprlo_acc_params[page].type != FC_TYPE_FCP)
@@ -1011,32 +1011,32 @@ fc_ba_rjt_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id,
1011static void 1011static void
1012fc_gs_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code) 1012fc_gs_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code)
1013{ 1013{
1014 bfa_os_memset(cthdr, 0, sizeof(struct ct_hdr_s)); 1014 memset(cthdr, 0, sizeof(struct ct_hdr_s));
1015 cthdr->rev_id = CT_GS3_REVISION; 1015 cthdr->rev_id = CT_GS3_REVISION;
1016 cthdr->gs_type = CT_GSTYPE_DIRSERVICE; 1016 cthdr->gs_type = CT_GSTYPE_DIRSERVICE;
1017 cthdr->gs_sub_type = CT_GSSUBTYPE_NAMESERVER; 1017 cthdr->gs_sub_type = CT_GSSUBTYPE_NAMESERVER;
1018 cthdr->cmd_rsp_code = bfa_os_htons(cmd_code); 1018 cthdr->cmd_rsp_code = cpu_to_be16(cmd_code);
1019} 1019}
1020 1020
1021static void 1021static void
1022fc_gs_fdmi_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code) 1022fc_gs_fdmi_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code)
1023{ 1023{
1024 bfa_os_memset(cthdr, 0, sizeof(struct ct_hdr_s)); 1024 memset(cthdr, 0, sizeof(struct ct_hdr_s));
1025 cthdr->rev_id = CT_GS3_REVISION; 1025 cthdr->rev_id = CT_GS3_REVISION;
1026 cthdr->gs_type = CT_GSTYPE_MGMTSERVICE; 1026 cthdr->gs_type = CT_GSTYPE_MGMTSERVICE;
1027 cthdr->gs_sub_type = CT_GSSUBTYPE_HBA_MGMTSERVER; 1027 cthdr->gs_sub_type = CT_GSSUBTYPE_HBA_MGMTSERVER;
1028 cthdr->cmd_rsp_code = bfa_os_htons(cmd_code); 1028 cthdr->cmd_rsp_code = cpu_to_be16(cmd_code);
1029} 1029}
1030 1030
1031static void 1031static void
1032fc_gs_ms_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code, 1032fc_gs_ms_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code,
1033 u8 sub_type) 1033 u8 sub_type)
1034{ 1034{
1035 bfa_os_memset(cthdr, 0, sizeof(struct ct_hdr_s)); 1035 memset(cthdr, 0, sizeof(struct ct_hdr_s));
1036 cthdr->rev_id = CT_GS3_REVISION; 1036 cthdr->rev_id = CT_GS3_REVISION;
1037 cthdr->gs_type = CT_GSTYPE_MGMTSERVICE; 1037 cthdr->gs_type = CT_GSTYPE_MGMTSERVICE;
1038 cthdr->gs_sub_type = sub_type; 1038 cthdr->gs_sub_type = sub_type;
1039 cthdr->cmd_rsp_code = bfa_os_htons(cmd_code); 1039 cthdr->cmd_rsp_code = cpu_to_be16(cmd_code);
1040} 1040}
1041 1041
1042u16 1042u16
@@ -1050,7 +1050,7 @@ fc_gidpn_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1050 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1050 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1051 fc_gs_cthdr_build(cthdr, s_id, GS_GID_PN); 1051 fc_gs_cthdr_build(cthdr, s_id, GS_GID_PN);
1052 1052
1053 bfa_os_memset(gidpn, 0, sizeof(struct fcgs_gidpn_req_s)); 1053 memset(gidpn, 0, sizeof(struct fcgs_gidpn_req_s));
1054 gidpn->port_name = port_name; 1054 gidpn->port_name = port_name;
1055 return sizeof(struct fcgs_gidpn_req_s) + sizeof(struct ct_hdr_s); 1055 return sizeof(struct fcgs_gidpn_req_s) + sizeof(struct ct_hdr_s);
1056} 1056}
@@ -1066,7 +1066,7 @@ fc_gpnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1066 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1066 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1067 fc_gs_cthdr_build(cthdr, s_id, GS_GPN_ID); 1067 fc_gs_cthdr_build(cthdr, s_id, GS_GPN_ID);
1068 1068
1069 bfa_os_memset(gpnid, 0, sizeof(fcgs_gpnid_req_t)); 1069 memset(gpnid, 0, sizeof(fcgs_gpnid_req_t));
1070 gpnid->dap = port_id; 1070 gpnid->dap = port_id;
1071 return sizeof(fcgs_gpnid_req_t) + sizeof(struct ct_hdr_s); 1071 return sizeof(fcgs_gpnid_req_t) + sizeof(struct ct_hdr_s);
1072} 1072}
@@ -1082,7 +1082,7 @@ fc_gnnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1082 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1082 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1083 fc_gs_cthdr_build(cthdr, s_id, GS_GNN_ID); 1083 fc_gs_cthdr_build(cthdr, s_id, GS_GNN_ID);
1084 1084
1085 bfa_os_memset(gnnid, 0, sizeof(fcgs_gnnid_req_t)); 1085 memset(gnnid, 0, sizeof(fcgs_gnnid_req_t));
1086 gnnid->dap = port_id; 1086 gnnid->dap = port_id;
1087 return sizeof(fcgs_gnnid_req_t) + sizeof(struct ct_hdr_s); 1087 return sizeof(fcgs_gnnid_req_t) + sizeof(struct ct_hdr_s);
1088} 1088}
@@ -1090,7 +1090,7 @@ fc_gnnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1090u16 1090u16
1091fc_ct_rsp_parse(struct ct_hdr_s *cthdr) 1091fc_ct_rsp_parse(struct ct_hdr_s *cthdr)
1092{ 1092{
1093 if (bfa_os_ntohs(cthdr->cmd_rsp_code) != CT_RSP_ACCEPT) { 1093 if (be16_to_cpu(cthdr->cmd_rsp_code) != CT_RSP_ACCEPT) {
1094 if (cthdr->reason_code == CT_RSN_LOGICAL_BUSY) 1094 if (cthdr->reason_code == CT_RSN_LOGICAL_BUSY)
1095 return FC_PARSE_BUSY; 1095 return FC_PARSE_BUSY;
1096 else 1096 else
@@ -1108,7 +1108,7 @@ fc_scr_build(struct fchs_s *fchs, struct fc_scr_s *scr,
1108 1108
1109 fc_els_req_build(fchs, d_id, s_id, ox_id); 1109 fc_els_req_build(fchs, d_id, s_id, ox_id);
1110 1110
1111 bfa_os_memset(scr, 0, sizeof(struct fc_scr_s)); 1111 memset(scr, 0, sizeof(struct fc_scr_s));
1112 scr->command = FC_ELS_SCR; 1112 scr->command = FC_ELS_SCR;
1113 scr->reg_func = FC_SCR_REG_FUNC_FULL; 1113 scr->reg_func = FC_SCR_REG_FUNC_FULL;
1114 if (set_br_reg) 1114 if (set_br_reg)
@@ -1129,7 +1129,7 @@ fc_rscn_build(struct fchs_s *fchs, struct fc_rscn_pl_s *rscn,
1129 rscn->pagelen = sizeof(rscn->event[0]); 1129 rscn->pagelen = sizeof(rscn->event[0]);
1130 1130
1131 payldlen = sizeof(u32) + rscn->pagelen; 1131 payldlen = sizeof(u32) + rscn->pagelen;
1132 rscn->payldlen = bfa_os_htons(payldlen); 1132 rscn->payldlen = cpu_to_be16(payldlen);
1133 1133
1134 rscn->event[0].format = FC_RSCN_FORMAT_PORTID; 1134 rscn->event[0].format = FC_RSCN_FORMAT_PORTID;
1135 rscn->event[0].portid = s_id; 1135 rscn->event[0].portid = s_id;
@@ -1149,14 +1149,14 @@ fc_rftid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1149 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1149 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1150 fc_gs_cthdr_build(cthdr, s_id, GS_RFT_ID); 1150 fc_gs_cthdr_build(cthdr, s_id, GS_RFT_ID);
1151 1151
1152 bfa_os_memset(rftid, 0, sizeof(struct fcgs_rftid_req_s)); 1152 memset(rftid, 0, sizeof(struct fcgs_rftid_req_s));
1153 1153
1154 rftid->dap = s_id; 1154 rftid->dap = s_id;
1155 1155
1156 /* By default, FCP FC4 Type is registered */ 1156 /* By default, FCP FC4 Type is registered */
1157 index = FC_TYPE_FCP >> 5; 1157 index = FC_TYPE_FCP >> 5;
1158 type_value = 1 << (FC_TYPE_FCP % 32); 1158 type_value = 1 << (FC_TYPE_FCP % 32);
1159 rftid->fc4_type[index] = bfa_os_htonl(type_value); 1159 rftid->fc4_type[index] = cpu_to_be32(type_value);
1160 1160
1161 return sizeof(struct fcgs_rftid_req_s) + sizeof(struct ct_hdr_s); 1161 return sizeof(struct fcgs_rftid_req_s) + sizeof(struct ct_hdr_s);
1162} 1162}
@@ -1172,10 +1172,10 @@ fc_rftid_build_sol(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1172 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1172 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1173 fc_gs_cthdr_build(cthdr, s_id, GS_RFT_ID); 1173 fc_gs_cthdr_build(cthdr, s_id, GS_RFT_ID);
1174 1174
1175 bfa_os_memset(rftid, 0, sizeof(struct fcgs_rftid_req_s)); 1175 memset(rftid, 0, sizeof(struct fcgs_rftid_req_s));
1176 1176
1177 rftid->dap = s_id; 1177 rftid->dap = s_id;
1178 bfa_os_memcpy((void *)rftid->fc4_type, (void *)fc4_bitmap, 1178 memcpy((void *)rftid->fc4_type, (void *)fc4_bitmap,
1179 (bitmap_size < 32 ? bitmap_size : 32)); 1179 (bitmap_size < 32 ? bitmap_size : 32));
1180 1180
1181 return sizeof(struct fcgs_rftid_req_s) + sizeof(struct ct_hdr_s); 1181 return sizeof(struct fcgs_rftid_req_s) + sizeof(struct ct_hdr_s);
@@ -1192,7 +1192,7 @@ fc_rffid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1192 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1192 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1193 fc_gs_cthdr_build(cthdr, s_id, GS_RFF_ID); 1193 fc_gs_cthdr_build(cthdr, s_id, GS_RFF_ID);
1194 1194
1195 bfa_os_memset(rffid, 0, sizeof(struct fcgs_rffid_req_s)); 1195 memset(rffid, 0, sizeof(struct fcgs_rffid_req_s));
1196 1196
1197 rffid->dap = s_id; 1197 rffid->dap = s_id;
1198 rffid->fc4ftr_bits = fc4_ftrs; 1198 rffid->fc4ftr_bits = fc4_ftrs;
@@ -1214,7 +1214,7 @@ fc_rspnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1214 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id); 1214 fc_gs_fchdr_build(fchs, d_id, s_id, ox_id);
1215 fc_gs_cthdr_build(cthdr, s_id, GS_RSPN_ID); 1215 fc_gs_cthdr_build(cthdr, s_id, GS_RSPN_ID);
1216 1216
1217 bfa_os_memset(rspnid, 0, sizeof(struct fcgs_rspnid_req_s)); 1217 memset(rspnid, 0, sizeof(struct fcgs_rspnid_req_s));
1218 1218
1219 rspnid->dap = s_id; 1219 rspnid->dap = s_id;
1220 rspnid->spn_len = (u8) strlen((char *)name); 1220 rspnid->spn_len = (u8) strlen((char *)name);
@@ -1235,7 +1235,7 @@ fc_gid_ft_build(struct fchs_s *fchs, void *pyld, u32 s_id, u8 fc4_type)
1235 1235
1236 fc_gs_cthdr_build(cthdr, s_id, GS_GID_FT); 1236 fc_gs_cthdr_build(cthdr, s_id, GS_GID_FT);
1237 1237
1238 bfa_os_memset(gidft, 0, sizeof(struct fcgs_gidft_req_s)); 1238 memset(gidft, 0, sizeof(struct fcgs_gidft_req_s));
1239 gidft->fc4_type = fc4_type; 1239 gidft->fc4_type = fc4_type;
1240 gidft->domain_id = 0; 1240 gidft->domain_id = 0;
1241 gidft->area_id = 0; 1241 gidft->area_id = 0;
@@ -1254,7 +1254,7 @@ fc_rpnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u32 port_id,
1254 fc_gs_fchdr_build(fchs, d_id, s_id, 0); 1254 fc_gs_fchdr_build(fchs, d_id, s_id, 0);
1255 fc_gs_cthdr_build(cthdr, s_id, GS_RPN_ID); 1255 fc_gs_cthdr_build(cthdr, s_id, GS_RPN_ID);
1256 1256
1257 bfa_os_memset(rpnid, 0, sizeof(struct fcgs_rpnid_req_s)); 1257 memset(rpnid, 0, sizeof(struct fcgs_rpnid_req_s));
1258 rpnid->port_id = port_id; 1258 rpnid->port_id = port_id;
1259 rpnid->port_name = port_name; 1259 rpnid->port_name = port_name;
1260 1260
@@ -1272,7 +1272,7 @@ fc_rnnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u32 port_id,
1272 fc_gs_fchdr_build(fchs, d_id, s_id, 0); 1272 fc_gs_fchdr_build(fchs, d_id, s_id, 0);
1273 fc_gs_cthdr_build(cthdr, s_id, GS_RNN_ID); 1273 fc_gs_cthdr_build(cthdr, s_id, GS_RNN_ID);
1274 1274
1275 bfa_os_memset(rnnid, 0, sizeof(struct fcgs_rnnid_req_s)); 1275 memset(rnnid, 0, sizeof(struct fcgs_rnnid_req_s));
1276 rnnid->port_id = port_id; 1276 rnnid->port_id = port_id;
1277 rnnid->node_name = node_name; 1277 rnnid->node_name = node_name;
1278 1278
@@ -1291,7 +1291,7 @@ fc_rcsid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u32 port_id,
1291 fc_gs_fchdr_build(fchs, d_id, s_id, 0); 1291 fc_gs_fchdr_build(fchs, d_id, s_id, 0);
1292 fc_gs_cthdr_build(cthdr, s_id, GS_RCS_ID); 1292 fc_gs_cthdr_build(cthdr, s_id, GS_RCS_ID);
1293 1293
1294 bfa_os_memset(rcsid, 0, sizeof(struct fcgs_rcsid_req_s)); 1294 memset(rcsid, 0, sizeof(struct fcgs_rcsid_req_s));
1295 rcsid->port_id = port_id; 1295 rcsid->port_id = port_id;
1296 rcsid->cos = cos; 1296 rcsid->cos = cos;
1297 1297
@@ -1309,7 +1309,7 @@ fc_rptid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u32 port_id,
1309 fc_gs_fchdr_build(fchs, d_id, s_id, 0); 1309 fc_gs_fchdr_build(fchs, d_id, s_id, 0);
1310 fc_gs_cthdr_build(cthdr, s_id, GS_RPT_ID); 1310 fc_gs_cthdr_build(cthdr, s_id, GS_RPT_ID);
1311 1311
1312 bfa_os_memset(rptid, 0, sizeof(struct fcgs_rptid_req_s)); 1312 memset(rptid, 0, sizeof(struct fcgs_rptid_req_s));
1313 rptid->port_id = port_id; 1313 rptid->port_id = port_id;
1314 rptid->port_type = port_type; 1314 rptid->port_type = port_type;
1315 1315
@@ -1326,7 +1326,7 @@ fc_ganxt_build(struct fchs_s *fchs, void *pyld, u32 s_id, u32 port_id)
1326 fc_gs_fchdr_build(fchs, d_id, s_id, 0); 1326 fc_gs_fchdr_build(fchs, d_id, s_id, 0);
1327 fc_gs_cthdr_build(cthdr, s_id, GS_GA_NXT); 1327 fc_gs_cthdr_build(cthdr, s_id, GS_GA_NXT);
1328 1328
1329 bfa_os_memset(ganxt, 0, sizeof(struct fcgs_ganxt_req_s)); 1329 memset(ganxt, 0, sizeof(struct fcgs_ganxt_req_s));
1330 ganxt->port_id = port_id; 1330 ganxt->port_id = port_id;
1331 1331
1332 return sizeof(struct ct_hdr_s) + sizeof(struct fcgs_ganxt_req_s); 1332 return sizeof(struct ct_hdr_s) + sizeof(struct fcgs_ganxt_req_s);
@@ -1365,7 +1365,7 @@ fc_get_fc4type_bitmask(u8 fc4_type, u8 *bit_mask)
1365 1365
1366 index = fc4_type >> 5; 1366 index = fc4_type >> 5;
1367 type_value = 1 << (fc4_type % 32); 1367 type_value = 1 << (fc4_type % 32);
1368 ptr[index] = bfa_os_htonl(type_value); 1368 ptr[index] = cpu_to_be32(type_value);
1369 1369
1370} 1370}
1371 1371
@@ -1383,7 +1383,7 @@ fc_gmal_req_build(struct fchs_s *fchs, void *pyld, u32 s_id, wwn_t wwn)
1383 fc_gs_ms_cthdr_build(cthdr, s_id, GS_FC_GMAL_CMD, 1383 fc_gs_ms_cthdr_build(cthdr, s_id, GS_FC_GMAL_CMD,
1384 CT_GSSUBTYPE_CFGSERVER); 1384 CT_GSSUBTYPE_CFGSERVER);
1385 1385
1386 bfa_os_memset(gmal, 0, sizeof(fcgs_gmal_req_t)); 1386 memset(gmal, 0, sizeof(fcgs_gmal_req_t));
1387 gmal->wwn = wwn; 1387 gmal->wwn = wwn;
1388 1388
1389 return sizeof(struct ct_hdr_s) + sizeof(fcgs_gmal_req_t); 1389 return sizeof(struct ct_hdr_s) + sizeof(fcgs_gmal_req_t);
@@ -1403,7 +1403,7 @@ fc_gfn_req_build(struct fchs_s *fchs, void *pyld, u32 s_id, wwn_t wwn)
1403 fc_gs_ms_cthdr_build(cthdr, s_id, GS_FC_GFN_CMD, 1403 fc_gs_ms_cthdr_build(cthdr, s_id, GS_FC_GFN_CMD,
1404 CT_GSSUBTYPE_CFGSERVER); 1404 CT_GSSUBTYPE_CFGSERVER);
1405 1405
1406 bfa_os_memset(gfn, 0, sizeof(fcgs_gfn_req_t)); 1406 memset(gfn, 0, sizeof(fcgs_gfn_req_t));
1407 gfn->wwn = wwn; 1407 gfn->wwn = wwn;
1408 1408
1409 return sizeof(struct ct_hdr_s) + sizeof(fcgs_gfn_req_t); 1409 return sizeof(struct ct_hdr_s) + sizeof(fcgs_gfn_req_t);
diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c
index aabbf3d3b394..cd7ef4818940 100644
--- a/drivers/scsi/bfa/bfa_fcpim.c
+++ b/drivers/scsi/bfa/bfa_fcpim.c
@@ -26,7 +26,7 @@ BFA_MODULE(fcpim);
26 (__l->__stats += __r->__stats) 26 (__l->__stats += __r->__stats)
27 27
28 28
29/** 29/*
30 * BFA ITNIM Related definitions 30 * BFA ITNIM Related definitions
31 */ 31 */
32static void bfa_itnim_update_del_itn_stats(struct bfa_itnim_s *itnim); 32static void bfa_itnim_update_del_itn_stats(struct bfa_itnim_s *itnim);
@@ -72,7 +72,7 @@ static void bfa_itnim_update_del_itn_stats(struct bfa_itnim_s *itnim);
72 } \ 72 } \
73} while (0) 73} while (0)
74 74
75/** 75/*
76 * bfa_itnim_sm BFA itnim state machine 76 * bfa_itnim_sm BFA itnim state machine
77 */ 77 */
78 78
@@ -89,7 +89,7 @@ enum bfa_itnim_event {
89 BFA_ITNIM_SM_QRESUME = 9, /* queue space available */ 89 BFA_ITNIM_SM_QRESUME = 9, /* queue space available */
90}; 90};
91 91
92/** 92/*
93 * BFA IOIM related definitions 93 * BFA IOIM related definitions
94 */ 94 */
95#define bfa_ioim_move_to_comp_q(__ioim) do { \ 95#define bfa_ioim_move_to_comp_q(__ioim) do { \
@@ -107,11 +107,11 @@ enum bfa_itnim_event {
107 if ((__fcpim)->profile_start) \ 107 if ((__fcpim)->profile_start) \
108 (__fcpim)->profile_start(__ioim); \ 108 (__fcpim)->profile_start(__ioim); \
109} while (0) 109} while (0)
110/** 110/*
111 * hal_ioim_sm 111 * hal_ioim_sm
112 */ 112 */
113 113
114/** 114/*
115 * IO state machine events 115 * IO state machine events
116 */ 116 */
117enum bfa_ioim_event { 117enum bfa_ioim_event {
@@ -136,11 +136,11 @@ enum bfa_ioim_event {
136}; 136};
137 137
138 138
139/** 139/*
140 * BFA TSKIM related definitions 140 * BFA TSKIM related definitions
141 */ 141 */
142 142
143/** 143/*
144 * task management completion handling 144 * task management completion handling
145 */ 145 */
146#define bfa_tskim_qcomp(__tskim, __cbfn) do { \ 146#define bfa_tskim_qcomp(__tskim, __cbfn) do { \
@@ -165,7 +165,7 @@ enum bfa_tskim_event {
165 BFA_TSKIM_SM_CLEANUP_DONE = 9, /* TM abort completion */ 165 BFA_TSKIM_SM_CLEANUP_DONE = 9, /* TM abort completion */
166}; 166};
167 167
168/** 168/*
169 * forward declaration for BFA ITNIM functions 169 * forward declaration for BFA ITNIM functions
170 */ 170 */
171static void bfa_itnim_iocdisable_cleanup(struct bfa_itnim_s *itnim); 171static void bfa_itnim_iocdisable_cleanup(struct bfa_itnim_s *itnim);
@@ -183,7 +183,7 @@ static void bfa_itnim_iotov_start(struct bfa_itnim_s *itnim);
183static void bfa_itnim_iotov_stop(struct bfa_itnim_s *itnim); 183static void bfa_itnim_iotov_stop(struct bfa_itnim_s *itnim);
184static void bfa_itnim_iotov_delete(struct bfa_itnim_s *itnim); 184static void bfa_itnim_iotov_delete(struct bfa_itnim_s *itnim);
185 185
186/** 186/*
187 * forward declaration of ITNIM state machine 187 * forward declaration of ITNIM state machine
188 */ 188 */
189static void bfa_itnim_sm_uninit(struct bfa_itnim_s *itnim, 189static void bfa_itnim_sm_uninit(struct bfa_itnim_s *itnim,
@@ -217,7 +217,7 @@ static void bfa_itnim_sm_fwdelete_qfull(struct bfa_itnim_s *itnim,
217static void bfa_itnim_sm_deleting_qfull(struct bfa_itnim_s *itnim, 217static void bfa_itnim_sm_deleting_qfull(struct bfa_itnim_s *itnim,
218 enum bfa_itnim_event event); 218 enum bfa_itnim_event event);
219 219
220/** 220/*
221 * forward declaration for BFA IOIM functions 221 * forward declaration for BFA IOIM functions
222 */ 222 */
223static bfa_boolean_t bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim); 223static bfa_boolean_t bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim);
@@ -233,7 +233,7 @@ static void __bfa_cb_ioim_pathtov(void *cbarg, bfa_boolean_t complete);
233static bfa_boolean_t bfa_ioim_is_abortable(struct bfa_ioim_s *ioim); 233static bfa_boolean_t bfa_ioim_is_abortable(struct bfa_ioim_s *ioim);
234 234
235 235
236/** 236/*
237 * forward declaration of BFA IO state machine 237 * forward declaration of BFA IO state machine
238 */ 238 */
239static void bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim, 239static void bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim,
@@ -261,7 +261,7 @@ static void bfa_ioim_sm_resfree(struct bfa_ioim_s *ioim,
261static void bfa_ioim_sm_cmnd_retry(struct bfa_ioim_s *ioim, 261static void bfa_ioim_sm_cmnd_retry(struct bfa_ioim_s *ioim,
262 enum bfa_ioim_event event); 262 enum bfa_ioim_event event);
263 263
264/** 264/*
265 * forward declaration for BFA TSKIM functions 265 * forward declaration for BFA TSKIM functions
266 */ 266 */
267static void __bfa_cb_tskim_done(void *cbarg, bfa_boolean_t complete); 267static void __bfa_cb_tskim_done(void *cbarg, bfa_boolean_t complete);
@@ -276,7 +276,7 @@ static bfa_boolean_t bfa_tskim_send_abort(struct bfa_tskim_s *tskim);
276static void bfa_tskim_iocdisable_ios(struct bfa_tskim_s *tskim); 276static void bfa_tskim_iocdisable_ios(struct bfa_tskim_s *tskim);
277 277
278 278
279/** 279/*
280 * forward declaration of BFA TSKIM state machine 280 * forward declaration of BFA TSKIM state machine
281 */ 281 */
282static void bfa_tskim_sm_uninit(struct bfa_tskim_s *tskim, 282static void bfa_tskim_sm_uninit(struct bfa_tskim_s *tskim,
@@ -294,11 +294,11 @@ static void bfa_tskim_sm_cleanup_qfull(struct bfa_tskim_s *tskim,
294static void bfa_tskim_sm_hcb(struct bfa_tskim_s *tskim, 294static void bfa_tskim_sm_hcb(struct bfa_tskim_s *tskim,
295 enum bfa_tskim_event event); 295 enum bfa_tskim_event event);
296 296
297/** 297/*
298 * hal_fcpim_mod BFA FCP Initiator Mode module 298 * hal_fcpim_mod BFA FCP Initiator Mode module
299 */ 299 */
300 300
301/** 301/*
302 * Compute and return memory needed by FCP(im) module. 302 * Compute and return memory needed by FCP(im) module.
303 */ 303 */
304static void 304static void
@@ -307,7 +307,7 @@ bfa_fcpim_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *km_len,
307{ 307{
308 bfa_itnim_meminfo(cfg, km_len, dm_len); 308 bfa_itnim_meminfo(cfg, km_len, dm_len);
309 309
310 /** 310 /*
311 * IO memory 311 * IO memory
312 */ 312 */
313 if (cfg->fwcfg.num_ioim_reqs < BFA_IOIM_MIN) 313 if (cfg->fwcfg.num_ioim_reqs < BFA_IOIM_MIN)
@@ -320,7 +320,7 @@ bfa_fcpim_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *km_len,
320 320
321 *dm_len += cfg->fwcfg.num_ioim_reqs * BFI_IOIM_SNSLEN; 321 *dm_len += cfg->fwcfg.num_ioim_reqs * BFI_IOIM_SNSLEN;
322 322
323 /** 323 /*
324 * task management command memory 324 * task management command memory
325 */ 325 */
326 if (cfg->fwcfg.num_tskim_reqs < BFA_TSKIM_MIN) 326 if (cfg->fwcfg.num_tskim_reqs < BFA_TSKIM_MIN)
@@ -463,7 +463,7 @@ bfa_fcpim_port_iostats(struct bfa_s *bfa, struct bfa_itnim_iostats_s *stats,
463 struct bfa_itnim_s *itnim; 463 struct bfa_itnim_s *itnim;
464 464
465 /* accumulate IO stats from itnim */ 465 /* accumulate IO stats from itnim */
466 bfa_os_memset(stats, 0, sizeof(struct bfa_itnim_iostats_s)); 466 memset(stats, 0, sizeof(struct bfa_itnim_iostats_s));
467 list_for_each_safe(qe, qen, &fcpim->itnim_q) { 467 list_for_each_safe(qe, qen, &fcpim->itnim_q) {
468 itnim = (struct bfa_itnim_s *) qe; 468 itnim = (struct bfa_itnim_s *) qe;
469 if (itnim->rport->rport_info.lp_tag != lp_tag) 469 if (itnim->rport->rport_info.lp_tag != lp_tag)
@@ -480,7 +480,7 @@ bfa_fcpim_get_modstats(struct bfa_s *bfa, struct bfa_itnim_iostats_s *modstats)
480 struct bfa_itnim_s *itnim; 480 struct bfa_itnim_s *itnim;
481 481
482 /* accumulate IO stats from itnim */ 482 /* accumulate IO stats from itnim */
483 bfa_os_memset(modstats, 0, sizeof(struct bfa_itnim_iostats_s)); 483 memset(modstats, 0, sizeof(struct bfa_itnim_iostats_s));
484 list_for_each_safe(qe, qen, &fcpim->itnim_q) { 484 list_for_each_safe(qe, qen, &fcpim->itnim_q) {
485 itnim = (struct bfa_itnim_s *) qe; 485 itnim = (struct bfa_itnim_s *) qe;
486 bfa_fcpim_add_stats(modstats, &(itnim->stats)); 486 bfa_fcpim_add_stats(modstats, &(itnim->stats));
@@ -560,7 +560,7 @@ bfa_fcpim_clr_modstats(struct bfa_s *bfa)
560 itnim = (struct bfa_itnim_s *) qe; 560 itnim = (struct bfa_itnim_s *) qe;
561 bfa_itnim_clear_stats(itnim); 561 bfa_itnim_clear_stats(itnim);
562 } 562 }
563 bfa_os_memset(&fcpim->del_itn_stats, 0, 563 memset(&fcpim->del_itn_stats, 0,
564 sizeof(struct bfa_fcpim_del_itn_stats_s)); 564 sizeof(struct bfa_fcpim_del_itn_stats_s));
565 565
566 return BFA_STATUS_OK; 566 return BFA_STATUS_OK;
@@ -604,11 +604,11 @@ bfa_fcpim_set_ioredirect(struct bfa_s *bfa, bfa_boolean_t state)
604 604
605 605
606 606
607/** 607/*
608 * BFA ITNIM module state machine functions 608 * BFA ITNIM module state machine functions
609 */ 609 */
610 610
611/** 611/*
612 * Beginning/unallocated state - no events expected. 612 * Beginning/unallocated state - no events expected.
613 */ 613 */
614static void 614static void
@@ -629,7 +629,7 @@ bfa_itnim_sm_uninit(struct bfa_itnim_s *itnim, enum bfa_itnim_event event)
629 } 629 }
630} 630}
631 631
632/** 632/*
633 * Beginning state, only online event expected. 633 * Beginning state, only online event expected.
634 */ 634 */
635static void 635static void
@@ -660,7 +660,7 @@ bfa_itnim_sm_created(struct bfa_itnim_s *itnim, enum bfa_itnim_event event)
660 } 660 }
661} 661}
662 662
663/** 663/*
664 * Waiting for itnim create response from firmware. 664 * Waiting for itnim create response from firmware.
665 */ 665 */
666static void 666static void
@@ -732,7 +732,7 @@ bfa_itnim_sm_fwcreate_qfull(struct bfa_itnim_s *itnim,
732 } 732 }
733} 733}
734 734
735/** 735/*
736 * Waiting for itnim create response from firmware, a delete is pending. 736 * Waiting for itnim create response from firmware, a delete is pending.
737 */ 737 */
738static void 738static void
@@ -760,7 +760,7 @@ bfa_itnim_sm_delete_pending(struct bfa_itnim_s *itnim,
760 } 760 }
761} 761}
762 762
763/** 763/*
764 * Online state - normal parking state. 764 * Online state - normal parking state.
765 */ 765 */
766static void 766static void
@@ -802,7 +802,7 @@ bfa_itnim_sm_online(struct bfa_itnim_s *itnim, enum bfa_itnim_event event)
802 } 802 }
803} 803}
804 804
805/** 805/*
806 * Second level error recovery need. 806 * Second level error recovery need.
807 */ 807 */
808static void 808static void
@@ -833,7 +833,7 @@ bfa_itnim_sm_sler(struct bfa_itnim_s *itnim, enum bfa_itnim_event event)
833 } 833 }
834} 834}
835 835
836/** 836/*
837 * Going offline. Waiting for active IO cleanup. 837 * Going offline. Waiting for active IO cleanup.
838 */ 838 */
839static void 839static void
@@ -870,7 +870,7 @@ bfa_itnim_sm_cleanup_offline(struct bfa_itnim_s *itnim,
870 } 870 }
871} 871}
872 872
873/** 873/*
874 * Deleting itnim. Waiting for active IO cleanup. 874 * Deleting itnim. Waiting for active IO cleanup.
875 */ 875 */
876static void 876static void
@@ -898,7 +898,7 @@ bfa_itnim_sm_cleanup_delete(struct bfa_itnim_s *itnim,
898 } 898 }
899} 899}
900 900
901/** 901/*
902 * Rport offline. Fimrware itnim is being deleted - awaiting f/w response. 902 * Rport offline. Fimrware itnim is being deleted - awaiting f/w response.
903 */ 903 */
904static void 904static void
@@ -955,7 +955,7 @@ bfa_itnim_sm_fwdelete_qfull(struct bfa_itnim_s *itnim,
955 } 955 }
956} 956}
957 957
958/** 958/*
959 * Offline state. 959 * Offline state.
960 */ 960 */
961static void 961static void
@@ -987,7 +987,7 @@ bfa_itnim_sm_offline(struct bfa_itnim_s *itnim, enum bfa_itnim_event event)
987 } 987 }
988} 988}
989 989
990/** 990/*
991 * IOC h/w failed state. 991 * IOC h/w failed state.
992 */ 992 */
993static void 993static void
@@ -1023,7 +1023,7 @@ bfa_itnim_sm_iocdisable(struct bfa_itnim_s *itnim,
1023 } 1023 }
1024} 1024}
1025 1025
1026/** 1026/*
1027 * Itnim is deleted, waiting for firmware response to delete. 1027 * Itnim is deleted, waiting for firmware response to delete.
1028 */ 1028 */
1029static void 1029static void
@@ -1068,7 +1068,7 @@ bfa_itnim_sm_deleting_qfull(struct bfa_itnim_s *itnim,
1068 } 1068 }
1069} 1069}
1070 1070
1071/** 1071/*
1072 * Initiate cleanup of all IOs on an IOC failure. 1072 * Initiate cleanup of all IOs on an IOC failure.
1073 */ 1073 */
1074static void 1074static void
@@ -1088,7 +1088,7 @@ bfa_itnim_iocdisable_cleanup(struct bfa_itnim_s *itnim)
1088 bfa_ioim_iocdisable(ioim); 1088 bfa_ioim_iocdisable(ioim);
1089 } 1089 }
1090 1090
1091 /** 1091 /*
1092 * For IO request in pending queue, we pretend an early timeout. 1092 * For IO request in pending queue, we pretend an early timeout.
1093 */ 1093 */
1094 list_for_each_safe(qe, qen, &itnim->pending_q) { 1094 list_for_each_safe(qe, qen, &itnim->pending_q) {
@@ -1102,7 +1102,7 @@ bfa_itnim_iocdisable_cleanup(struct bfa_itnim_s *itnim)
1102 } 1102 }
1103} 1103}
1104 1104
1105/** 1105/*
1106 * IO cleanup completion 1106 * IO cleanup completion
1107 */ 1107 */
1108static void 1108static void
@@ -1114,7 +1114,7 @@ bfa_itnim_cleanp_comp(void *itnim_cbarg)
1114 bfa_sm_send_event(itnim, BFA_ITNIM_SM_CLEANUP); 1114 bfa_sm_send_event(itnim, BFA_ITNIM_SM_CLEANUP);
1115} 1115}
1116 1116
1117/** 1117/*
1118 * Initiate cleanup of all IOs. 1118 * Initiate cleanup of all IOs.
1119 */ 1119 */
1120static void 1120static void
@@ -1129,7 +1129,7 @@ bfa_itnim_cleanup(struct bfa_itnim_s *itnim)
1129 list_for_each_safe(qe, qen, &itnim->io_q) { 1129 list_for_each_safe(qe, qen, &itnim->io_q) {
1130 ioim = (struct bfa_ioim_s *) qe; 1130 ioim = (struct bfa_ioim_s *) qe;
1131 1131
1132 /** 1132 /*
1133 * Move IO to a cleanup queue from active queue so that a later 1133 * Move IO to a cleanup queue from active queue so that a later
1134 * TM will not pickup this IO. 1134 * TM will not pickup this IO.
1135 */ 1135 */
@@ -1176,7 +1176,7 @@ __bfa_cb_itnim_sler(void *cbarg, bfa_boolean_t complete)
1176 bfa_cb_itnim_sler(itnim->ditn); 1176 bfa_cb_itnim_sler(itnim->ditn);
1177} 1177}
1178 1178
1179/** 1179/*
1180 * Call to resume any I/O requests waiting for room in request queue. 1180 * Call to resume any I/O requests waiting for room in request queue.
1181 */ 1181 */
1182static void 1182static void
@@ -1190,7 +1190,7 @@ bfa_itnim_qresume(void *cbarg)
1190 1190
1191 1191
1192 1192
1193/** 1193/*
1194 * bfa_itnim_public 1194 * bfa_itnim_public
1195 */ 1195 */
1196 1196
@@ -1210,7 +1210,7 @@ void
1210bfa_itnim_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *km_len, 1210bfa_itnim_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *km_len,
1211 u32 *dm_len) 1211 u32 *dm_len)
1212{ 1212{
1213 /** 1213 /*
1214 * ITN memory 1214 * ITN memory
1215 */ 1215 */
1216 *km_len += cfg->fwcfg.num_rports * sizeof(struct bfa_itnim_s); 1216 *km_len += cfg->fwcfg.num_rports * sizeof(struct bfa_itnim_s);
@@ -1229,7 +1229,7 @@ bfa_itnim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
1229 fcpim->itnim_arr = itnim; 1229 fcpim->itnim_arr = itnim;
1230 1230
1231 for (i = 0; i < fcpim->num_itnims; i++, itnim++) { 1231 for (i = 0; i < fcpim->num_itnims; i++, itnim++) {
1232 bfa_os_memset(itnim, 0, sizeof(struct bfa_itnim_s)); 1232 memset(itnim, 0, sizeof(struct bfa_itnim_s));
1233 itnim->bfa = bfa; 1233 itnim->bfa = bfa;
1234 itnim->fcpim = fcpim; 1234 itnim->fcpim = fcpim;
1235 itnim->reqq = BFA_REQQ_QOS_LO; 1235 itnim->reqq = BFA_REQQ_QOS_LO;
@@ -1264,7 +1264,7 @@ bfa_itnim_send_fwcreate(struct bfa_itnim_s *itnim)
1264 1264
1265 itnim->msg_no++; 1265 itnim->msg_no++;
1266 1266
1267 /** 1267 /*
1268 * check for room in queue to send request now 1268 * check for room in queue to send request now
1269 */ 1269 */
1270 m = bfa_reqq_next(itnim->bfa, itnim->reqq); 1270 m = bfa_reqq_next(itnim->bfa, itnim->reqq);
@@ -1281,7 +1281,7 @@ bfa_itnim_send_fwcreate(struct bfa_itnim_s *itnim)
1281 m->msg_no = itnim->msg_no; 1281 m->msg_no = itnim->msg_no;
1282 bfa_stats(itnim, fw_create); 1282 bfa_stats(itnim, fw_create);
1283 1283
1284 /** 1284 /*
1285 * queue I/O message to firmware 1285 * queue I/O message to firmware
1286 */ 1286 */
1287 bfa_reqq_produce(itnim->bfa, itnim->reqq); 1287 bfa_reqq_produce(itnim->bfa, itnim->reqq);
@@ -1293,7 +1293,7 @@ bfa_itnim_send_fwdelete(struct bfa_itnim_s *itnim)
1293{ 1293{
1294 struct bfi_itnim_delete_req_s *m; 1294 struct bfi_itnim_delete_req_s *m;
1295 1295
1296 /** 1296 /*
1297 * check for room in queue to send request now 1297 * check for room in queue to send request now
1298 */ 1298 */
1299 m = bfa_reqq_next(itnim->bfa, itnim->reqq); 1299 m = bfa_reqq_next(itnim->bfa, itnim->reqq);
@@ -1307,14 +1307,14 @@ bfa_itnim_send_fwdelete(struct bfa_itnim_s *itnim)
1307 m->fw_handle = itnim->rport->fw_handle; 1307 m->fw_handle = itnim->rport->fw_handle;
1308 bfa_stats(itnim, fw_delete); 1308 bfa_stats(itnim, fw_delete);
1309 1309
1310 /** 1310 /*
1311 * queue I/O message to firmware 1311 * queue I/O message to firmware
1312 */ 1312 */
1313 bfa_reqq_produce(itnim->bfa, itnim->reqq); 1313 bfa_reqq_produce(itnim->bfa, itnim->reqq);
1314 return BFA_TRUE; 1314 return BFA_TRUE;
1315} 1315}
1316 1316
1317/** 1317/*
1318 * Cleanup all pending failed inflight requests. 1318 * Cleanup all pending failed inflight requests.
1319 */ 1319 */
1320static void 1320static void
@@ -1329,7 +1329,7 @@ bfa_itnim_delayed_comp(struct bfa_itnim_s *itnim, bfa_boolean_t iotov)
1329 } 1329 }
1330} 1330}
1331 1331
1332/** 1332/*
1333 * Start all pending IO requests. 1333 * Start all pending IO requests.
1334 */ 1334 */
1335static void 1335static void
@@ -1339,12 +1339,12 @@ bfa_itnim_iotov_online(struct bfa_itnim_s *itnim)
1339 1339
1340 bfa_itnim_iotov_stop(itnim); 1340 bfa_itnim_iotov_stop(itnim);
1341 1341
1342 /** 1342 /*
1343 * Abort all inflight IO requests in the queue 1343 * Abort all inflight IO requests in the queue
1344 */ 1344 */
1345 bfa_itnim_delayed_comp(itnim, BFA_FALSE); 1345 bfa_itnim_delayed_comp(itnim, BFA_FALSE);
1346 1346
1347 /** 1347 /*
1348 * Start all pending IO requests. 1348 * Start all pending IO requests.
1349 */ 1349 */
1350 while (!list_empty(&itnim->pending_q)) { 1350 while (!list_empty(&itnim->pending_q)) {
@@ -1354,7 +1354,7 @@ bfa_itnim_iotov_online(struct bfa_itnim_s *itnim)
1354 } 1354 }
1355} 1355}
1356 1356
1357/** 1357/*
1358 * Fail all pending IO requests 1358 * Fail all pending IO requests
1359 */ 1359 */
1360static void 1360static void
@@ -1362,12 +1362,12 @@ bfa_itnim_iotov_cleanup(struct bfa_itnim_s *itnim)
1362{ 1362{
1363 struct bfa_ioim_s *ioim; 1363 struct bfa_ioim_s *ioim;
1364 1364
1365 /** 1365 /*
1366 * Fail all inflight IO requests in the queue 1366 * Fail all inflight IO requests in the queue
1367 */ 1367 */
1368 bfa_itnim_delayed_comp(itnim, BFA_TRUE); 1368 bfa_itnim_delayed_comp(itnim, BFA_TRUE);
1369 1369
1370 /** 1370 /*
1371 * Fail any pending IO requests. 1371 * Fail any pending IO requests.
1372 */ 1372 */
1373 while (!list_empty(&itnim->pending_q)) { 1373 while (!list_empty(&itnim->pending_q)) {
@@ -1377,7 +1377,7 @@ bfa_itnim_iotov_cleanup(struct bfa_itnim_s *itnim)
1377 } 1377 }
1378} 1378}
1379 1379
1380/** 1380/*
1381 * IO TOV timer callback. Fail any pending IO requests. 1381 * IO TOV timer callback. Fail any pending IO requests.
1382 */ 1382 */
1383static void 1383static void
@@ -1392,7 +1392,7 @@ bfa_itnim_iotov(void *itnim_arg)
1392 bfa_cb_itnim_tov(itnim->ditn); 1392 bfa_cb_itnim_tov(itnim->ditn);
1393} 1393}
1394 1394
1395/** 1395/*
1396 * Start IO TOV timer for failing back pending IO requests in offline state. 1396 * Start IO TOV timer for failing back pending IO requests in offline state.
1397 */ 1397 */
1398static void 1398static void
@@ -1407,7 +1407,7 @@ bfa_itnim_iotov_start(struct bfa_itnim_s *itnim)
1407 } 1407 }
1408} 1408}
1409 1409
1410/** 1410/*
1411 * Stop IO TOV timer. 1411 * Stop IO TOV timer.
1412 */ 1412 */
1413static void 1413static void
@@ -1419,7 +1419,7 @@ bfa_itnim_iotov_stop(struct bfa_itnim_s *itnim)
1419 } 1419 }
1420} 1420}
1421 1421
1422/** 1422/*
1423 * Stop IO TOV timer. 1423 * Stop IO TOV timer.
1424 */ 1424 */
1425static void 1425static void
@@ -1459,11 +1459,11 @@ bfa_itnim_update_del_itn_stats(struct bfa_itnim_s *itnim)
1459 1459
1460 1460
1461 1461
1462/** 1462/*
1463 * bfa_itnim_public 1463 * bfa_itnim_public
1464 */ 1464 */
1465 1465
1466/** 1466/*
1467 * Itnim interrupt processing. 1467 * Itnim interrupt processing.
1468 */ 1468 */
1469void 1469void
@@ -1509,7 +1509,7 @@ bfa_itnim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
1509 1509
1510 1510
1511 1511
1512/** 1512/*
1513 * bfa_itnim_api 1513 * bfa_itnim_api
1514 */ 1514 */
1515 1515
@@ -1552,7 +1552,7 @@ bfa_itnim_offline(struct bfa_itnim_s *itnim)
1552 bfa_sm_send_event(itnim, BFA_ITNIM_SM_OFFLINE); 1552 bfa_sm_send_event(itnim, BFA_ITNIM_SM_OFFLINE);
1553} 1553}
1554 1554
1555/** 1555/*
1556 * Return true if itnim is considered offline for holding off IO request. 1556 * Return true if itnim is considered offline for holding off IO request.
1557 * IO is not held if itnim is being deleted. 1557 * IO is not held if itnim is being deleted.
1558 */ 1558 */
@@ -1597,17 +1597,17 @@ void
1597bfa_itnim_clear_stats(struct bfa_itnim_s *itnim) 1597bfa_itnim_clear_stats(struct bfa_itnim_s *itnim)
1598{ 1598{
1599 int j; 1599 int j;
1600 bfa_os_memset(&itnim->stats, 0, sizeof(itnim->stats)); 1600 memset(&itnim->stats, 0, sizeof(itnim->stats));
1601 bfa_os_memset(&itnim->ioprofile, 0, sizeof(itnim->ioprofile)); 1601 memset(&itnim->ioprofile, 0, sizeof(itnim->ioprofile));
1602 for (j = 0; j < BFA_IOBUCKET_MAX; j++) 1602 for (j = 0; j < BFA_IOBUCKET_MAX; j++)
1603 itnim->ioprofile.io_latency.min[j] = ~0; 1603 itnim->ioprofile.io_latency.min[j] = ~0;
1604} 1604}
1605 1605
1606/** 1606/*
1607 * BFA IO module state machine functions 1607 * BFA IO module state machine functions
1608 */ 1608 */
1609 1609
1610/** 1610/*
1611 * IO is not started (unallocated). 1611 * IO is not started (unallocated).
1612 */ 1612 */
1613static void 1613static void
@@ -1657,7 +1657,7 @@ bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1657 break; 1657 break;
1658 1658
1659 case BFA_IOIM_SM_ABORT: 1659 case BFA_IOIM_SM_ABORT:
1660 /** 1660 /*
1661 * IO in pending queue can get abort requests. Complete abort 1661 * IO in pending queue can get abort requests. Complete abort
1662 * requests immediately. 1662 * requests immediately.
1663 */ 1663 */
@@ -1672,7 +1672,7 @@ bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1672 } 1672 }
1673} 1673}
1674 1674
1675/** 1675/*
1676 * IO is waiting for SG pages. 1676 * IO is waiting for SG pages.
1677 */ 1677 */
1678static void 1678static void
@@ -1719,7 +1719,7 @@ bfa_ioim_sm_sgalloc(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1719 } 1719 }
1720} 1720}
1721 1721
1722/** 1722/*
1723 * IO is active. 1723 * IO is active.
1724 */ 1724 */
1725static void 1725static void
@@ -1803,7 +1803,7 @@ bfa_ioim_sm_active(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1803 } 1803 }
1804} 1804}
1805 1805
1806/** 1806/*
1807* IO is retried with new tag. 1807* IO is retried with new tag.
1808*/ 1808*/
1809static void 1809static void
@@ -1844,7 +1844,7 @@ bfa_ioim_sm_cmnd_retry(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1844 break; 1844 break;
1845 1845
1846 case BFA_IOIM_SM_ABORT: 1846 case BFA_IOIM_SM_ABORT:
1847 /** in this state IO abort is done. 1847 /* in this state IO abort is done.
1848 * Waiting for IO tag resource free. 1848 * Waiting for IO tag resource free.
1849 */ 1849 */
1850 bfa_sm_set_state(ioim, bfa_ioim_sm_hcb_free); 1850 bfa_sm_set_state(ioim, bfa_ioim_sm_hcb_free);
@@ -1857,7 +1857,7 @@ bfa_ioim_sm_cmnd_retry(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1857 } 1857 }
1858} 1858}
1859 1859
1860/** 1860/*
1861 * IO is being aborted, waiting for completion from firmware. 1861 * IO is being aborted, waiting for completion from firmware.
1862 */ 1862 */
1863static void 1863static void
@@ -1919,7 +1919,7 @@ bfa_ioim_sm_abort(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1919 } 1919 }
1920} 1920}
1921 1921
1922/** 1922/*
1923 * IO is being cleaned up (implicit abort), waiting for completion from 1923 * IO is being cleaned up (implicit abort), waiting for completion from
1924 * firmware. 1924 * firmware.
1925 */ 1925 */
@@ -1937,7 +1937,7 @@ bfa_ioim_sm_cleanup(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1937 break; 1937 break;
1938 1938
1939 case BFA_IOIM_SM_ABORT: 1939 case BFA_IOIM_SM_ABORT:
1940 /** 1940 /*
1941 * IO is already being aborted implicitly 1941 * IO is already being aborted implicitly
1942 */ 1942 */
1943 ioim->io_cbfn = __bfa_cb_ioim_abort; 1943 ioim->io_cbfn = __bfa_cb_ioim_abort;
@@ -1969,7 +1969,7 @@ bfa_ioim_sm_cleanup(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1969 break; 1969 break;
1970 1970
1971 case BFA_IOIM_SM_CLEANUP: 1971 case BFA_IOIM_SM_CLEANUP:
1972 /** 1972 /*
1973 * IO can be in cleanup state already due to TM command. 1973 * IO can be in cleanup state already due to TM command.
1974 * 2nd cleanup request comes from ITN offline event. 1974 * 2nd cleanup request comes from ITN offline event.
1975 */ 1975 */
@@ -1980,7 +1980,7 @@ bfa_ioim_sm_cleanup(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
1980 } 1980 }
1981} 1981}
1982 1982
1983/** 1983/*
1984 * IO is waiting for room in request CQ 1984 * IO is waiting for room in request CQ
1985 */ 1985 */
1986static void 1986static void
@@ -2024,7 +2024,7 @@ bfa_ioim_sm_qfull(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2024 } 2024 }
2025} 2025}
2026 2026
2027/** 2027/*
2028 * Active IO is being aborted, waiting for room in request CQ. 2028 * Active IO is being aborted, waiting for room in request CQ.
2029 */ 2029 */
2030static void 2030static void
@@ -2075,7 +2075,7 @@ bfa_ioim_sm_abort_qfull(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2075 } 2075 }
2076} 2076}
2077 2077
2078/** 2078/*
2079 * Active IO is being cleaned up, waiting for room in request CQ. 2079 * Active IO is being cleaned up, waiting for room in request CQ.
2080 */ 2080 */
2081static void 2081static void
@@ -2091,7 +2091,7 @@ bfa_ioim_sm_cleanup_qfull(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2091 break; 2091 break;
2092 2092
2093 case BFA_IOIM_SM_ABORT: 2093 case BFA_IOIM_SM_ABORT:
2094 /** 2094 /*
2095 * IO is already being cleaned up implicitly 2095 * IO is already being cleaned up implicitly
2096 */ 2096 */
2097 ioim->io_cbfn = __bfa_cb_ioim_abort; 2097 ioim->io_cbfn = __bfa_cb_ioim_abort;
@@ -2125,7 +2125,7 @@ bfa_ioim_sm_cleanup_qfull(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2125 } 2125 }
2126} 2126}
2127 2127
2128/** 2128/*
2129 * IO bfa callback is pending. 2129 * IO bfa callback is pending.
2130 */ 2130 */
2131static void 2131static void
@@ -2152,7 +2152,7 @@ bfa_ioim_sm_hcb(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2152 } 2152 }
2153} 2153}
2154 2154
2155/** 2155/*
2156 * IO bfa callback is pending. IO resource cannot be freed. 2156 * IO bfa callback is pending. IO resource cannot be freed.
2157 */ 2157 */
2158static void 2158static void
@@ -2185,7 +2185,7 @@ bfa_ioim_sm_hcb_free(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2185 } 2185 }
2186} 2186}
2187 2187
2188/** 2188/*
2189 * IO is completed, waiting resource free from firmware. 2189 * IO is completed, waiting resource free from firmware.
2190 */ 2190 */
2191static void 2191static void
@@ -2214,7 +2214,7 @@ bfa_ioim_sm_resfree(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2214 2214
2215 2215
2216 2216
2217/** 2217/*
2218 * hal_ioim_private 2218 * hal_ioim_private
2219 */ 2219 */
2220 2220
@@ -2247,7 +2247,7 @@ __bfa_cb_ioim_comp(void *cbarg, bfa_boolean_t complete)
2247 2247
2248 m = (struct bfi_ioim_rsp_s *) &ioim->iosp->comp_rspmsg; 2248 m = (struct bfi_ioim_rsp_s *) &ioim->iosp->comp_rspmsg;
2249 if (m->io_status == BFI_IOIM_STS_OK) { 2249 if (m->io_status == BFI_IOIM_STS_OK) {
2250 /** 2250 /*
2251 * setup sense information, if present 2251 * setup sense information, if present
2252 */ 2252 */
2253 if ((m->scsi_status == SCSI_STATUS_CHECK_CONDITION) && 2253 if ((m->scsi_status == SCSI_STATUS_CHECK_CONDITION) &&
@@ -2256,15 +2256,15 @@ __bfa_cb_ioim_comp(void *cbarg, bfa_boolean_t complete)
2256 snsinfo = ioim->iosp->snsinfo; 2256 snsinfo = ioim->iosp->snsinfo;
2257 } 2257 }
2258 2258
2259 /** 2259 /*
2260 * setup residue value correctly for normal completions 2260 * setup residue value correctly for normal completions
2261 */ 2261 */
2262 if (m->resid_flags == FCP_RESID_UNDER) { 2262 if (m->resid_flags == FCP_RESID_UNDER) {
2263 residue = bfa_os_ntohl(m->residue); 2263 residue = be32_to_cpu(m->residue);
2264 bfa_stats(ioim->itnim, iocomp_underrun); 2264 bfa_stats(ioim->itnim, iocomp_underrun);
2265 } 2265 }
2266 if (m->resid_flags == FCP_RESID_OVER) { 2266 if (m->resid_flags == FCP_RESID_OVER) {
2267 residue = bfa_os_ntohl(m->residue); 2267 residue = be32_to_cpu(m->residue);
2268 residue = -residue; 2268 residue = -residue;
2269 bfa_stats(ioim->itnim, iocomp_overrun); 2269 bfa_stats(ioim->itnim, iocomp_overrun);
2270 } 2270 }
@@ -2327,7 +2327,7 @@ bfa_ioim_sgpg_alloced(void *cbarg)
2327 bfa_sm_send_event(ioim, BFA_IOIM_SM_SGALLOCED); 2327 bfa_sm_send_event(ioim, BFA_IOIM_SM_SGALLOCED);
2328} 2328}
2329 2329
2330/** 2330/*
2331 * Send I/O request to firmware. 2331 * Send I/O request to firmware.
2332 */ 2332 */
2333static bfa_boolean_t 2333static bfa_boolean_t
@@ -2343,7 +2343,7 @@ bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim)
2343 struct scatterlist *sg; 2343 struct scatterlist *sg;
2344 struct scsi_cmnd *cmnd = (struct scsi_cmnd *) ioim->dio; 2344 struct scsi_cmnd *cmnd = (struct scsi_cmnd *) ioim->dio;
2345 2345
2346 /** 2346 /*
2347 * check for room in queue to send request now 2347 * check for room in queue to send request now
2348 */ 2348 */
2349 m = bfa_reqq_next(ioim->bfa, ioim->reqq); 2349 m = bfa_reqq_next(ioim->bfa, ioim->reqq);
@@ -2354,14 +2354,14 @@ bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim)
2354 return BFA_FALSE; 2354 return BFA_FALSE;
2355 } 2355 }
2356 2356
2357 /** 2357 /*
2358 * build i/o request message next 2358 * build i/o request message next
2359 */ 2359 */
2360 m->io_tag = bfa_os_htons(ioim->iotag); 2360 m->io_tag = cpu_to_be16(ioim->iotag);
2361 m->rport_hdl = ioim->itnim->rport->fw_handle; 2361 m->rport_hdl = ioim->itnim->rport->fw_handle;
2362 m->io_timeout = bfa_cb_ioim_get_timeout(ioim->dio); 2362 m->io_timeout = bfa_cb_ioim_get_timeout(ioim->dio);
2363 2363
2364 /** 2364 /*
2365 * build inline IO SG element here 2365 * build inline IO SG element here
2366 */ 2366 */
2367 sge = &m->sges[0]; 2367 sge = &m->sges[0];
@@ -2387,18 +2387,17 @@ bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim)
2387 sge->flags = BFI_SGE_PGDLEN; 2387 sge->flags = BFI_SGE_PGDLEN;
2388 bfa_sge_to_be(sge); 2388 bfa_sge_to_be(sge);
2389 2389
2390 /** 2390 /*
2391 * set up I/O command parameters 2391 * set up I/O command parameters
2392 */ 2392 */
2393 bfa_os_assign(m->cmnd, cmnd_z0); 2393 m->cmnd = cmnd_z0;
2394 m->cmnd.lun = bfa_cb_ioim_get_lun(ioim->dio); 2394 m->cmnd.lun = bfa_cb_ioim_get_lun(ioim->dio);
2395 m->cmnd.iodir = bfa_cb_ioim_get_iodir(ioim->dio); 2395 m->cmnd.iodir = bfa_cb_ioim_get_iodir(ioim->dio);
2396 bfa_os_assign(m->cmnd.cdb, 2396 m->cmnd.cdb = *(scsi_cdb_t *)bfa_cb_ioim_get_cdb(ioim->dio);
2397 *(scsi_cdb_t *)bfa_cb_ioim_get_cdb(ioim->dio));
2398 fcp_dl = bfa_cb_ioim_get_size(ioim->dio); 2397 fcp_dl = bfa_cb_ioim_get_size(ioim->dio);
2399 m->cmnd.fcp_dl = bfa_os_htonl(fcp_dl); 2398 m->cmnd.fcp_dl = cpu_to_be32(fcp_dl);
2400 2399
2401 /** 2400 /*
2402 * set up I/O message header 2401 * set up I/O message header
2403 */ 2402 */
2404 switch (m->cmnd.iodir) { 2403 switch (m->cmnd.iodir) {
@@ -2427,28 +2426,28 @@ bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim)
2427 m->cmnd.priority = bfa_cb_ioim_get_priority(ioim->dio); 2426 m->cmnd.priority = bfa_cb_ioim_get_priority(ioim->dio);
2428 m->cmnd.taskattr = bfa_cb_ioim_get_taskattr(ioim->dio); 2427 m->cmnd.taskattr = bfa_cb_ioim_get_taskattr(ioim->dio);
2429 2428
2430 /** 2429 /*
2431 * Handle large CDB (>16 bytes). 2430 * Handle large CDB (>16 bytes).
2432 */ 2431 */
2433 m->cmnd.addl_cdb_len = (bfa_cb_ioim_get_cdblen(ioim->dio) - 2432 m->cmnd.addl_cdb_len = (bfa_cb_ioim_get_cdblen(ioim->dio) -
2434 FCP_CMND_CDB_LEN) / sizeof(u32); 2433 FCP_CMND_CDB_LEN) / sizeof(u32);
2435 if (m->cmnd.addl_cdb_len) { 2434 if (m->cmnd.addl_cdb_len) {
2436 bfa_os_memcpy(&m->cmnd.cdb + 1, (scsi_cdb_t *) 2435 memcpy(&m->cmnd.cdb + 1, (scsi_cdb_t *)
2437 bfa_cb_ioim_get_cdb(ioim->dio) + 1, 2436 bfa_cb_ioim_get_cdb(ioim->dio) + 1,
2438 m->cmnd.addl_cdb_len * sizeof(u32)); 2437 m->cmnd.addl_cdb_len * sizeof(u32));
2439 fcp_cmnd_fcpdl(&m->cmnd) = 2438 fcp_cmnd_fcpdl(&m->cmnd) =
2440 bfa_os_htonl(bfa_cb_ioim_get_size(ioim->dio)); 2439 cpu_to_be32(bfa_cb_ioim_get_size(ioim->dio));
2441 } 2440 }
2442#endif 2441#endif
2443 2442
2444 /** 2443 /*
2445 * queue I/O message to firmware 2444 * queue I/O message to firmware
2446 */ 2445 */
2447 bfa_reqq_produce(ioim->bfa, ioim->reqq); 2446 bfa_reqq_produce(ioim->bfa, ioim->reqq);
2448 return BFA_TRUE; 2447 return BFA_TRUE;
2449} 2448}
2450 2449
2451/** 2450/*
2452 * Setup any additional SG pages needed.Inline SG element is setup 2451 * Setup any additional SG pages needed.Inline SG element is setup
2453 * at queuing time. 2452 * at queuing time.
2454 */ 2453 */
@@ -2459,7 +2458,7 @@ bfa_ioim_sge_setup(struct bfa_ioim_s *ioim)
2459 2458
2460 bfa_assert(ioim->nsges > BFI_SGE_INLINE); 2459 bfa_assert(ioim->nsges > BFI_SGE_INLINE);
2461 2460
2462 /** 2461 /*
2463 * allocate SG pages needed 2462 * allocate SG pages needed
2464 */ 2463 */
2465 nsgpgs = BFA_SGPG_NPAGE(ioim->nsges); 2464 nsgpgs = BFA_SGPG_NPAGE(ioim->nsges);
@@ -2508,7 +2507,7 @@ bfa_ioim_sgpg_setup(struct bfa_ioim_s *ioim)
2508 sge->sg_len = sg_dma_len(sg); 2507 sge->sg_len = sg_dma_len(sg);
2509 pgcumsz += sge->sg_len; 2508 pgcumsz += sge->sg_len;
2510 2509
2511 /** 2510 /*
2512 * set flags 2511 * set flags
2513 */ 2512 */
2514 if (i < (nsges - 1)) 2513 if (i < (nsges - 1))
@@ -2523,7 +2522,7 @@ bfa_ioim_sgpg_setup(struct bfa_ioim_s *ioim)
2523 2522
2524 sgpg = (struct bfa_sgpg_s *) bfa_q_next(sgpg); 2523 sgpg = (struct bfa_sgpg_s *) bfa_q_next(sgpg);
2525 2524
2526 /** 2525 /*
2527 * set the link element of each page 2526 * set the link element of each page
2528 */ 2527 */
2529 if (sgeid == ioim->nsges) { 2528 if (sgeid == ioim->nsges) {
@@ -2540,7 +2539,7 @@ bfa_ioim_sgpg_setup(struct bfa_ioim_s *ioim)
2540 } while (sgeid < ioim->nsges); 2539 } while (sgeid < ioim->nsges);
2541} 2540}
2542 2541
2543/** 2542/*
2544 * Send I/O abort request to firmware. 2543 * Send I/O abort request to firmware.
2545 */ 2544 */
2546static bfa_boolean_t 2545static bfa_boolean_t
@@ -2549,14 +2548,14 @@ bfa_ioim_send_abort(struct bfa_ioim_s *ioim)
2549 struct bfi_ioim_abort_req_s *m; 2548 struct bfi_ioim_abort_req_s *m;
2550 enum bfi_ioim_h2i msgop; 2549 enum bfi_ioim_h2i msgop;
2551 2550
2552 /** 2551 /*
2553 * check for room in queue to send request now 2552 * check for room in queue to send request now
2554 */ 2553 */
2555 m = bfa_reqq_next(ioim->bfa, ioim->reqq); 2554 m = bfa_reqq_next(ioim->bfa, ioim->reqq);
2556 if (!m) 2555 if (!m)
2557 return BFA_FALSE; 2556 return BFA_FALSE;
2558 2557
2559 /** 2558 /*
2560 * build i/o request message next 2559 * build i/o request message next
2561 */ 2560 */
2562 if (ioim->iosp->abort_explicit) 2561 if (ioim->iosp->abort_explicit)
@@ -2565,17 +2564,17 @@ bfa_ioim_send_abort(struct bfa_ioim_s *ioim)
2565 msgop = BFI_IOIM_H2I_IOCLEANUP_REQ; 2564 msgop = BFI_IOIM_H2I_IOCLEANUP_REQ;
2566 2565
2567 bfi_h2i_set(m->mh, BFI_MC_IOIM, msgop, bfa_lpuid(ioim->bfa)); 2566 bfi_h2i_set(m->mh, BFI_MC_IOIM, msgop, bfa_lpuid(ioim->bfa));
2568 m->io_tag = bfa_os_htons(ioim->iotag); 2567 m->io_tag = cpu_to_be16(ioim->iotag);
2569 m->abort_tag = ++ioim->abort_tag; 2568 m->abort_tag = ++ioim->abort_tag;
2570 2569
2571 /** 2570 /*
2572 * queue I/O message to firmware 2571 * queue I/O message to firmware
2573 */ 2572 */
2574 bfa_reqq_produce(ioim->bfa, ioim->reqq); 2573 bfa_reqq_produce(ioim->bfa, ioim->reqq);
2575 return BFA_TRUE; 2574 return BFA_TRUE;
2576} 2575}
2577 2576
2578/** 2577/*
2579 * Call to resume any I/O requests waiting for room in request queue. 2578 * Call to resume any I/O requests waiting for room in request queue.
2580 */ 2579 */
2581static void 2580static void
@@ -2591,7 +2590,7 @@ bfa_ioim_qresume(void *cbarg)
2591static void 2590static void
2592bfa_ioim_notify_cleanup(struct bfa_ioim_s *ioim) 2591bfa_ioim_notify_cleanup(struct bfa_ioim_s *ioim)
2593{ 2592{
2594 /** 2593 /*
2595 * Move IO from itnim queue to fcpim global queue since itnim will be 2594 * Move IO from itnim queue to fcpim global queue since itnim will be
2596 * freed. 2595 * freed.
2597 */ 2596 */
@@ -2624,13 +2623,13 @@ bfa_ioim_is_abortable(struct bfa_ioim_s *ioim)
2624 return BFA_TRUE; 2623 return BFA_TRUE;
2625} 2624}
2626 2625
2627/** 2626/*
2628 * or after the link comes back. 2627 * or after the link comes back.
2629 */ 2628 */
2630void 2629void
2631bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, bfa_boolean_t iotov) 2630bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, bfa_boolean_t iotov)
2632{ 2631{
2633 /** 2632 /*
2634 * If path tov timer expired, failback with PATHTOV status - these 2633 * If path tov timer expired, failback with PATHTOV status - these
2635 * IO requests are not normally retried by IO stack. 2634 * IO requests are not normally retried by IO stack.
2636 * 2635 *
@@ -2645,7 +2644,7 @@ bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, bfa_boolean_t iotov)
2645 } 2644 }
2646 bfa_cb_queue(ioim->bfa, &ioim->hcb_qe, ioim->io_cbfn, ioim); 2645 bfa_cb_queue(ioim->bfa, &ioim->hcb_qe, ioim->io_cbfn, ioim);
2647 2646
2648 /** 2647 /*
2649 * Move IO to fcpim global queue since itnim will be 2648 * Move IO to fcpim global queue since itnim will be
2650 * freed. 2649 * freed.
2651 */ 2650 */
@@ -2655,11 +2654,11 @@ bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, bfa_boolean_t iotov)
2655 2654
2656 2655
2657 2656
2658/** 2657/*
2659 * hal_ioim_friend 2658 * hal_ioim_friend
2660 */ 2659 */
2661 2660
2662/** 2661/*
2663 * Memory allocation and initialization. 2662 * Memory allocation and initialization.
2664 */ 2663 */
2665void 2664void
@@ -2671,7 +2670,7 @@ bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
2671 u8 *snsinfo; 2670 u8 *snsinfo;
2672 u32 snsbufsz; 2671 u32 snsbufsz;
2673 2672
2674 /** 2673 /*
2675 * claim memory first 2674 * claim memory first
2676 */ 2675 */
2677 ioim = (struct bfa_ioim_s *) bfa_meminfo_kva(minfo); 2676 ioim = (struct bfa_ioim_s *) bfa_meminfo_kva(minfo);
@@ -2682,7 +2681,7 @@ bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
2682 fcpim->ioim_sp_arr = iosp; 2681 fcpim->ioim_sp_arr = iosp;
2683 bfa_meminfo_kva(minfo) = (u8 *) (iosp + fcpim->num_ioim_reqs); 2682 bfa_meminfo_kva(minfo) = (u8 *) (iosp + fcpim->num_ioim_reqs);
2684 2683
2685 /** 2684 /*
2686 * Claim DMA memory for per IO sense data. 2685 * Claim DMA memory for per IO sense data.
2687 */ 2686 */
2688 snsbufsz = fcpim->num_ioim_reqs * BFI_IOIM_SNSLEN; 2687 snsbufsz = fcpim->num_ioim_reqs * BFI_IOIM_SNSLEN;
@@ -2694,7 +2693,7 @@ bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
2694 snsinfo = fcpim->snsbase.kva; 2693 snsinfo = fcpim->snsbase.kva;
2695 bfa_iocfc_set_snsbase(fcpim->bfa, fcpim->snsbase.pa); 2694 bfa_iocfc_set_snsbase(fcpim->bfa, fcpim->snsbase.pa);
2696 2695
2697 /** 2696 /*
2698 * Initialize ioim free queues 2697 * Initialize ioim free queues
2699 */ 2698 */
2700 INIT_LIST_HEAD(&fcpim->ioim_free_q); 2699 INIT_LIST_HEAD(&fcpim->ioim_free_q);
@@ -2706,7 +2705,7 @@ bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
2706 /* 2705 /*
2707 * initialize IOIM 2706 * initialize IOIM
2708 */ 2707 */
2709 bfa_os_memset(ioim, 0, sizeof(struct bfa_ioim_s)); 2708 memset(ioim, 0, sizeof(struct bfa_ioim_s));
2710 ioim->iotag = i; 2709 ioim->iotag = i;
2711 ioim->bfa = fcpim->bfa; 2710 ioim->bfa = fcpim->bfa;
2712 ioim->fcpim = fcpim; 2711 ioim->fcpim = fcpim;
@@ -2723,7 +2722,7 @@ bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
2723 } 2722 }
2724} 2723}
2725 2724
2726/** 2725/*
2727 * Driver detach time call. 2726 * Driver detach time call.
2728 */ 2727 */
2729void 2728void
@@ -2740,7 +2739,7 @@ bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
2740 u16 iotag; 2739 u16 iotag;
2741 enum bfa_ioim_event evt = BFA_IOIM_SM_COMP; 2740 enum bfa_ioim_event evt = BFA_IOIM_SM_COMP;
2742 2741
2743 iotag = bfa_os_ntohs(rsp->io_tag); 2742 iotag = be16_to_cpu(rsp->io_tag);
2744 2743
2745 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag); 2744 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag);
2746 bfa_assert(ioim->iotag == iotag); 2745 bfa_assert(ioim->iotag == iotag);
@@ -2750,7 +2749,7 @@ bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
2750 bfa_trc(ioim->bfa, rsp->reuse_io_tag); 2749 bfa_trc(ioim->bfa, rsp->reuse_io_tag);
2751 2750
2752 if (bfa_sm_cmp_state(ioim, bfa_ioim_sm_active)) 2751 if (bfa_sm_cmp_state(ioim, bfa_ioim_sm_active))
2753 bfa_os_assign(ioim->iosp->comp_rspmsg, *m); 2752 ioim->iosp->comp_rspmsg = *m;
2754 2753
2755 switch (rsp->io_status) { 2754 switch (rsp->io_status) {
2756 case BFI_IOIM_STS_OK: 2755 case BFI_IOIM_STS_OK:
@@ -2823,7 +2822,7 @@ bfa_ioim_good_comp_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
2823 struct bfa_ioim_s *ioim; 2822 struct bfa_ioim_s *ioim;
2824 u16 iotag; 2823 u16 iotag;
2825 2824
2826 iotag = bfa_os_ntohs(rsp->io_tag); 2825 iotag = be16_to_cpu(rsp->io_tag);
2827 2826
2828 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag); 2827 ioim = BFA_IOIM_FROM_TAG(fcpim, iotag);
2829 bfa_assert(ioim->iotag == iotag); 2828 bfa_assert(ioim->iotag == iotag);
@@ -2837,7 +2836,7 @@ bfa_ioim_good_comp_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
2837void 2836void
2838bfa_ioim_profile_start(struct bfa_ioim_s *ioim) 2837bfa_ioim_profile_start(struct bfa_ioim_s *ioim)
2839{ 2838{
2840 ioim->start_time = bfa_os_get_clock(); 2839 ioim->start_time = jiffies;
2841} 2840}
2842 2841
2843void 2842void
@@ -2845,7 +2844,7 @@ bfa_ioim_profile_comp(struct bfa_ioim_s *ioim)
2845{ 2844{
2846 u32 fcp_dl = bfa_cb_ioim_get_size(ioim->dio); 2845 u32 fcp_dl = bfa_cb_ioim_get_size(ioim->dio);
2847 u32 index = bfa_ioim_get_index(fcp_dl); 2846 u32 index = bfa_ioim_get_index(fcp_dl);
2848 u64 end_time = bfa_os_get_clock(); 2847 u64 end_time = jiffies;
2849 struct bfa_itnim_latency_s *io_lat = 2848 struct bfa_itnim_latency_s *io_lat =
2850 &(ioim->itnim->ioprofile.io_latency); 2849 &(ioim->itnim->ioprofile.io_latency);
2851 u32 val = (u32)(end_time - ioim->start_time); 2850 u32 val = (u32)(end_time - ioim->start_time);
@@ -2859,7 +2858,7 @@ bfa_ioim_profile_comp(struct bfa_ioim_s *ioim)
2859 io_lat->max[index] : val; 2858 io_lat->max[index] : val;
2860 io_lat->avg[index] += val; 2859 io_lat->avg[index] += val;
2861} 2860}
2862/** 2861/*
2863 * Called by itnim to clean up IO while going offline. 2862 * Called by itnim to clean up IO while going offline.
2864 */ 2863 */
2865void 2864void
@@ -2882,7 +2881,7 @@ bfa_ioim_cleanup_tm(struct bfa_ioim_s *ioim, struct bfa_tskim_s *tskim)
2882 bfa_sm_send_event(ioim, BFA_IOIM_SM_CLEANUP); 2881 bfa_sm_send_event(ioim, BFA_IOIM_SM_CLEANUP);
2883} 2882}
2884 2883
2885/** 2884/*
2886 * IOC failure handling. 2885 * IOC failure handling.
2887 */ 2886 */
2888void 2887void
@@ -2893,7 +2892,7 @@ bfa_ioim_iocdisable(struct bfa_ioim_s *ioim)
2893 bfa_sm_send_event(ioim, BFA_IOIM_SM_HWFAIL); 2892 bfa_sm_send_event(ioim, BFA_IOIM_SM_HWFAIL);
2894} 2893}
2895 2894
2896/** 2895/*
2897 * IO offline TOV popped. Fail the pending IO. 2896 * IO offline TOV popped. Fail the pending IO.
2898 */ 2897 */
2899void 2898void
@@ -2905,11 +2904,11 @@ bfa_ioim_tov(struct bfa_ioim_s *ioim)
2905 2904
2906 2905
2907 2906
2908/** 2907/*
2909 * hal_ioim_api 2908 * hal_ioim_api
2910 */ 2909 */
2911 2910
2912/** 2911/*
2913 * Allocate IOIM resource for initiator mode I/O request. 2912 * Allocate IOIM resource for initiator mode I/O request.
2914 */ 2913 */
2915struct bfa_ioim_s * 2914struct bfa_ioim_s *
@@ -2919,7 +2918,7 @@ bfa_ioim_alloc(struct bfa_s *bfa, struct bfad_ioim_s *dio,
2919 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa); 2918 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa);
2920 struct bfa_ioim_s *ioim; 2919 struct bfa_ioim_s *ioim;
2921 2920
2922 /** 2921 /*
2923 * alocate IOIM resource 2922 * alocate IOIM resource
2924 */ 2923 */
2925 bfa_q_deq(&fcpim->ioim_free_q, &ioim); 2924 bfa_q_deq(&fcpim->ioim_free_q, &ioim);
@@ -2970,7 +2969,7 @@ bfa_ioim_start(struct bfa_ioim_s *ioim)
2970 2969
2971 bfa_ioim_cb_profile_start(ioim->fcpim, ioim); 2970 bfa_ioim_cb_profile_start(ioim->fcpim, ioim);
2972 2971
2973 /** 2972 /*
2974 * Obtain the queue over which this request has to be issued 2973 * Obtain the queue over which this request has to be issued
2975 */ 2974 */
2976 ioim->reqq = bfa_fcpim_ioredirect_enabled(ioim->bfa) ? 2975 ioim->reqq = bfa_fcpim_ioredirect_enabled(ioim->bfa) ?
@@ -2980,7 +2979,7 @@ bfa_ioim_start(struct bfa_ioim_s *ioim)
2980 bfa_sm_send_event(ioim, BFA_IOIM_SM_START); 2979 bfa_sm_send_event(ioim, BFA_IOIM_SM_START);
2981} 2980}
2982 2981
2983/** 2982/*
2984 * Driver I/O abort request. 2983 * Driver I/O abort request.
2985 */ 2984 */
2986bfa_status_t 2985bfa_status_t
@@ -2999,11 +2998,11 @@ bfa_ioim_abort(struct bfa_ioim_s *ioim)
2999} 2998}
3000 2999
3001 3000
3002/** 3001/*
3003 * BFA TSKIM state machine functions 3002 * BFA TSKIM state machine functions
3004 */ 3003 */
3005 3004
3006/** 3005/*
3007 * Task management command beginning state. 3006 * Task management command beginning state.
3008 */ 3007 */
3009static void 3008static void
@@ -3016,7 +3015,7 @@ bfa_tskim_sm_uninit(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3016 bfa_sm_set_state(tskim, bfa_tskim_sm_active); 3015 bfa_sm_set_state(tskim, bfa_tskim_sm_active);
3017 bfa_tskim_gather_ios(tskim); 3016 bfa_tskim_gather_ios(tskim);
3018 3017
3019 /** 3018 /*
3020 * If device is offline, do not send TM on wire. Just cleanup 3019 * If device is offline, do not send TM on wire. Just cleanup
3021 * any pending IO requests and complete TM request. 3020 * any pending IO requests and complete TM request.
3022 */ 3021 */
@@ -3040,7 +3039,7 @@ bfa_tskim_sm_uninit(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3040 } 3039 }
3041} 3040}
3042 3041
3043/** 3042/*
3044 * brief 3043 * brief
3045 * TM command is active, awaiting completion from firmware to 3044 * TM command is active, awaiting completion from firmware to
3046 * cleanup IO requests in TM scope. 3045 * cleanup IO requests in TM scope.
@@ -3077,7 +3076,7 @@ bfa_tskim_sm_active(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3077 } 3076 }
3078} 3077}
3079 3078
3080/** 3079/*
3081 * An active TM is being cleaned up since ITN is offline. Awaiting cleanup 3080 * An active TM is being cleaned up since ITN is offline. Awaiting cleanup
3082 * completion event from firmware. 3081 * completion event from firmware.
3083 */ 3082 */
@@ -3088,7 +3087,7 @@ bfa_tskim_sm_cleanup(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3088 3087
3089 switch (event) { 3088 switch (event) {
3090 case BFA_TSKIM_SM_DONE: 3089 case BFA_TSKIM_SM_DONE:
3091 /** 3090 /*
3092 * Ignore and wait for ABORT completion from firmware. 3091 * Ignore and wait for ABORT completion from firmware.
3093 */ 3092 */
3094 break; 3093 break;
@@ -3121,7 +3120,7 @@ bfa_tskim_sm_iocleanup(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3121 break; 3120 break;
3122 3121
3123 case BFA_TSKIM_SM_CLEANUP: 3122 case BFA_TSKIM_SM_CLEANUP:
3124 /** 3123 /*
3125 * Ignore, TM command completed on wire. 3124 * Ignore, TM command completed on wire.
3126 * Notify TM conmpletion on IO cleanup completion. 3125 * Notify TM conmpletion on IO cleanup completion.
3127 */ 3126 */
@@ -3138,7 +3137,7 @@ bfa_tskim_sm_iocleanup(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3138 } 3137 }
3139} 3138}
3140 3139
3141/** 3140/*
3142 * Task management command is waiting for room in request CQ 3141 * Task management command is waiting for room in request CQ
3143 */ 3142 */
3144static void 3143static void
@@ -3153,7 +3152,7 @@ bfa_tskim_sm_qfull(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3153 break; 3152 break;
3154 3153
3155 case BFA_TSKIM_SM_CLEANUP: 3154 case BFA_TSKIM_SM_CLEANUP:
3156 /** 3155 /*
3157 * No need to send TM on wire since ITN is offline. 3156 * No need to send TM on wire since ITN is offline.
3158 */ 3157 */
3159 bfa_sm_set_state(tskim, bfa_tskim_sm_iocleanup); 3158 bfa_sm_set_state(tskim, bfa_tskim_sm_iocleanup);
@@ -3173,7 +3172,7 @@ bfa_tskim_sm_qfull(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3173 } 3172 }
3174} 3173}
3175 3174
3176/** 3175/*
3177 * Task management command is active, awaiting for room in request CQ 3176 * Task management command is active, awaiting for room in request CQ
3178 * to send clean up request. 3177 * to send clean up request.
3179 */ 3178 */
@@ -3186,7 +3185,7 @@ bfa_tskim_sm_cleanup_qfull(struct bfa_tskim_s *tskim,
3186 switch (event) { 3185 switch (event) {
3187 case BFA_TSKIM_SM_DONE: 3186 case BFA_TSKIM_SM_DONE:
3188 bfa_reqq_wcancel(&tskim->reqq_wait); 3187 bfa_reqq_wcancel(&tskim->reqq_wait);
3189 /** 3188 /*
3190 * 3189 *
3191 * Fall through !!! 3190 * Fall through !!!
3192 */ 3191 */
@@ -3208,7 +3207,7 @@ bfa_tskim_sm_cleanup_qfull(struct bfa_tskim_s *tskim,
3208 } 3207 }
3209} 3208}
3210 3209
3211/** 3210/*
3212 * BFA callback is pending 3211 * BFA callback is pending
3213 */ 3212 */
3214static void 3213static void
@@ -3236,7 +3235,7 @@ bfa_tskim_sm_hcb(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3236 3235
3237 3236
3238 3237
3239/** 3238/*
3240 * hal_tskim_private 3239 * hal_tskim_private
3241 */ 3240 */
3242 3241
@@ -3289,7 +3288,7 @@ bfa_tskim_match_scope(struct bfa_tskim_s *tskim, lun_t lun)
3289 return BFA_FALSE; 3288 return BFA_FALSE;
3290} 3289}
3291 3290
3292/** 3291/*
3293 * Gather affected IO requests and task management commands. 3292 * Gather affected IO requests and task management commands.
3294 */ 3293 */
3295static void 3294static void
@@ -3301,7 +3300,7 @@ bfa_tskim_gather_ios(struct bfa_tskim_s *tskim)
3301 3300
3302 INIT_LIST_HEAD(&tskim->io_q); 3301 INIT_LIST_HEAD(&tskim->io_q);
3303 3302
3304 /** 3303 /*
3305 * Gather any active IO requests first. 3304 * Gather any active IO requests first.
3306 */ 3305 */
3307 list_for_each_safe(qe, qen, &itnim->io_q) { 3306 list_for_each_safe(qe, qen, &itnim->io_q) {
@@ -3313,7 +3312,7 @@ bfa_tskim_gather_ios(struct bfa_tskim_s *tskim)
3313 } 3312 }
3314 } 3313 }
3315 3314
3316 /** 3315 /*
3317 * Failback any pending IO requests immediately. 3316 * Failback any pending IO requests immediately.
3318 */ 3317 */
3319 list_for_each_safe(qe, qen, &itnim->pending_q) { 3318 list_for_each_safe(qe, qen, &itnim->pending_q) {
@@ -3327,7 +3326,7 @@ bfa_tskim_gather_ios(struct bfa_tskim_s *tskim)
3327 } 3326 }
3328} 3327}
3329 3328
3330/** 3329/*
3331 * IO cleanup completion 3330 * IO cleanup completion
3332 */ 3331 */
3333static void 3332static void
@@ -3339,7 +3338,7 @@ bfa_tskim_cleanp_comp(void *tskim_cbarg)
3339 bfa_sm_send_event(tskim, BFA_TSKIM_SM_IOS_DONE); 3338 bfa_sm_send_event(tskim, BFA_TSKIM_SM_IOS_DONE);
3340} 3339}
3341 3340
3342/** 3341/*
3343 * Gather affected IO requests and task management commands. 3342 * Gather affected IO requests and task management commands.
3344 */ 3343 */
3345static void 3344static void
@@ -3359,7 +3358,7 @@ bfa_tskim_cleanup_ios(struct bfa_tskim_s *tskim)
3359 bfa_wc_wait(&tskim->wc); 3358 bfa_wc_wait(&tskim->wc);
3360} 3359}
3361 3360
3362/** 3361/*
3363 * Send task management request to firmware. 3362 * Send task management request to firmware.
3364 */ 3363 */
3365static bfa_boolean_t 3364static bfa_boolean_t
@@ -3368,33 +3367,33 @@ bfa_tskim_send(struct bfa_tskim_s *tskim)
3368 struct bfa_itnim_s *itnim = tskim->itnim; 3367 struct bfa_itnim_s *itnim = tskim->itnim;
3369 struct bfi_tskim_req_s *m; 3368 struct bfi_tskim_req_s *m;
3370 3369
3371 /** 3370 /*
3372 * check for room in queue to send request now 3371 * check for room in queue to send request now
3373 */ 3372 */
3374 m = bfa_reqq_next(tskim->bfa, itnim->reqq); 3373 m = bfa_reqq_next(tskim->bfa, itnim->reqq);
3375 if (!m) 3374 if (!m)
3376 return BFA_FALSE; 3375 return BFA_FALSE;
3377 3376
3378 /** 3377 /*
3379 * build i/o request message next 3378 * build i/o request message next
3380 */ 3379 */
3381 bfi_h2i_set(m->mh, BFI_MC_TSKIM, BFI_TSKIM_H2I_TM_REQ, 3380 bfi_h2i_set(m->mh, BFI_MC_TSKIM, BFI_TSKIM_H2I_TM_REQ,
3382 bfa_lpuid(tskim->bfa)); 3381 bfa_lpuid(tskim->bfa));
3383 3382
3384 m->tsk_tag = bfa_os_htons(tskim->tsk_tag); 3383 m->tsk_tag = cpu_to_be16(tskim->tsk_tag);
3385 m->itn_fhdl = tskim->itnim->rport->fw_handle; 3384 m->itn_fhdl = tskim->itnim->rport->fw_handle;
3386 m->t_secs = tskim->tsecs; 3385 m->t_secs = tskim->tsecs;
3387 m->lun = tskim->lun; 3386 m->lun = tskim->lun;
3388 m->tm_flags = tskim->tm_cmnd; 3387 m->tm_flags = tskim->tm_cmnd;
3389 3388
3390 /** 3389 /*
3391 * queue I/O message to firmware 3390 * queue I/O message to firmware
3392 */ 3391 */
3393 bfa_reqq_produce(tskim->bfa, itnim->reqq); 3392 bfa_reqq_produce(tskim->bfa, itnim->reqq);
3394 return BFA_TRUE; 3393 return BFA_TRUE;
3395} 3394}
3396 3395
3397/** 3396/*
3398 * Send abort request to cleanup an active TM to firmware. 3397 * Send abort request to cleanup an active TM to firmware.
3399 */ 3398 */
3400static bfa_boolean_t 3399static bfa_boolean_t
@@ -3403,29 +3402,29 @@ bfa_tskim_send_abort(struct bfa_tskim_s *tskim)
3403 struct bfa_itnim_s *itnim = tskim->itnim; 3402 struct bfa_itnim_s *itnim = tskim->itnim;
3404 struct bfi_tskim_abortreq_s *m; 3403 struct bfi_tskim_abortreq_s *m;
3405 3404
3406 /** 3405 /*
3407 * check for room in queue to send request now 3406 * check for room in queue to send request now
3408 */ 3407 */
3409 m = bfa_reqq_next(tskim->bfa, itnim->reqq); 3408 m = bfa_reqq_next(tskim->bfa, itnim->reqq);
3410 if (!m) 3409 if (!m)
3411 return BFA_FALSE; 3410 return BFA_FALSE;
3412 3411
3413 /** 3412 /*
3414 * build i/o request message next 3413 * build i/o request message next
3415 */ 3414 */
3416 bfi_h2i_set(m->mh, BFI_MC_TSKIM, BFI_TSKIM_H2I_ABORT_REQ, 3415 bfi_h2i_set(m->mh, BFI_MC_TSKIM, BFI_TSKIM_H2I_ABORT_REQ,
3417 bfa_lpuid(tskim->bfa)); 3416 bfa_lpuid(tskim->bfa));
3418 3417
3419 m->tsk_tag = bfa_os_htons(tskim->tsk_tag); 3418 m->tsk_tag = cpu_to_be16(tskim->tsk_tag);
3420 3419
3421 /** 3420 /*
3422 * queue I/O message to firmware 3421 * queue I/O message to firmware
3423 */ 3422 */
3424 bfa_reqq_produce(tskim->bfa, itnim->reqq); 3423 bfa_reqq_produce(tskim->bfa, itnim->reqq);
3425 return BFA_TRUE; 3424 return BFA_TRUE;
3426} 3425}
3427 3426
3428/** 3427/*
3429 * Call to resume task management cmnd waiting for room in request queue. 3428 * Call to resume task management cmnd waiting for room in request queue.
3430 */ 3429 */
3431static void 3430static void
@@ -3437,7 +3436,7 @@ bfa_tskim_qresume(void *cbarg)
3437 bfa_sm_send_event(tskim, BFA_TSKIM_SM_QRESUME); 3436 bfa_sm_send_event(tskim, BFA_TSKIM_SM_QRESUME);
3438} 3437}
3439 3438
3440/** 3439/*
3441 * Cleanup IOs associated with a task mangement command on IOC failures. 3440 * Cleanup IOs associated with a task mangement command on IOC failures.
3442 */ 3441 */
3443static void 3442static void
@@ -3454,11 +3453,11 @@ bfa_tskim_iocdisable_ios(struct bfa_tskim_s *tskim)
3454 3453
3455 3454
3456 3455
3457/** 3456/*
3458 * hal_tskim_friend 3457 * hal_tskim_friend
3459 */ 3458 */
3460 3459
3461/** 3460/*
3462 * Notification on completions from related ioim. 3461 * Notification on completions from related ioim.
3463 */ 3462 */
3464void 3463void
@@ -3467,7 +3466,7 @@ bfa_tskim_iodone(struct bfa_tskim_s *tskim)
3467 bfa_wc_down(&tskim->wc); 3466 bfa_wc_down(&tskim->wc);
3468} 3467}
3469 3468
3470/** 3469/*
3471 * Handle IOC h/w failure notification from itnim. 3470 * Handle IOC h/w failure notification from itnim.
3472 */ 3471 */
3473void 3472void
@@ -3478,7 +3477,7 @@ bfa_tskim_iocdisable(struct bfa_tskim_s *tskim)
3478 bfa_sm_send_event(tskim, BFA_TSKIM_SM_HWFAIL); 3477 bfa_sm_send_event(tskim, BFA_TSKIM_SM_HWFAIL);
3479} 3478}
3480 3479
3481/** 3480/*
3482 * Cleanup TM command and associated IOs as part of ITNIM offline. 3481 * Cleanup TM command and associated IOs as part of ITNIM offline.
3483 */ 3482 */
3484void 3483void
@@ -3489,7 +3488,7 @@ bfa_tskim_cleanup(struct bfa_tskim_s *tskim)
3489 bfa_sm_send_event(tskim, BFA_TSKIM_SM_CLEANUP); 3488 bfa_sm_send_event(tskim, BFA_TSKIM_SM_CLEANUP);
3490} 3489}
3491 3490
3492/** 3491/*
3493 * Memory allocation and initialization. 3492 * Memory allocation and initialization.
3494 */ 3493 */
3495void 3494void
@@ -3507,7 +3506,7 @@ bfa_tskim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
3507 /* 3506 /*
3508 * initialize TSKIM 3507 * initialize TSKIM
3509 */ 3508 */
3510 bfa_os_memset(tskim, 0, sizeof(struct bfa_tskim_s)); 3509 memset(tskim, 0, sizeof(struct bfa_tskim_s));
3511 tskim->tsk_tag = i; 3510 tskim->tsk_tag = i;
3512 tskim->bfa = fcpim->bfa; 3511 tskim->bfa = fcpim->bfa;
3513 tskim->fcpim = fcpim; 3512 tskim->fcpim = fcpim;
@@ -3525,7 +3524,7 @@ bfa_tskim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
3525void 3524void
3526bfa_tskim_detach(struct bfa_fcpim_mod_s *fcpim) 3525bfa_tskim_detach(struct bfa_fcpim_mod_s *fcpim)
3527{ 3526{
3528 /** 3527 /*
3529 * @todo 3528 * @todo
3530 */ 3529 */
3531} 3530}
@@ -3536,14 +3535,14 @@ bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
3536 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa); 3535 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa);
3537 struct bfi_tskim_rsp_s *rsp = (struct bfi_tskim_rsp_s *) m; 3536 struct bfi_tskim_rsp_s *rsp = (struct bfi_tskim_rsp_s *) m;
3538 struct bfa_tskim_s *tskim; 3537 struct bfa_tskim_s *tskim;
3539 u16 tsk_tag = bfa_os_ntohs(rsp->tsk_tag); 3538 u16 tsk_tag = be16_to_cpu(rsp->tsk_tag);
3540 3539
3541 tskim = BFA_TSKIM_FROM_TAG(fcpim, tsk_tag); 3540 tskim = BFA_TSKIM_FROM_TAG(fcpim, tsk_tag);
3542 bfa_assert(tskim->tsk_tag == tsk_tag); 3541 bfa_assert(tskim->tsk_tag == tsk_tag);
3543 3542
3544 tskim->tsk_status = rsp->tsk_status; 3543 tskim->tsk_status = rsp->tsk_status;
3545 3544
3546 /** 3545 /*
3547 * Firmware sends BFI_TSKIM_STS_ABORTED status for abort 3546 * Firmware sends BFI_TSKIM_STS_ABORTED status for abort
3548 * requests. All other statuses are for normal completions. 3547 * requests. All other statuses are for normal completions.
3549 */ 3548 */
@@ -3558,7 +3557,7 @@ bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
3558 3557
3559 3558
3560 3559
3561/** 3560/*
3562 * hal_tskim_api 3561 * hal_tskim_api
3563 */ 3562 */
3564 3563
@@ -3585,7 +3584,7 @@ bfa_tskim_free(struct bfa_tskim_s *tskim)
3585 list_add_tail(&tskim->qe, &tskim->fcpim->tskim_free_q); 3584 list_add_tail(&tskim->qe, &tskim->fcpim->tskim_free_q);
3586} 3585}
3587 3586
3588/** 3587/*
3589 * Start a task management command. 3588 * Start a task management command.
3590 * 3589 *
3591 * @param[in] tskim BFA task management command instance 3590 * @param[in] tskim BFA task management command instance
diff --git a/drivers/scsi/bfa/bfa_fcpim.h b/drivers/scsi/bfa/bfa_fcpim.h
index 3bf343160aac..db53717eeb4b 100644
--- a/drivers/scsi/bfa/bfa_fcpim.h
+++ b/drivers/scsi/bfa/bfa_fcpim.h
@@ -104,7 +104,7 @@ struct bfa_fcpim_mod_s {
104 bfa_fcpim_profile_t profile_start; 104 bfa_fcpim_profile_t profile_start;
105}; 105};
106 106
107/** 107/*
108 * BFA IO (initiator mode) 108 * BFA IO (initiator mode)
109 */ 109 */
110struct bfa_ioim_s { 110struct bfa_ioim_s {
@@ -137,7 +137,7 @@ struct bfa_ioim_sp_s {
137 struct bfa_tskim_s *tskim; /* Relevant TM cmd */ 137 struct bfa_tskim_s *tskim; /* Relevant TM cmd */
138}; 138};
139 139
140/** 140/*
141 * BFA Task management command (initiator mode) 141 * BFA Task management command (initiator mode)
142 */ 142 */
143struct bfa_tskim_s { 143struct bfa_tskim_s {
@@ -160,7 +160,7 @@ struct bfa_tskim_s {
160}; 160};
161 161
162 162
163/** 163/*
164 * BFA i-t-n (initiator mode) 164 * BFA i-t-n (initiator mode)
165 */ 165 */
166struct bfa_itnim_s { 166struct bfa_itnim_s {
@@ -303,7 +303,7 @@ bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim,
303 struct bfa_itnim_ioprofile_s *ioprofile); 303 struct bfa_itnim_ioprofile_s *ioprofile);
304#define bfa_itnim_get_reqq(__ioim) (((struct bfa_ioim_s *)__ioim)->itnim->reqq) 304#define bfa_itnim_get_reqq(__ioim) (((struct bfa_ioim_s *)__ioim)->itnim->reqq)
305 305
306/** 306/*
307 * BFA completion callback for bfa_itnim_online(). 307 * BFA completion callback for bfa_itnim_online().
308 * 308 *
309 * @param[in] itnim FCS or driver itnim instance 309 * @param[in] itnim FCS or driver itnim instance
@@ -312,7 +312,7 @@ bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim,
312 */ 312 */
313void bfa_cb_itnim_online(void *itnim); 313void bfa_cb_itnim_online(void *itnim);
314 314
315/** 315/*
316 * BFA completion callback for bfa_itnim_offline(). 316 * BFA completion callback for bfa_itnim_offline().
317 * 317 *
318 * @param[in] itnim FCS or driver itnim instance 318 * @param[in] itnim FCS or driver itnim instance
@@ -323,7 +323,7 @@ void bfa_cb_itnim_offline(void *itnim);
323void bfa_cb_itnim_tov_begin(void *itnim); 323void bfa_cb_itnim_tov_begin(void *itnim);
324void bfa_cb_itnim_tov(void *itnim); 324void bfa_cb_itnim_tov(void *itnim);
325 325
326/** 326/*
327 * BFA notification to FCS/driver for second level error recovery. 327 * BFA notification to FCS/driver for second level error recovery.
328 * 328 *
329 * Atleast one I/O request has timedout and target is unresponsive to 329 * Atleast one I/O request has timedout and target is unresponsive to
@@ -351,7 +351,7 @@ void bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim,
351 bfa_boolean_t iotov); 351 bfa_boolean_t iotov);
352 352
353 353
354/** 354/*
355 * I/O completion notification. 355 * I/O completion notification.
356 * 356 *
357 * @param[in] dio driver IO structure 357 * @param[in] dio driver IO structure
@@ -368,7 +368,7 @@ void bfa_cb_ioim_done(void *bfad, struct bfad_ioim_s *dio,
368 u8 scsi_status, int sns_len, 368 u8 scsi_status, int sns_len,
369 u8 *sns_info, s32 residue); 369 u8 *sns_info, s32 residue);
370 370
371/** 371/*
372 * I/O good completion notification. 372 * I/O good completion notification.
373 * 373 *
374 * @param[in] dio driver IO structure 374 * @param[in] dio driver IO structure
@@ -377,7 +377,7 @@ void bfa_cb_ioim_done(void *bfad, struct bfad_ioim_s *dio,
377 */ 377 */
378void bfa_cb_ioim_good_comp(void *bfad, struct bfad_ioim_s *dio); 378void bfa_cb_ioim_good_comp(void *bfad, struct bfad_ioim_s *dio);
379 379
380/** 380/*
381 * I/O abort completion notification 381 * I/O abort completion notification
382 * 382 *
383 * @param[in] dio driver IO that was aborted 383 * @param[in] dio driver IO that was aborted
diff --git a/drivers/scsi/bfa/bfa_fcs.c b/drivers/scsi/bfa/bfa_fcs.c
index 9cebbe30a678..c94502dfac66 100644
--- a/drivers/scsi/bfa/bfa_fcs.c
+++ b/drivers/scsi/bfa/bfa_fcs.c
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * bfa_fcs.c BFA FCS main 19 * bfa_fcs.c BFA FCS main
20 */ 20 */
21 21
@@ -25,7 +25,7 @@
25 25
26BFA_TRC_FILE(FCS, FCS); 26BFA_TRC_FILE(FCS, FCS);
27 27
28/** 28/*
29 * FCS sub-modules 29 * FCS sub-modules
30 */ 30 */
31struct bfa_fcs_mod_s { 31struct bfa_fcs_mod_s {
@@ -43,7 +43,7 @@ static struct bfa_fcs_mod_s fcs_modules[] = {
43 bfa_fcs_fabric_modexit }, 43 bfa_fcs_fabric_modexit },
44}; 44};
45 45
46/** 46/*
47 * fcs_api BFA FCS API 47 * fcs_api BFA FCS API
48 */ 48 */
49 49
@@ -58,11 +58,11 @@ bfa_fcs_exit_comp(void *fcs_cbarg)
58 58
59 59
60 60
61/** 61/*
62 * fcs_api BFA FCS API 62 * fcs_api BFA FCS API
63 */ 63 */
64 64
65/** 65/*
66 * fcs attach -- called once to initialize data structures at driver attach time 66 * fcs attach -- called once to initialize data structures at driver attach time
67 */ 67 */
68void 68void
@@ -86,7 +86,7 @@ bfa_fcs_attach(struct bfa_fcs_s *fcs, struct bfa_s *bfa, struct bfad_s *bfad,
86 } 86 }
87} 87}
88 88
89/** 89/*
90 * fcs initialization, called once after bfa initialization is complete 90 * fcs initialization, called once after bfa initialization is complete
91 */ 91 */
92void 92void
@@ -110,7 +110,7 @@ bfa_fcs_init(struct bfa_fcs_s *fcs)
110 } 110 }
111} 111}
112 112
113/** 113/*
114 * Start FCS operations. 114 * Start FCS operations.
115 */ 115 */
116void 116void
@@ -119,7 +119,7 @@ bfa_fcs_start(struct bfa_fcs_s *fcs)
119 bfa_fcs_fabric_modstart(fcs); 119 bfa_fcs_fabric_modstart(fcs);
120} 120}
121 121
122/** 122/*
123 * brief 123 * brief
124 * FCS driver details initialization. 124 * FCS driver details initialization.
125 * 125 *
@@ -138,7 +138,7 @@ bfa_fcs_driver_info_init(struct bfa_fcs_s *fcs,
138 bfa_fcs_fabric_psymb_init(&fcs->fabric); 138 bfa_fcs_fabric_psymb_init(&fcs->fabric);
139} 139}
140 140
141/** 141/*
142 * brief 142 * brief
143 * FCS FDMI Driver Parameter Initialization 143 * FCS FDMI Driver Parameter Initialization
144 * 144 *
@@ -154,7 +154,7 @@ bfa_fcs_set_fdmi_param(struct bfa_fcs_s *fcs, bfa_boolean_t fdmi_enable)
154 fcs->fdmi_enabled = fdmi_enable; 154 fcs->fdmi_enabled = fdmi_enable;
155 155
156} 156}
157/** 157/*
158 * brief 158 * brief
159 * FCS instance cleanup and exit. 159 * FCS instance cleanup and exit.
160 * 160 *
@@ -196,7 +196,7 @@ bfa_fcs_modexit_comp(struct bfa_fcs_s *fcs)
196 bfa_wc_down(&fcs->wc); 196 bfa_wc_down(&fcs->wc);
197} 197}
198 198
199/** 199/*
200 * Fabric module implementation. 200 * Fabric module implementation.
201 */ 201 */
202 202
@@ -232,11 +232,11 @@ static void bfa_fcs_fabric_flogiacc_comp(void *fcsarg,
232 u32 rsp_len, 232 u32 rsp_len,
233 u32 resid_len, 233 u32 resid_len,
234 struct fchs_s *rspfchs); 234 struct fchs_s *rspfchs);
235/** 235/*
236 * fcs_fabric_sm fabric state machine functions 236 * fcs_fabric_sm fabric state machine functions
237 */ 237 */
238 238
239/** 239/*
240 * Fabric state machine events 240 * Fabric state machine events
241 */ 241 */
242enum bfa_fcs_fabric_event { 242enum bfa_fcs_fabric_event {
@@ -286,7 +286,7 @@ static void bfa_fcs_fabric_sm_isolated(struct bfa_fcs_fabric_s *fabric,
286 enum bfa_fcs_fabric_event event); 286 enum bfa_fcs_fabric_event event);
287static void bfa_fcs_fabric_sm_deleting(struct bfa_fcs_fabric_s *fabric, 287static void bfa_fcs_fabric_sm_deleting(struct bfa_fcs_fabric_s *fabric,
288 enum bfa_fcs_fabric_event event); 288 enum bfa_fcs_fabric_event event);
289/** 289/*
290 * Beginning state before fabric creation. 290 * Beginning state before fabric creation.
291 */ 291 */
292static void 292static void
@@ -312,7 +312,7 @@ bfa_fcs_fabric_sm_uninit(struct bfa_fcs_fabric_s *fabric,
312 } 312 }
313} 313}
314 314
315/** 315/*
316 * Beginning state before fabric creation. 316 * Beginning state before fabric creation.
317 */ 317 */
318static void 318static void
@@ -345,7 +345,7 @@ bfa_fcs_fabric_sm_created(struct bfa_fcs_fabric_s *fabric,
345 } 345 }
346} 346}
347 347
348/** 348/*
349 * Link is down, awaiting LINK UP event from port. This is also the 349 * Link is down, awaiting LINK UP event from port. This is also the
350 * first state at fabric creation. 350 * first state at fabric creation.
351 */ 351 */
@@ -375,7 +375,7 @@ bfa_fcs_fabric_sm_linkdown(struct bfa_fcs_fabric_s *fabric,
375 } 375 }
376} 376}
377 377
378/** 378/*
379 * FLOGI is in progress, awaiting FLOGI reply. 379 * FLOGI is in progress, awaiting FLOGI reply.
380 */ 380 */
381static void 381static void
@@ -468,7 +468,7 @@ bfa_fcs_fabric_sm_flogi_retry(struct bfa_fcs_fabric_s *fabric,
468 } 468 }
469} 469}
470 470
471/** 471/*
472 * Authentication is in progress, awaiting authentication results. 472 * Authentication is in progress, awaiting authentication results.
473 */ 473 */
474static void 474static void
@@ -508,7 +508,7 @@ bfa_fcs_fabric_sm_auth(struct bfa_fcs_fabric_s *fabric,
508 } 508 }
509} 509}
510 510
511/** 511/*
512 * Authentication failed 512 * Authentication failed
513 */ 513 */
514static void 514static void
@@ -534,7 +534,7 @@ bfa_fcs_fabric_sm_auth_failed(struct bfa_fcs_fabric_s *fabric,
534 } 534 }
535} 535}
536 536
537/** 537/*
538 * Port is in loopback mode. 538 * Port is in loopback mode.
539 */ 539 */
540static void 540static void
@@ -560,7 +560,7 @@ bfa_fcs_fabric_sm_loopback(struct bfa_fcs_fabric_s *fabric,
560 } 560 }
561} 561}
562 562
563/** 563/*
564 * There is no attached fabric - private loop or NPort-to-NPort topology. 564 * There is no attached fabric - private loop or NPort-to-NPort topology.
565 */ 565 */
566static void 566static void
@@ -593,7 +593,7 @@ bfa_fcs_fabric_sm_nofabric(struct bfa_fcs_fabric_s *fabric,
593 } 593 }
594} 594}
595 595
596/** 596/*
597 * Fabric is online - normal operating state. 597 * Fabric is online - normal operating state.
598 */ 598 */
599static void 599static void
@@ -628,7 +628,7 @@ bfa_fcs_fabric_sm_online(struct bfa_fcs_fabric_s *fabric,
628 } 628 }
629} 629}
630 630
631/** 631/*
632 * Exchanging virtual fabric parameters. 632 * Exchanging virtual fabric parameters.
633 */ 633 */
634static void 634static void
@@ -652,7 +652,7 @@ bfa_fcs_fabric_sm_evfp(struct bfa_fcs_fabric_s *fabric,
652 } 652 }
653} 653}
654 654
655/** 655/*
656 * EVFP exchange complete and VFT tagging is enabled. 656 * EVFP exchange complete and VFT tagging is enabled.
657 */ 657 */
658static void 658static void
@@ -663,7 +663,7 @@ bfa_fcs_fabric_sm_evfp_done(struct bfa_fcs_fabric_s *fabric,
663 bfa_trc(fabric->fcs, event); 663 bfa_trc(fabric->fcs, event);
664} 664}
665 665
666/** 666/*
667 * Port is isolated after EVFP exchange due to VF_ID mismatch (N and F). 667 * Port is isolated after EVFP exchange due to VF_ID mismatch (N and F).
668 */ 668 */
669static void 669static void
@@ -684,7 +684,7 @@ bfa_fcs_fabric_sm_isolated(struct bfa_fcs_fabric_s *fabric,
684 fabric->event_arg.swp_vfid); 684 fabric->event_arg.swp_vfid);
685} 685}
686 686
687/** 687/*
688 * Fabric is being deleted, awaiting vport delete completions. 688 * Fabric is being deleted, awaiting vport delete completions.
689 */ 689 */
690static void 690static void
@@ -714,7 +714,7 @@ bfa_fcs_fabric_sm_deleting(struct bfa_fcs_fabric_s *fabric,
714 714
715 715
716 716
717/** 717/*
718 * fcs_fabric_private fabric private functions 718 * fcs_fabric_private fabric private functions
719 */ 719 */
720 720
@@ -728,7 +728,7 @@ bfa_fcs_fabric_init(struct bfa_fcs_fabric_s *fabric)
728 port_cfg->pwwn = bfa_ioc_get_pwwn(&fabric->fcs->bfa->ioc); 728 port_cfg->pwwn = bfa_ioc_get_pwwn(&fabric->fcs->bfa->ioc);
729} 729}
730 730
731/** 731/*
732 * Port Symbolic Name Creation for base port. 732 * Port Symbolic Name Creation for base port.
733 */ 733 */
734void 734void
@@ -789,7 +789,7 @@ bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric)
789 port_cfg->sym_name.symname[BFA_SYMNAME_MAXLEN - 1] = 0; 789 port_cfg->sym_name.symname[BFA_SYMNAME_MAXLEN - 1] = 0;
790} 790}
791 791
792/** 792/*
793 * bfa lps login completion callback 793 * bfa lps login completion callback
794 */ 794 */
795void 795void
@@ -867,7 +867,7 @@ bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status)
867 bfa_trc(fabric->fcs, fabric->is_npiv); 867 bfa_trc(fabric->fcs, fabric->is_npiv);
868 bfa_trc(fabric->fcs, fabric->is_auth); 868 bfa_trc(fabric->fcs, fabric->is_auth);
869} 869}
870/** 870/*
871 * Allocate and send FLOGI. 871 * Allocate and send FLOGI.
872 */ 872 */
873static void 873static void
@@ -897,7 +897,7 @@ bfa_fcs_fabric_notify_online(struct bfa_fcs_fabric_s *fabric)
897 bfa_fcs_fabric_set_opertype(fabric); 897 bfa_fcs_fabric_set_opertype(fabric);
898 fabric->stats.fabric_onlines++; 898 fabric->stats.fabric_onlines++;
899 899
900 /** 900 /*
901 * notify online event to base and then virtual ports 901 * notify online event to base and then virtual ports
902 */ 902 */
903 bfa_fcs_lport_online(&fabric->bport); 903 bfa_fcs_lport_online(&fabric->bport);
@@ -917,7 +917,7 @@ bfa_fcs_fabric_notify_offline(struct bfa_fcs_fabric_s *fabric)
917 bfa_trc(fabric->fcs, fabric->fabric_name); 917 bfa_trc(fabric->fcs, fabric->fabric_name);
918 fabric->stats.fabric_offlines++; 918 fabric->stats.fabric_offlines++;
919 919
920 /** 920 /*
921 * notify offline event first to vports and then base port. 921 * notify offline event first to vports and then base port.
922 */ 922 */
923 list_for_each_safe(qe, qen, &fabric->vport_q) { 923 list_for_each_safe(qe, qen, &fabric->vport_q) {
@@ -939,7 +939,7 @@ bfa_fcs_fabric_delay(void *cbarg)
939 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELAYED); 939 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELAYED);
940} 940}
941 941
942/** 942/*
943 * Delete all vports and wait for vport delete completions. 943 * Delete all vports and wait for vport delete completions.
944 */ 944 */
945static void 945static void
@@ -965,11 +965,11 @@ bfa_fcs_fabric_delete_comp(void *cbarg)
965 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELCOMP); 965 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELCOMP);
966} 966}
967 967
968/** 968/*
969 * fcs_fabric_public fabric public functions 969 * fcs_fabric_public fabric public functions
970 */ 970 */
971 971
972/** 972/*
973 * Attach time initialization. 973 * Attach time initialization.
974 */ 974 */
975void 975void
@@ -978,9 +978,9 @@ bfa_fcs_fabric_attach(struct bfa_fcs_s *fcs)
978 struct bfa_fcs_fabric_s *fabric; 978 struct bfa_fcs_fabric_s *fabric;
979 979
980 fabric = &fcs->fabric; 980 fabric = &fcs->fabric;
981 bfa_os_memset(fabric, 0, sizeof(struct bfa_fcs_fabric_s)); 981 memset(fabric, 0, sizeof(struct bfa_fcs_fabric_s));
982 982
983 /** 983 /*
984 * Initialize base fabric. 984 * Initialize base fabric.
985 */ 985 */
986 fabric->fcs = fcs; 986 fabric->fcs = fcs;
@@ -989,7 +989,7 @@ bfa_fcs_fabric_attach(struct bfa_fcs_s *fcs)
989 fabric->lps = bfa_lps_alloc(fcs->bfa); 989 fabric->lps = bfa_lps_alloc(fcs->bfa);
990 bfa_assert(fabric->lps); 990 bfa_assert(fabric->lps);
991 991
992 /** 992 /*
993 * Initialize fabric delete completion handler. Fabric deletion is 993 * Initialize fabric delete completion handler. Fabric deletion is
994 * complete when the last vport delete is complete. 994 * complete when the last vport delete is complete.
995 */ 995 */
@@ -1007,7 +1007,7 @@ bfa_fcs_fabric_modinit(struct bfa_fcs_s *fcs)
1007 bfa_trc(fcs, 0); 1007 bfa_trc(fcs, 0);
1008} 1008}
1009 1009
1010/** 1010/*
1011 * Module cleanup 1011 * Module cleanup
1012 */ 1012 */
1013void 1013void
@@ -1017,7 +1017,7 @@ bfa_fcs_fabric_modexit(struct bfa_fcs_s *fcs)
1017 1017
1018 bfa_trc(fcs, 0); 1018 bfa_trc(fcs, 0);
1019 1019
1020 /** 1020 /*
1021 * Cleanup base fabric. 1021 * Cleanup base fabric.
1022 */ 1022 */
1023 fabric = &fcs->fabric; 1023 fabric = &fcs->fabric;
@@ -1025,7 +1025,7 @@ bfa_fcs_fabric_modexit(struct bfa_fcs_s *fcs)
1025 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELETE); 1025 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_DELETE);
1026} 1026}
1027 1027
1028/** 1028/*
1029 * Fabric module start -- kick starts FCS actions 1029 * Fabric module start -- kick starts FCS actions
1030 */ 1030 */
1031void 1031void
@@ -1038,7 +1038,7 @@ bfa_fcs_fabric_modstart(struct bfa_fcs_s *fcs)
1038 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_START); 1038 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_START);
1039} 1039}
1040 1040
1041/** 1041/*
1042 * Suspend fabric activity as part of driver suspend. 1042 * Suspend fabric activity as part of driver suspend.
1043 */ 1043 */
1044void 1044void
@@ -1064,7 +1064,7 @@ bfa_fcs_fabric_port_type(struct bfa_fcs_fabric_s *fabric)
1064 return fabric->oper_type; 1064 return fabric->oper_type;
1065} 1065}
1066 1066
1067/** 1067/*
1068 * Link up notification from BFA physical port module. 1068 * Link up notification from BFA physical port module.
1069 */ 1069 */
1070void 1070void
@@ -1074,7 +1074,7 @@ bfa_fcs_fabric_link_up(struct bfa_fcs_fabric_s *fabric)
1074 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LINK_UP); 1074 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LINK_UP);
1075} 1075}
1076 1076
1077/** 1077/*
1078 * Link down notification from BFA physical port module. 1078 * Link down notification from BFA physical port module.
1079 */ 1079 */
1080void 1080void
@@ -1084,7 +1084,7 @@ bfa_fcs_fabric_link_down(struct bfa_fcs_fabric_s *fabric)
1084 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LINK_DOWN); 1084 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_LINK_DOWN);
1085} 1085}
1086 1086
1087/** 1087/*
1088 * A child vport is being created in the fabric. 1088 * A child vport is being created in the fabric.
1089 * 1089 *
1090 * Call from vport module at vport creation. A list of base port and vports 1090 * Call from vport module at vport creation. A list of base port and vports
@@ -1099,7 +1099,7 @@ void
1099bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric, 1099bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric,
1100 struct bfa_fcs_vport_s *vport) 1100 struct bfa_fcs_vport_s *vport)
1101{ 1101{
1102 /** 1102 /*
1103 * - add vport to fabric's vport_q 1103 * - add vport to fabric's vport_q
1104 */ 1104 */
1105 bfa_trc(fabric->fcs, fabric->vf_id); 1105 bfa_trc(fabric->fcs, fabric->vf_id);
@@ -1109,7 +1109,7 @@ bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric,
1109 bfa_wc_up(&fabric->wc); 1109 bfa_wc_up(&fabric->wc);
1110} 1110}
1111 1111
1112/** 1112/*
1113 * A child vport is being deleted from fabric. 1113 * A child vport is being deleted from fabric.
1114 * 1114 *
1115 * Vport is being deleted. 1115 * Vport is being deleted.
@@ -1123,7 +1123,7 @@ bfa_fcs_fabric_delvport(struct bfa_fcs_fabric_s *fabric,
1123 bfa_wc_down(&fabric->wc); 1123 bfa_wc_down(&fabric->wc);
1124} 1124}
1125 1125
1126/** 1126/*
1127 * Base port is deleted. 1127 * Base port is deleted.
1128 */ 1128 */
1129void 1129void
@@ -1133,7 +1133,7 @@ bfa_fcs_fabric_port_delete_comp(struct bfa_fcs_fabric_s *fabric)
1133} 1133}
1134 1134
1135 1135
1136/** 1136/*
1137 * Check if fabric is online. 1137 * Check if fabric is online.
1138 * 1138 *
1139 * param[in] fabric - Fabric instance. This can be a base fabric or vf. 1139 * param[in] fabric - Fabric instance. This can be a base fabric or vf.
@@ -1146,7 +1146,7 @@ bfa_fcs_fabric_is_online(struct bfa_fcs_fabric_s *fabric)
1146 return bfa_sm_cmp_state(fabric, bfa_fcs_fabric_sm_online); 1146 return bfa_sm_cmp_state(fabric, bfa_fcs_fabric_sm_online);
1147} 1147}
1148 1148
1149/** 1149/*
1150 * brief 1150 * brief
1151 * 1151 *
1152 */ 1152 */
@@ -1158,7 +1158,7 @@ bfa_fcs_fabric_addvf(struct bfa_fcs_fabric_s *vf, struct bfa_fcs_s *fcs,
1158 return BFA_STATUS_OK; 1158 return BFA_STATUS_OK;
1159} 1159}
1160 1160
1161/** 1161/*
1162 * Lookup for a vport withing a fabric given its pwwn 1162 * Lookup for a vport withing a fabric given its pwwn
1163 */ 1163 */
1164struct bfa_fcs_vport_s * 1164struct bfa_fcs_vport_s *
@@ -1176,7 +1176,7 @@ bfa_fcs_fabric_vport_lookup(struct bfa_fcs_fabric_s *fabric, wwn_t pwwn)
1176 return NULL; 1176 return NULL;
1177} 1177}
1178 1178
1179/** 1179/*
1180 * In a given fabric, return the number of lports. 1180 * In a given fabric, return the number of lports.
1181 * 1181 *
1182 * param[in] fabric - Fabric instance. This can be a base fabric or vf. 1182 * param[in] fabric - Fabric instance. This can be a base fabric or vf.
@@ -1214,7 +1214,7 @@ bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric)
1214 1214
1215 return oui; 1215 return oui;
1216} 1216}
1217/** 1217/*
1218 * Unsolicited frame receive handling. 1218 * Unsolicited frame receive handling.
1219 */ 1219 */
1220void 1220void
@@ -1230,7 +1230,7 @@ bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1230 bfa_trc(fabric->fcs, len); 1230 bfa_trc(fabric->fcs, len);
1231 bfa_trc(fabric->fcs, pid); 1231 bfa_trc(fabric->fcs, pid);
1232 1232
1233 /** 1233 /*
1234 * Look for our own FLOGI frames being looped back. This means an 1234 * Look for our own FLOGI frames being looped back. This means an
1235 * external loopback cable is in place. Our own FLOGI frames are 1235 * external loopback cable is in place. Our own FLOGI frames are
1236 * sometimes looped back when switch port gets temporarily bypassed. 1236 * sometimes looped back when switch port gets temporarily bypassed.
@@ -1242,7 +1242,7 @@ bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1242 return; 1242 return;
1243 } 1243 }
1244 1244
1245 /** 1245 /*
1246 * FLOGI/EVFP exchanges should be consumed by base fabric. 1246 * FLOGI/EVFP exchanges should be consumed by base fabric.
1247 */ 1247 */
1248 if (fchs->d_id == bfa_os_hton3b(FC_FABRIC_PORT)) { 1248 if (fchs->d_id == bfa_os_hton3b(FC_FABRIC_PORT)) {
@@ -1252,7 +1252,7 @@ bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1252 } 1252 }
1253 1253
1254 if (fabric->bport.pid == pid) { 1254 if (fabric->bport.pid == pid) {
1255 /** 1255 /*
1256 * All authentication frames should be routed to auth 1256 * All authentication frames should be routed to auth
1257 */ 1257 */
1258 bfa_trc(fabric->fcs, els_cmd->els_code); 1258 bfa_trc(fabric->fcs, els_cmd->els_code);
@@ -1266,7 +1266,7 @@ bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1266 return; 1266 return;
1267 } 1267 }
1268 1268
1269 /** 1269 /*
1270 * look for a matching local port ID 1270 * look for a matching local port ID
1271 */ 1271 */
1272 list_for_each(qe, &fabric->vport_q) { 1272 list_for_each(qe, &fabric->vport_q) {
@@ -1280,7 +1280,7 @@ bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1280 bfa_fcs_lport_uf_recv(&fabric->bport, fchs, len); 1280 bfa_fcs_lport_uf_recv(&fabric->bport, fchs, len);
1281} 1281}
1282 1282
1283/** 1283/*
1284 * Unsolicited frames to be processed by fabric. 1284 * Unsolicited frames to be processed by fabric.
1285 */ 1285 */
1286static void 1286static void
@@ -1304,7 +1304,7 @@ bfa_fcs_fabric_process_uf(struct bfa_fcs_fabric_s *fabric, struct fchs_s *fchs,
1304 } 1304 }
1305} 1305}
1306 1306
1307/** 1307/*
1308 * Process incoming FLOGI 1308 * Process incoming FLOGI
1309 */ 1309 */
1310static void 1310static void
@@ -1329,7 +1329,7 @@ bfa_fcs_fabric_process_flogi(struct bfa_fcs_fabric_s *fabric,
1329 return; 1329 return;
1330 } 1330 }
1331 1331
1332 fabric->bb_credit = bfa_os_ntohs(flogi->csp.bbcred); 1332 fabric->bb_credit = be16_to_cpu(flogi->csp.bbcred);
1333 bport->port_topo.pn2n.rem_port_wwn = flogi->port_name; 1333 bport->port_topo.pn2n.rem_port_wwn = flogi->port_name;
1334 bport->port_topo.pn2n.reply_oxid = fchs->ox_id; 1334 bport->port_topo.pn2n.reply_oxid = fchs->ox_id;
1335 1335
@@ -1351,7 +1351,7 @@ bfa_fcs_fabric_send_flogi_acc(struct bfa_fcs_fabric_s *fabric)
1351 struct fchs_s fchs; 1351 struct fchs_s fchs;
1352 1352
1353 fcxp = bfa_fcs_fcxp_alloc(fabric->fcs); 1353 fcxp = bfa_fcs_fcxp_alloc(fabric->fcs);
1354 /** 1354 /*
1355 * Do not expect this failure -- expect remote node to retry 1355 * Do not expect this failure -- expect remote node to retry
1356 */ 1356 */
1357 if (!fcxp) 1357 if (!fcxp)
@@ -1370,7 +1370,7 @@ bfa_fcs_fabric_send_flogi_acc(struct bfa_fcs_fabric_s *fabric)
1370 FC_MAX_PDUSZ, 0); 1370 FC_MAX_PDUSZ, 0);
1371} 1371}
1372 1372
1373/** 1373/*
1374 * Flogi Acc completion callback. 1374 * Flogi Acc completion callback.
1375 */ 1375 */
1376static void 1376static void
@@ -1417,130 +1417,7 @@ bfa_fcs_fabric_set_fabric_name(struct bfa_fcs_fabric_s *fabric,
1417 } 1417 }
1418} 1418}
1419 1419
1420/** 1420/*
1421 * fcs_vf_api virtual fabrics API
1422 */
1423
1424/**
1425 * Enable VF mode.
1426 *
1427 * @param[in] fcs fcs module instance
1428 * @param[in] vf_id default vf_id of port, FC_VF_ID_NULL
1429 * to use standard default vf_id of 1.
1430 *
1431 * @retval BFA_STATUS_OK vf mode is enabled
1432 * @retval BFA_STATUS_BUSY Port is active. Port must be disabled
1433 * before VF mode can be enabled.
1434 */
1435bfa_status_t
1436bfa_fcs_vf_mode_enable(struct bfa_fcs_s *fcs, u16 vf_id)
1437{
1438 return BFA_STATUS_OK;
1439}
1440
1441/**
1442 * Disable VF mode.
1443 *
1444 * @param[in] fcs fcs module instance
1445 *
1446 * @retval BFA_STATUS_OK vf mode is disabled
1447 * @retval BFA_STATUS_BUSY VFs are present and being used. All
1448 * VFs must be deleted before disabling
1449 * VF mode.
1450 */
1451bfa_status_t
1452bfa_fcs_vf_mode_disable(struct bfa_fcs_s *fcs)
1453{
1454 return BFA_STATUS_OK;
1455}
1456
1457/**
1458 * Create a new VF instance.
1459 *
1460 * A new VF is created using the given VF configuration. A VF is identified
1461 * by VF id. No duplicate VF creation is allowed with the same VF id. Once
1462 * a VF is created, VF is automatically started after link initialization
1463 * and EVFP exchange is completed.
1464 *
1465 * param[in] vf - FCS vf data structure. Memory is
1466 * allocated by caller (driver)
1467 * param[in] fcs - FCS module
1468 * param[in] vf_cfg - VF configuration
1469 * param[in] vf_drv - Opaque handle back to the driver's
1470 * virtual vf structure
1471 *
1472 * retval BFA_STATUS_OK VF creation is successful
1473 * retval BFA_STATUS_FAILED VF creation failed
1474 * retval BFA_STATUS_EEXIST A VF exists with the given vf_id
1475 */
1476bfa_status_t
1477bfa_fcs_vf_create(bfa_fcs_vf_t *vf, struct bfa_fcs_s *fcs, u16 vf_id,
1478 struct bfa_lport_cfg_s *port_cfg, struct bfad_vf_s *vf_drv)
1479{
1480 bfa_trc(fcs, vf_id);
1481 return BFA_STATUS_OK;
1482}
1483
1484/**
1485 * Use this function to delete a BFA VF object. VF object should
1486 * be stopped before this function call.
1487 *
1488 * param[in] vf - pointer to bfa_vf_t.
1489 *
1490 * retval BFA_STATUS_OK On vf deletion success
1491 * retval BFA_STATUS_BUSY VF is not in a stopped state
1492 * retval BFA_STATUS_INPROGRESS VF deletion in in progress
1493 */
1494bfa_status_t
1495bfa_fcs_vf_delete(bfa_fcs_vf_t *vf)
1496{
1497 bfa_trc(vf->fcs, vf->vf_id);
1498 return BFA_STATUS_OK;
1499}
1500
1501
1502/**
1503 * Returns attributes of the given VF.
1504 *
1505 * param[in] vf pointer to bfa_vf_t.
1506 * param[out] vf_attr vf attributes returned
1507 *
1508 * return None
1509 */
1510void
1511bfa_fcs_vf_get_attr(bfa_fcs_vf_t *vf, struct bfa_vf_attr_s *vf_attr)
1512{
1513 bfa_trc(vf->fcs, vf->vf_id);
1514}
1515
1516/**
1517 * Return statistics associated with the given vf.
1518 *
1519 * param[in] vf pointer to bfa_vf_t.
1520 * param[out] vf_stats vf statistics returned
1521 *
1522 * @return None
1523 */
1524void
1525bfa_fcs_vf_get_stats(bfa_fcs_vf_t *vf, struct bfa_vf_stats_s *vf_stats)
1526{
1527 bfa_os_memcpy(vf_stats, &vf->stats, sizeof(struct bfa_vf_stats_s));
1528}
1529
1530/**
1531 * clear statistics associated with the given vf.
1532 *
1533 * param[in] vf pointer to bfa_vf_t.
1534 *
1535 * @return None
1536 */
1537void
1538bfa_fcs_vf_clear_stats(bfa_fcs_vf_t *vf)
1539{
1540 bfa_os_memset(&vf->stats, 0, sizeof(struct bfa_vf_stats_s));
1541}
1542
1543/**
1544 * Returns FCS vf structure for a given vf_id. 1421 * Returns FCS vf structure for a given vf_id.
1545 * 1422 *
1546 * param[in] vf_id - VF_ID 1423 * param[in] vf_id - VF_ID
@@ -1558,81 +1435,7 @@ bfa_fcs_vf_lookup(struct bfa_fcs_s *fcs, u16 vf_id)
1558 return NULL; 1435 return NULL;
1559} 1436}
1560 1437
1561/** 1438/*
1562 * Return the list of VFs configured.
1563 *
1564 * param[in] fcs fcs module instance
1565 * param[out] vf_ids returned list of vf_ids
1566 * param[in,out] nvfs in:size of vf_ids array,
1567 * out:total elements present,
1568 * actual elements returned is limited by the size
1569 *
1570 * return Driver VF structure
1571 */
1572void
1573bfa_fcs_vf_list(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs)
1574{
1575 bfa_trc(fcs, *nvfs);
1576}
1577
1578/**
1579 * Return the list of all VFs visible from fabric.
1580 *
1581 * param[in] fcs fcs module instance
1582 * param[out] vf_ids returned list of vf_ids
1583 * param[in,out] nvfs in:size of vf_ids array,
1584 * out:total elements present,
1585 * actual elements returned is limited by the size
1586 *
1587 * return Driver VF structure
1588 */
1589void
1590bfa_fcs_vf_list_all(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs)
1591{
1592 bfa_trc(fcs, *nvfs);
1593}
1594
1595/**
1596 * Return the list of local logical ports present in the given VF.
1597 *
1598 * param[in] vf vf for which logical ports are returned
1599 * param[out] lpwwn returned logical port wwn list
1600 * param[in,out] nlports in:size of lpwwn list;
1601 * out:total elements present,
1602 * actual elements returned is limited by the size
1603 */
1604void
1605bfa_fcs_vf_get_ports(bfa_fcs_vf_t *vf, wwn_t lpwwn[], int *nlports)
1606{
1607 struct list_head *qe;
1608 struct bfa_fcs_vport_s *vport;
1609 int i;
1610 struct bfa_fcs_s *fcs;
1611
1612 if (vf == NULL || lpwwn == NULL || *nlports == 0)
1613 return;
1614
1615 fcs = vf->fcs;
1616
1617 bfa_trc(fcs, vf->vf_id);
1618 bfa_trc(fcs, (u32) *nlports);
1619
1620 i = 0;
1621 lpwwn[i++] = vf->bport.port_cfg.pwwn;
1622
1623 list_for_each(qe, &vf->vport_q) {
1624 if (i >= *nlports)
1625 break;
1626
1627 vport = (struct bfa_fcs_vport_s *) qe;
1628 lpwwn[i++] = vport->lport.port_cfg.pwwn;
1629 }
1630
1631 bfa_trc(fcs, i);
1632 *nlports = i;
1633}
1634
1635/**
1636 * BFA FCS PPORT ( physical port) 1439 * BFA FCS PPORT ( physical port)
1637 */ 1440 */
1638static void 1441static void
@@ -1662,11 +1465,11 @@ bfa_fcs_port_attach(struct bfa_fcs_s *fcs)
1662 bfa_fcport_event_register(fcs->bfa, bfa_fcs_port_event_handler, fcs); 1465 bfa_fcport_event_register(fcs->bfa, bfa_fcs_port_event_handler, fcs);
1663} 1466}
1664 1467
1665/** 1468/*
1666 * BFA FCS UF ( Unsolicited Frames) 1469 * BFA FCS UF ( Unsolicited Frames)
1667 */ 1470 */
1668 1471
1669/** 1472/*
1670 * BFA callback for unsolicited frame receive handler. 1473 * BFA callback for unsolicited frame receive handler.
1671 * 1474 *
1672 * @param[in] cbarg callback arg for receive handler 1475 * @param[in] cbarg callback arg for receive handler
@@ -1683,7 +1486,7 @@ bfa_fcs_uf_recv(void *cbarg, struct bfa_uf_s *uf)
1683 struct fc_vft_s *vft; 1486 struct fc_vft_s *vft;
1684 struct bfa_fcs_fabric_s *fabric; 1487 struct bfa_fcs_fabric_s *fabric;
1685 1488
1686 /** 1489 /*
1687 * check for VFT header 1490 * check for VFT header
1688 */ 1491 */
1689 if (fchs->routing == FC_RTG_EXT_HDR && 1492 if (fchs->routing == FC_RTG_EXT_HDR &&
@@ -1695,7 +1498,7 @@ bfa_fcs_uf_recv(void *cbarg, struct bfa_uf_s *uf)
1695 else 1498 else
1696 fabric = bfa_fcs_vf_lookup(fcs, (u16) vft->vf_id); 1499 fabric = bfa_fcs_vf_lookup(fcs, (u16) vft->vf_id);
1697 1500
1698 /** 1501 /*
1699 * drop frame if vfid is unknown 1502 * drop frame if vfid is unknown
1700 */ 1503 */
1701 if (!fabric) { 1504 if (!fabric) {
@@ -1705,7 +1508,7 @@ bfa_fcs_uf_recv(void *cbarg, struct bfa_uf_s *uf)
1705 return; 1508 return;
1706 } 1509 }
1707 1510
1708 /** 1511 /*
1709 * skip vft header 1512 * skip vft header
1710 */ 1513 */
1711 fchs = (struct fchs_s *) (vft + 1); 1514 fchs = (struct fchs_s *) (vft + 1);
diff --git a/drivers/scsi/bfa/bfa_fcs.h b/drivers/scsi/bfa/bfa_fcs.h
index d75045df1e7e..9cb6a55977c3 100644
--- a/drivers/scsi/bfa/bfa_fcs.h
+++ b/drivers/scsi/bfa/bfa_fcs.h
@@ -196,7 +196,7 @@ struct bfa_fcs_fabric_s {
196#define bfa_fcs_fabric_is_switched(__f) \ 196#define bfa_fcs_fabric_is_switched(__f) \
197 ((__f)->fab_type == BFA_FCS_FABRIC_SWITCHED) 197 ((__f)->fab_type == BFA_FCS_FABRIC_SWITCHED)
198 198
199/** 199/*
200 * The design calls for a single implementation of base fabric and vf. 200 * The design calls for a single implementation of base fabric and vf.
201 */ 201 */
202#define bfa_fcs_vf_t struct bfa_fcs_fabric_s 202#define bfa_fcs_vf_t struct bfa_fcs_fabric_s
@@ -216,7 +216,7 @@ struct bfa_fcs_fabric_s;
216 216
217#define bfa_fcs_lport_t struct bfa_fcs_lport_s 217#define bfa_fcs_lport_t struct bfa_fcs_lport_s
218 218
219/** 219/*
220 * Symbolic Name related defines 220 * Symbolic Name related defines
221 * Total bytes 255. 221 * Total bytes 255.
222 * Physical Port's symbolic name 128 bytes. 222 * Physical Port's symbolic name 128 bytes.
@@ -239,7 +239,7 @@ struct bfa_fcs_fabric_s;
239#define BFA_FCS_PORT_SYMBNAME_OSINFO_SZ 48 239#define BFA_FCS_PORT_SYMBNAME_OSINFO_SZ 48
240#define BFA_FCS_PORT_SYMBNAME_OSPATCH_SZ 16 240#define BFA_FCS_PORT_SYMBNAME_OSPATCH_SZ 16
241 241
242/** 242/*
243 * Get FC port ID for a logical port. 243 * Get FC port ID for a logical port.
244 */ 244 */
245#define bfa_fcs_lport_get_fcid(_lport) ((_lport)->pid) 245#define bfa_fcs_lport_get_fcid(_lport) ((_lport)->pid)
@@ -262,7 +262,7 @@ bfa_fcs_lport_get_drvport(struct bfa_fcs_lport_s *port)
262#define bfa_fcs_lport_get_fabric_ipaddr(_lport) \ 262#define bfa_fcs_lport_get_fabric_ipaddr(_lport) \
263 ((_lport)->fabric->fabric_ip_addr) 263 ((_lport)->fabric->fabric_ip_addr)
264 264
265/** 265/*
266 * bfa fcs port public functions 266 * bfa fcs port public functions
267 */ 267 */
268 268
@@ -342,7 +342,7 @@ struct bfa_fcs_vport_s {
342#define bfa_fcs_vport_get_port(vport) \ 342#define bfa_fcs_vport_get_port(vport) \
343 ((struct bfa_fcs_lport_s *)(&vport->port)) 343 ((struct bfa_fcs_lport_s *)(&vport->port))
344 344
345/** 345/*
346 * bfa fcs vport public functions 346 * bfa fcs vport public functions
347 */ 347 */
348bfa_status_t bfa_fcs_vport_create(struct bfa_fcs_vport_s *vport, 348bfa_status_t bfa_fcs_vport_create(struct bfa_fcs_vport_s *vport,
@@ -393,7 +393,7 @@ struct bfa_fcs_rpf_s {
393 enum bfa_port_speed rpsc_speed; 393 enum bfa_port_speed rpsc_speed;
394 /* Current Speed from RPSC. O if RPSC fails */ 394 /* Current Speed from RPSC. O if RPSC fails */
395 enum bfa_port_speed assigned_speed; 395 enum bfa_port_speed assigned_speed;
396 /** 396 /*
397 * Speed assigned by the user. will be used if RPSC is 397 * Speed assigned by the user. will be used if RPSC is
398 * not supported by the rport. 398 * not supported by the rport.
399 */ 399 */
@@ -434,7 +434,7 @@ bfa_fcs_rport_get_halrport(struct bfa_fcs_rport_s *rport)
434 return rport->bfa_rport; 434 return rport->bfa_rport;
435} 435}
436 436
437/** 437/*
438 * bfa fcs rport API functions 438 * bfa fcs rport API functions
439 */ 439 */
440bfa_status_t bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn, 440bfa_status_t bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn,
@@ -573,7 +573,7 @@ bfa_fcs_itnim_get_halitn(struct bfa_fcs_itnim_s *itnim)
573 return itnim->bfa_itnim; 573 return itnim->bfa_itnim;
574} 574}
575 575
576/** 576/*
577 * bfa fcs FCP Initiator mode API functions 577 * bfa fcs FCP Initiator mode API functions
578 */ 578 */
579void bfa_fcs_itnim_get_attr(struct bfa_fcs_itnim_s *itnim, 579void bfa_fcs_itnim_get_attr(struct bfa_fcs_itnim_s *itnim,
@@ -677,22 +677,9 @@ void bfa_fcs_exit(struct bfa_fcs_s *fcs);
677void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod); 677void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod);
678void bfa_fcs_start(struct bfa_fcs_s *fcs); 678void bfa_fcs_start(struct bfa_fcs_s *fcs);
679 679
680/** 680/*
681 * bfa fcs vf public functions 681 * bfa fcs vf public functions
682 */ 682 */
683bfa_status_t bfa_fcs_vf_mode_enable(struct bfa_fcs_s *fcs, u16 vf_id);
684bfa_status_t bfa_fcs_vf_mode_disable(struct bfa_fcs_s *fcs);
685bfa_status_t bfa_fcs_vf_create(bfa_fcs_vf_t *vf, struct bfa_fcs_s *fcs,
686 u16 vf_id, struct bfa_lport_cfg_s *port_cfg,
687 struct bfad_vf_s *vf_drv);
688bfa_status_t bfa_fcs_vf_delete(bfa_fcs_vf_t *vf);
689void bfa_fcs_vf_list(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs);
690void bfa_fcs_vf_list_all(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs);
691void bfa_fcs_vf_get_attr(bfa_fcs_vf_t *vf, struct bfa_vf_attr_s *vf_attr);
692void bfa_fcs_vf_get_stats(bfa_fcs_vf_t *vf,
693 struct bfa_vf_stats_s *vf_stats);
694void bfa_fcs_vf_clear_stats(bfa_fcs_vf_t *vf);
695void bfa_fcs_vf_get_ports(bfa_fcs_vf_t *vf, wwn_t vpwwn[], int *nports);
696bfa_fcs_vf_t *bfa_fcs_vf_lookup(struct bfa_fcs_s *fcs, u16 vf_id); 683bfa_fcs_vf_t *bfa_fcs_vf_lookup(struct bfa_fcs_s *fcs, u16 vf_id);
697u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric); 684u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric);
698 685
@@ -729,11 +716,11 @@ u16 bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric);
729void bfa_fcs_uf_attach(struct bfa_fcs_s *fcs); 716void bfa_fcs_uf_attach(struct bfa_fcs_s *fcs);
730void bfa_fcs_port_attach(struct bfa_fcs_s *fcs); 717void bfa_fcs_port_attach(struct bfa_fcs_s *fcs);
731 718
732/** 719/*
733 * BFA FCS callback interfaces 720 * BFA FCS callback interfaces
734 */ 721 */
735 722
736/** 723/*
737 * fcb Main fcs callbacks 724 * fcb Main fcs callbacks
738 */ 725 */
739 726
@@ -742,7 +729,7 @@ struct bfad_vf_s;
742struct bfad_vport_s; 729struct bfad_vport_s;
743struct bfad_rport_s; 730struct bfad_rport_s;
744 731
745/** 732/*
746 * lport callbacks 733 * lport callbacks
747 */ 734 */
748struct bfad_port_s *bfa_fcb_lport_new(struct bfad_s *bfad, 735struct bfad_port_s *bfa_fcb_lport_new(struct bfad_s *bfad,
@@ -754,19 +741,19 @@ void bfa_fcb_lport_delete(struct bfad_s *bfad, enum bfa_lport_role roles,
754 struct bfad_vf_s *vf_drv, 741 struct bfad_vf_s *vf_drv,
755 struct bfad_vport_s *vp_drv); 742 struct bfad_vport_s *vp_drv);
756 743
757/** 744/*
758 * vport callbacks 745 * vport callbacks
759 */ 746 */
760void bfa_fcb_pbc_vport_create(struct bfad_s *bfad, struct bfi_pbc_vport_s); 747void bfa_fcb_pbc_vport_create(struct bfad_s *bfad, struct bfi_pbc_vport_s);
761 748
762/** 749/*
763 * rport callbacks 750 * rport callbacks
764 */ 751 */
765bfa_status_t bfa_fcb_rport_alloc(struct bfad_s *bfad, 752bfa_status_t bfa_fcb_rport_alloc(struct bfad_s *bfad,
766 struct bfa_fcs_rport_s **rport, 753 struct bfa_fcs_rport_s **rport,
767 struct bfad_rport_s **rport_drv); 754 struct bfad_rport_s **rport_drv);
768 755
769/** 756/*
770 * itnim callbacks 757 * itnim callbacks
771 */ 758 */
772void bfa_fcb_itnim_alloc(struct bfad_s *bfad, struct bfa_fcs_itnim_s **itnim, 759void bfa_fcb_itnim_alloc(struct bfad_s *bfad, struct bfa_fcs_itnim_s **itnim,
diff --git a/drivers/scsi/bfa/bfa_fcs_fcpim.c b/drivers/scsi/bfa/bfa_fcs_fcpim.c
index 569dfefab70d..9662bcdeb41d 100644
--- a/drivers/scsi/bfa/bfa_fcs_fcpim.c
+++ b/drivers/scsi/bfa/bfa_fcs_fcpim.c
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * fcpim.c - FCP initiator mode i-t nexus state machine 19 * fcpim.c - FCP initiator mode i-t nexus state machine
20 */ 20 */
21 21
@@ -38,7 +38,7 @@ static void bfa_fcs_itnim_prli_response(void *fcsarg,
38 bfa_status_t req_status, u32 rsp_len, 38 bfa_status_t req_status, u32 rsp_len,
39 u32 resid_len, struct fchs_s *rsp_fchs); 39 u32 resid_len, struct fchs_s *rsp_fchs);
40 40
41/** 41/*
42 * fcs_itnim_sm FCS itnim state machine events 42 * fcs_itnim_sm FCS itnim state machine events
43 */ 43 */
44 44
@@ -84,7 +84,7 @@ static struct bfa_sm_table_s itnim_sm_table[] = {
84 {BFA_SM(bfa_fcs_itnim_sm_initiator), BFA_ITNIM_INITIATIOR}, 84 {BFA_SM(bfa_fcs_itnim_sm_initiator), BFA_ITNIM_INITIATIOR},
85}; 85};
86 86
87/** 87/*
88 * fcs_itnim_sm FCS itnim state machine 88 * fcs_itnim_sm FCS itnim state machine
89 */ 89 */
90 90
@@ -494,11 +494,11 @@ bfa_fcs_itnim_free(struct bfa_fcs_itnim_s *itnim)
494 494
495 495
496 496
497/** 497/*
498 * itnim_public FCS ITNIM public interfaces 498 * itnim_public FCS ITNIM public interfaces
499 */ 499 */
500 500
501/** 501/*
502 * Called by rport when a new rport is created. 502 * Called by rport when a new rport is created.
503 * 503 *
504 * @param[in] rport - remote port. 504 * @param[in] rport - remote port.
@@ -554,7 +554,7 @@ bfa_fcs_itnim_create(struct bfa_fcs_rport_s *rport)
554 return itnim; 554 return itnim;
555} 555}
556 556
557/** 557/*
558 * Called by rport to delete the instance of FCPIM. 558 * Called by rport to delete the instance of FCPIM.
559 * 559 *
560 * @param[in] rport - remote port. 560 * @param[in] rport - remote port.
@@ -566,7 +566,7 @@ bfa_fcs_itnim_delete(struct bfa_fcs_itnim_s *itnim)
566 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_DELETE); 566 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_DELETE);
567} 567}
568 568
569/** 569/*
570 * Notification from rport that PLOGI is complete to initiate FC-4 session. 570 * Notification from rport that PLOGI is complete to initiate FC-4 session.
571 */ 571 */
572void 572void
@@ -586,7 +586,7 @@ bfa_fcs_itnim_rport_online(struct bfa_fcs_itnim_s *itnim)
586 } 586 }
587} 587}
588 588
589/** 589/*
590 * Called by rport to handle a remote device offline. 590 * Called by rport to handle a remote device offline.
591 */ 591 */
592void 592void
@@ -596,7 +596,7 @@ bfa_fcs_itnim_rport_offline(struct bfa_fcs_itnim_s *itnim)
596 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_OFFLINE); 596 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_OFFLINE);
597} 597}
598 598
599/** 599/*
600 * Called by rport when remote port is known to be an initiator from 600 * Called by rport when remote port is known to be an initiator from
601 * PRLI received. 601 * PRLI received.
602 */ 602 */
@@ -608,7 +608,7 @@ bfa_fcs_itnim_is_initiator(struct bfa_fcs_itnim_s *itnim)
608 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_INITIATOR); 608 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_INITIATOR);
609} 609}
610 610
611/** 611/*
612 * Called by rport to check if the itnim is online. 612 * Called by rport to check if the itnim is online.
613 */ 613 */
614bfa_status_t 614bfa_status_t
@@ -625,7 +625,7 @@ bfa_fcs_itnim_get_online_state(struct bfa_fcs_itnim_s *itnim)
625 } 625 }
626} 626}
627 627
628/** 628/*
629 * BFA completion callback for bfa_itnim_online(). 629 * BFA completion callback for bfa_itnim_online().
630 */ 630 */
631void 631void
@@ -637,7 +637,7 @@ bfa_cb_itnim_online(void *cbarg)
637 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_HCB_ONLINE); 637 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_HCB_ONLINE);
638} 638}
639 639
640/** 640/*
641 * BFA completion callback for bfa_itnim_offline(). 641 * BFA completion callback for bfa_itnim_offline().
642 */ 642 */
643void 643void
@@ -649,7 +649,7 @@ bfa_cb_itnim_offline(void *cb_arg)
649 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_HCB_OFFLINE); 649 bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_HCB_OFFLINE);
650} 650}
651 651
652/** 652/*
653 * Mark the beginning of PATH TOV handling. IO completion callbacks 653 * Mark the beginning of PATH TOV handling. IO completion callbacks
654 * are still pending. 654 * are still pending.
655 */ 655 */
@@ -661,7 +661,7 @@ bfa_cb_itnim_tov_begin(void *cb_arg)
661 bfa_trc(itnim->fcs, itnim->rport->pwwn); 661 bfa_trc(itnim->fcs, itnim->rport->pwwn);
662} 662}
663 663
664/** 664/*
665 * Mark the end of PATH TOV handling. All pending IOs are already cleaned up. 665 * Mark the end of PATH TOV handling. All pending IOs are already cleaned up.
666 */ 666 */
667void 667void
@@ -674,7 +674,7 @@ bfa_cb_itnim_tov(void *cb_arg)
674 itnim_drv->state = ITNIM_STATE_TIMEOUT; 674 itnim_drv->state = ITNIM_STATE_TIMEOUT;
675} 675}
676 676
677/** 677/*
678 * BFA notification to FCS/driver for second level error recovery. 678 * BFA notification to FCS/driver for second level error recovery.
679 * 679 *
680 * Atleast one I/O request has timedout and target is unresponsive to 680 * Atleast one I/O request has timedout and target is unresponsive to
@@ -736,7 +736,7 @@ bfa_fcs_itnim_stats_get(struct bfa_fcs_lport_s *port, wwn_t rpwwn,
736 if (itnim == NULL) 736 if (itnim == NULL)
737 return BFA_STATUS_NO_FCPIM_NEXUS; 737 return BFA_STATUS_NO_FCPIM_NEXUS;
738 738
739 bfa_os_memcpy(stats, &itnim->stats, sizeof(struct bfa_itnim_stats_s)); 739 memcpy(stats, &itnim->stats, sizeof(struct bfa_itnim_stats_s));
740 740
741 return BFA_STATUS_OK; 741 return BFA_STATUS_OK;
742} 742}
@@ -753,7 +753,7 @@ bfa_fcs_itnim_stats_clear(struct bfa_fcs_lport_s *port, wwn_t rpwwn)
753 if (itnim == NULL) 753 if (itnim == NULL)
754 return BFA_STATUS_NO_FCPIM_NEXUS; 754 return BFA_STATUS_NO_FCPIM_NEXUS;
755 755
756 bfa_os_memset(&itnim->stats, 0, sizeof(struct bfa_itnim_stats_s)); 756 memset(&itnim->stats, 0, sizeof(struct bfa_itnim_stats_s));
757 return BFA_STATUS_OK; 757 return BFA_STATUS_OK;
758} 758}
759 759
diff --git a/drivers/scsi/bfa/bfa_fcs_lport.c b/drivers/scsi/bfa/bfa_fcs_lport.c
index b7aa23a3b1e8..de989fc158dd 100644
--- a/drivers/scsi/bfa/bfa_fcs_lport.c
+++ b/drivers/scsi/bfa/bfa_fcs_lport.c
@@ -15,10 +15,6 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/**
19 * bfa_fcs_lport.c BFA FCS port
20 */
21
22#include "bfa_fcs.h" 18#include "bfa_fcs.h"
23#include "bfa_fcbuild.h" 19#include "bfa_fcbuild.h"
24#include "bfa_fc.h" 20#include "bfa_fc.h"
@@ -26,10 +22,6 @@
26 22
27BFA_TRC_FILE(FCS, PORT); 23BFA_TRC_FILE(FCS, PORT);
28 24
29/**
30 * Forward declarations
31 */
32
33static void bfa_fcs_lport_send_ls_rjt(struct bfa_fcs_lport_s *port, 25static void bfa_fcs_lport_send_ls_rjt(struct bfa_fcs_lport_s *port,
34 struct fchs_s *rx_fchs, u8 reason_code, 26 struct fchs_s *rx_fchs, u8 reason_code,
35 u8 reason_code_expl); 27 u8 reason_code_expl);
@@ -72,7 +64,7 @@ static struct {
72 bfa_fcs_lport_n2n_offline}, 64 bfa_fcs_lport_n2n_offline},
73 }; 65 };
74 66
75/** 67/*
76 * fcs_port_sm FCS logical port state machine 68 * fcs_port_sm FCS logical port state machine
77 */ 69 */
78 70
@@ -240,7 +232,7 @@ bfa_fcs_lport_sm_deleting(
240 } 232 }
241} 233}
242 234
243/** 235/*
244 * fcs_port_pvt 236 * fcs_port_pvt
245 */ 237 */
246 238
@@ -272,7 +264,7 @@ bfa_fcs_lport_send_ls_rjt(struct bfa_fcs_lport_s *port, struct fchs_s *rx_fchs,
272 FC_MAX_PDUSZ, 0); 264 FC_MAX_PDUSZ, 0);
273} 265}
274 266
275/** 267/*
276 * Process incoming plogi from a remote port. 268 * Process incoming plogi from a remote port.
277 */ 269 */
278static void 270static void
@@ -303,7 +295,7 @@ bfa_fcs_lport_plogi(struct bfa_fcs_lport_s *port,
303 return; 295 return;
304 } 296 }
305 297
306 /** 298 /*
307 * Direct Attach P2P mode : verify address assigned by the r-port. 299 * Direct Attach P2P mode : verify address assigned by the r-port.
308 */ 300 */
309 if ((!bfa_fcs_fabric_is_switched(port->fabric)) && 301 if ((!bfa_fcs_fabric_is_switched(port->fabric)) &&
@@ -319,12 +311,12 @@ bfa_fcs_lport_plogi(struct bfa_fcs_lport_s *port,
319 port->pid = rx_fchs->d_id; 311 port->pid = rx_fchs->d_id;
320 } 312 }
321 313
322 /** 314 /*
323 * First, check if we know the device by pwwn. 315 * First, check if we know the device by pwwn.
324 */ 316 */
325 rport = bfa_fcs_lport_get_rport_by_pwwn(port, plogi->port_name); 317 rport = bfa_fcs_lport_get_rport_by_pwwn(port, plogi->port_name);
326 if (rport) { 318 if (rport) {
327 /** 319 /*
328 * Direct Attach P2P mode : handle address assigned by r-port. 320 * Direct Attach P2P mode : handle address assigned by r-port.
329 */ 321 */
330 if ((!bfa_fcs_fabric_is_switched(port->fabric)) && 322 if ((!bfa_fcs_fabric_is_switched(port->fabric)) &&
@@ -337,37 +329,37 @@ bfa_fcs_lport_plogi(struct bfa_fcs_lport_s *port,
337 return; 329 return;
338 } 330 }
339 331
340 /** 332 /*
341 * Next, lookup rport by PID. 333 * Next, lookup rport by PID.
342 */ 334 */
343 rport = bfa_fcs_lport_get_rport_by_pid(port, rx_fchs->s_id); 335 rport = bfa_fcs_lport_get_rport_by_pid(port, rx_fchs->s_id);
344 if (!rport) { 336 if (!rport) {
345 /** 337 /*
346 * Inbound PLOGI from a new device. 338 * Inbound PLOGI from a new device.
347 */ 339 */
348 bfa_fcs_rport_plogi_create(port, rx_fchs, plogi); 340 bfa_fcs_rport_plogi_create(port, rx_fchs, plogi);
349 return; 341 return;
350 } 342 }
351 343
352 /** 344 /*
353 * Rport is known only by PID. 345 * Rport is known only by PID.
354 */ 346 */
355 if (rport->pwwn) { 347 if (rport->pwwn) {
356 /** 348 /*
357 * This is a different device with the same pid. Old device 349 * This is a different device with the same pid. Old device
358 * disappeared. Send implicit LOGO to old device. 350 * disappeared. Send implicit LOGO to old device.
359 */ 351 */
360 bfa_assert(rport->pwwn != plogi->port_name); 352 bfa_assert(rport->pwwn != plogi->port_name);
361 bfa_fcs_rport_logo_imp(rport); 353 bfa_fcs_rport_logo_imp(rport);
362 354
363 /** 355 /*
364 * Inbound PLOGI from a new device (with old PID). 356 * Inbound PLOGI from a new device (with old PID).
365 */ 357 */
366 bfa_fcs_rport_plogi_create(port, rx_fchs, plogi); 358 bfa_fcs_rport_plogi_create(port, rx_fchs, plogi);
367 return; 359 return;
368 } 360 }
369 361
370 /** 362 /*
371 * PLOGI crossing each other. 363 * PLOGI crossing each other.
372 */ 364 */
373 bfa_assert(rport->pwwn == WWN_NULL); 365 bfa_assert(rport->pwwn == WWN_NULL);
@@ -479,12 +471,12 @@ static void
479bfa_fs_port_get_gen_topo_data(struct bfa_fcs_lport_s *port, 471bfa_fs_port_get_gen_topo_data(struct bfa_fcs_lport_s *port,
480 struct fc_rnid_general_topology_data_s *gen_topo_data) 472 struct fc_rnid_general_topology_data_s *gen_topo_data)
481{ 473{
482 bfa_os_memset(gen_topo_data, 0, 474 memset(gen_topo_data, 0,
483 sizeof(struct fc_rnid_general_topology_data_s)); 475 sizeof(struct fc_rnid_general_topology_data_s));
484 476
485 gen_topo_data->asso_type = bfa_os_htonl(RNID_ASSOCIATED_TYPE_HOST); 477 gen_topo_data->asso_type = cpu_to_be32(RNID_ASSOCIATED_TYPE_HOST);
486 gen_topo_data->phy_port_num = 0; /* @todo */ 478 gen_topo_data->phy_port_num = 0; /* @todo */
487 gen_topo_data->num_attached_nodes = bfa_os_htonl(1); 479 gen_topo_data->num_attached_nodes = cpu_to_be32(1);
488} 480}
489 481
490static void 482static void
@@ -598,10 +590,10 @@ bfa_fcs_lport_deleted(struct bfa_fcs_lport_s *port)
598 590
599 591
600 592
601/** 593/*
602 * fcs_lport_api BFA FCS port API 594 * fcs_lport_api BFA FCS port API
603 */ 595 */
604/** 596/*
605 * Module initialization 597 * Module initialization
606 */ 598 */
607void 599void
@@ -610,7 +602,7 @@ bfa_fcs_lport_modinit(struct bfa_fcs_s *fcs)
610 602
611} 603}
612 604
613/** 605/*
614 * Module cleanup 606 * Module cleanup
615 */ 607 */
616void 608void
@@ -619,7 +611,7 @@ bfa_fcs_lport_modexit(struct bfa_fcs_s *fcs)
619 bfa_fcs_modexit_comp(fcs); 611 bfa_fcs_modexit_comp(fcs);
620} 612}
621 613
622/** 614/*
623 * Unsolicited frame receive handling. 615 * Unsolicited frame receive handling.
624 */ 616 */
625void 617void
@@ -637,7 +629,7 @@ bfa_fcs_lport_uf_recv(struct bfa_fcs_lport_s *lport,
637 return; 629 return;
638 } 630 }
639 631
640 /** 632 /*
641 * First, handle ELSs that donot require a login. 633 * First, handle ELSs that donot require a login.
642 */ 634 */
643 /* 635 /*
@@ -673,7 +665,7 @@ bfa_fcs_lport_uf_recv(struct bfa_fcs_lport_s *lport,
673 bfa_fcs_lport_abts_acc(lport, fchs); 665 bfa_fcs_lport_abts_acc(lport, fchs);
674 return; 666 return;
675 } 667 }
676 /** 668 /*
677 * look for a matching remote port ID 669 * look for a matching remote port ID
678 */ 670 */
679 rport = bfa_fcs_lport_get_rport_by_pid(lport, pid); 671 rport = bfa_fcs_lport_get_rport_by_pid(lport, pid);
@@ -686,7 +678,7 @@ bfa_fcs_lport_uf_recv(struct bfa_fcs_lport_s *lport,
686 return; 678 return;
687 } 679 }
688 680
689 /** 681 /*
690 * Only handles ELS frames for now. 682 * Only handles ELS frames for now.
691 */ 683 */
692 if (fchs->type != FC_TYPE_ELS) { 684 if (fchs->type != FC_TYPE_ELS) {
@@ -702,20 +694,20 @@ bfa_fcs_lport_uf_recv(struct bfa_fcs_lport_s *lport,
702 } 694 }
703 695
704 if (els_cmd->els_code == FC_ELS_LOGO) { 696 if (els_cmd->els_code == FC_ELS_LOGO) {
705 /** 697 /*
706 * @todo Handle LOGO frames received. 698 * @todo Handle LOGO frames received.
707 */ 699 */
708 return; 700 return;
709 } 701 }
710 702
711 if (els_cmd->els_code == FC_ELS_PRLI) { 703 if (els_cmd->els_code == FC_ELS_PRLI) {
712 /** 704 /*
713 * @todo Handle PRLI frames received. 705 * @todo Handle PRLI frames received.
714 */ 706 */
715 return; 707 return;
716 } 708 }
717 709
718 /** 710 /*
719 * Unhandled ELS frames. Send a LS_RJT. 711 * Unhandled ELS frames. Send a LS_RJT.
720 */ 712 */
721 bfa_fcs_lport_send_ls_rjt(lport, fchs, FC_LS_RJT_RSN_CMD_NOT_SUPP, 713 bfa_fcs_lport_send_ls_rjt(lport, fchs, FC_LS_RJT_RSN_CMD_NOT_SUPP,
@@ -723,7 +715,7 @@ bfa_fcs_lport_uf_recv(struct bfa_fcs_lport_s *lport,
723 715
724} 716}
725 717
726/** 718/*
727 * PID based Lookup for a R-Port in the Port R-Port Queue 719 * PID based Lookup for a R-Port in the Port R-Port Queue
728 */ 720 */
729struct bfa_fcs_rport_s * 721struct bfa_fcs_rport_s *
@@ -742,7 +734,7 @@ bfa_fcs_lport_get_rport_by_pid(struct bfa_fcs_lport_s *port, u32 pid)
742 return NULL; 734 return NULL;
743} 735}
744 736
745/** 737/*
746 * PWWN based Lookup for a R-Port in the Port R-Port Queue 738 * PWWN based Lookup for a R-Port in the Port R-Port Queue
747 */ 739 */
748struct bfa_fcs_rport_s * 740struct bfa_fcs_rport_s *
@@ -761,7 +753,7 @@ bfa_fcs_lport_get_rport_by_pwwn(struct bfa_fcs_lport_s *port, wwn_t pwwn)
761 return NULL; 753 return NULL;
762} 754}
763 755
764/** 756/*
765 * NWWN based Lookup for a R-Port in the Port R-Port Queue 757 * NWWN based Lookup for a R-Port in the Port R-Port Queue
766 */ 758 */
767struct bfa_fcs_rport_s * 759struct bfa_fcs_rport_s *
@@ -780,7 +772,7 @@ bfa_fcs_lport_get_rport_by_nwwn(struct bfa_fcs_lport_s *port, wwn_t nwwn)
780 return NULL; 772 return NULL;
781} 773}
782 774
783/** 775/*
784 * Called by rport module when new rports are discovered. 776 * Called by rport module when new rports are discovered.
785 */ 777 */
786void 778void
@@ -792,7 +784,7 @@ bfa_fcs_lport_add_rport(
792 port->num_rports++; 784 port->num_rports++;
793} 785}
794 786
795/** 787/*
796 * Called by rport module to when rports are deleted. 788 * Called by rport module to when rports are deleted.
797 */ 789 */
798void 790void
@@ -807,7 +799,7 @@ bfa_fcs_lport_del_rport(
807 bfa_sm_send_event(port, BFA_FCS_PORT_SM_DELRPORT); 799 bfa_sm_send_event(port, BFA_FCS_PORT_SM_DELRPORT);
808} 800}
809 801
810/** 802/*
811 * Called by fabric for base port when fabric login is complete. 803 * Called by fabric for base port when fabric login is complete.
812 * Called by vport for virtual ports when FDISC is complete. 804 * Called by vport for virtual ports when FDISC is complete.
813 */ 805 */
@@ -817,7 +809,7 @@ bfa_fcs_lport_online(struct bfa_fcs_lport_s *port)
817 bfa_sm_send_event(port, BFA_FCS_PORT_SM_ONLINE); 809 bfa_sm_send_event(port, BFA_FCS_PORT_SM_ONLINE);
818} 810}
819 811
820/** 812/*
821 * Called by fabric for base port when fabric goes offline. 813 * Called by fabric for base port when fabric goes offline.
822 * Called by vport for virtual ports when virtual port becomes offline. 814 * Called by vport for virtual ports when virtual port becomes offline.
823 */ 815 */
@@ -827,7 +819,7 @@ bfa_fcs_lport_offline(struct bfa_fcs_lport_s *port)
827 bfa_sm_send_event(port, BFA_FCS_PORT_SM_OFFLINE); 819 bfa_sm_send_event(port, BFA_FCS_PORT_SM_OFFLINE);
828} 820}
829 821
830/** 822/*
831 * Called by fabric to delete base lport and associated resources. 823 * Called by fabric to delete base lport and associated resources.
832 * 824 *
833 * Called by vport to delete lport and associated resources. Should call 825 * Called by vport to delete lport and associated resources. Should call
@@ -839,7 +831,7 @@ bfa_fcs_lport_delete(struct bfa_fcs_lport_s *port)
839 bfa_sm_send_event(port, BFA_FCS_PORT_SM_DELETE); 831 bfa_sm_send_event(port, BFA_FCS_PORT_SM_DELETE);
840} 832}
841 833
842/** 834/*
843 * Return TRUE if port is online, else return FALSE 835 * Return TRUE if port is online, else return FALSE
844 */ 836 */
845bfa_boolean_t 837bfa_boolean_t
@@ -848,7 +840,7 @@ bfa_fcs_lport_is_online(struct bfa_fcs_lport_s *port)
848 return bfa_sm_cmp_state(port, bfa_fcs_lport_sm_online); 840 return bfa_sm_cmp_state(port, bfa_fcs_lport_sm_online);
849} 841}
850 842
851/** 843/*
852 * Attach time initialization of logical ports. 844 * Attach time initialization of logical ports.
853 */ 845 */
854void 846void
@@ -865,7 +857,7 @@ bfa_fcs_lport_attach(struct bfa_fcs_lport_s *lport, struct bfa_fcs_s *fcs,
865 lport->num_rports = 0; 857 lport->num_rports = 0;
866} 858}
867 859
868/** 860/*
869 * Logical port initialization of base or virtual port. 861 * Logical port initialization of base or virtual port.
870 * Called by fabric for base port or by vport for virtual ports. 862 * Called by fabric for base port or by vport for virtual ports.
871 */ 863 */
@@ -878,7 +870,7 @@ bfa_fcs_lport_init(struct bfa_fcs_lport_s *lport,
878 struct bfad_s *bfad = (struct bfad_s *)lport->fcs->bfad; 870 struct bfad_s *bfad = (struct bfad_s *)lport->fcs->bfad;
879 char lpwwn_buf[BFA_STRING_32]; 871 char lpwwn_buf[BFA_STRING_32];
880 872
881 bfa_os_assign(lport->port_cfg, *port_cfg); 873 lport->port_cfg = *port_cfg;
882 874
883 lport->bfad_port = bfa_fcb_lport_new(lport->fcs->bfad, lport, 875 lport->bfad_port = bfa_fcb_lport_new(lport->fcs->bfad, lport,
884 lport->port_cfg.roles, 876 lport->port_cfg.roles,
@@ -894,7 +886,7 @@ bfa_fcs_lport_init(struct bfa_fcs_lport_s *lport,
894 bfa_sm_send_event(lport, BFA_FCS_PORT_SM_CREATE); 886 bfa_sm_send_event(lport, BFA_FCS_PORT_SM_CREATE);
895} 887}
896 888
897/** 889/*
898 * fcs_lport_api 890 * fcs_lport_api
899 */ 891 */
900 892
@@ -934,11 +926,11 @@ bfa_fcs_lport_get_attr(
934 } 926 }
935} 927}
936 928
937/** 929/*
938 * bfa_fcs_lport_fab port fab functions 930 * bfa_fcs_lport_fab port fab functions
939 */ 931 */
940 932
941/** 933/*
942 * Called by port to initialize fabric services of the base port. 934 * Called by port to initialize fabric services of the base port.
943 */ 935 */
944static void 936static void
@@ -949,7 +941,7 @@ bfa_fcs_lport_fab_init(struct bfa_fcs_lport_s *port)
949 bfa_fcs_lport_ms_init(port); 941 bfa_fcs_lport_ms_init(port);
950} 942}
951 943
952/** 944/*
953 * Called by port to notify transition to online state. 945 * Called by port to notify transition to online state.
954 */ 946 */
955static void 947static void
@@ -959,7 +951,7 @@ bfa_fcs_lport_fab_online(struct bfa_fcs_lport_s *port)
959 bfa_fcs_lport_scn_online(port); 951 bfa_fcs_lport_scn_online(port);
960} 952}
961 953
962/** 954/*
963 * Called by port to notify transition to offline state. 955 * Called by port to notify transition to offline state.
964 */ 956 */
965static void 957static void
@@ -970,11 +962,11 @@ bfa_fcs_lport_fab_offline(struct bfa_fcs_lport_s *port)
970 bfa_fcs_lport_ms_offline(port); 962 bfa_fcs_lport_ms_offline(port);
971} 963}
972 964
973/** 965/*
974 * bfa_fcs_lport_n2n functions 966 * bfa_fcs_lport_n2n functions
975 */ 967 */
976 968
977/** 969/*
978 * Called by fcs/port to initialize N2N topology. 970 * Called by fcs/port to initialize N2N topology.
979 */ 971 */
980static void 972static void
@@ -982,7 +974,7 @@ bfa_fcs_lport_n2n_init(struct bfa_fcs_lport_s *port)
982{ 974{
983} 975}
984 976
985/** 977/*
986 * Called by fcs/port to notify transition to online state. 978 * Called by fcs/port to notify transition to online state.
987 */ 979 */
988static void 980static void
@@ -1006,7 +998,7 @@ bfa_fcs_lport_n2n_online(struct bfa_fcs_lport_s *port)
1006 ((void *)&pcfg->pwwn, (void *)&n2n_port->rem_port_wwn, 998 ((void *)&pcfg->pwwn, (void *)&n2n_port->rem_port_wwn,
1007 sizeof(wwn_t)) > 0) { 999 sizeof(wwn_t)) > 0) {
1008 port->pid = N2N_LOCAL_PID; 1000 port->pid = N2N_LOCAL_PID;
1009 /** 1001 /*
1010 * First, check if we know the device by pwwn. 1002 * First, check if we know the device by pwwn.
1011 */ 1003 */
1012 rport = bfa_fcs_lport_get_rport_by_pwwn(port, 1004 rport = bfa_fcs_lport_get_rport_by_pwwn(port,
@@ -1035,7 +1027,7 @@ bfa_fcs_lport_n2n_online(struct bfa_fcs_lport_s *port)
1035 } 1027 }
1036} 1028}
1037 1029
1038/** 1030/*
1039 * Called by fcs/port to notify transition to offline state. 1031 * Called by fcs/port to notify transition to offline state.
1040 */ 1032 */
1041static void 1033static void
@@ -1094,11 +1086,11 @@ static void bfa_fcs_fdmi_get_hbaattr(struct bfa_fcs_lport_fdmi_s *fdmi,
1094 struct bfa_fcs_fdmi_hba_attr_s *hba_attr); 1086 struct bfa_fcs_fdmi_hba_attr_s *hba_attr);
1095static void bfa_fcs_fdmi_get_portattr(struct bfa_fcs_lport_fdmi_s *fdmi, 1087static void bfa_fcs_fdmi_get_portattr(struct bfa_fcs_lport_fdmi_s *fdmi,
1096 struct bfa_fcs_fdmi_port_attr_s *port_attr); 1088 struct bfa_fcs_fdmi_port_attr_s *port_attr);
1097/** 1089/*
1098 * fcs_fdmi_sm FCS FDMI state machine 1090 * fcs_fdmi_sm FCS FDMI state machine
1099 */ 1091 */
1100 1092
1101/** 1093/*
1102 * FDMI State Machine events 1094 * FDMI State Machine events
1103 */ 1095 */
1104enum port_fdmi_event { 1096enum port_fdmi_event {
@@ -1143,7 +1135,7 @@ static void bfa_fcs_lport_fdmi_sm_online(struct bfa_fcs_lport_fdmi_s *fdmi,
1143static void bfa_fcs_lport_fdmi_sm_disabled( 1135static void bfa_fcs_lport_fdmi_sm_disabled(
1144 struct bfa_fcs_lport_fdmi_s *fdmi, 1136 struct bfa_fcs_lport_fdmi_s *fdmi,
1145 enum port_fdmi_event event); 1137 enum port_fdmi_event event);
1146/** 1138/*
1147 * Start in offline state - awaiting MS to send start. 1139 * Start in offline state - awaiting MS to send start.
1148 */ 1140 */
1149static void 1141static void
@@ -1510,7 +1502,7 @@ bfa_fcs_lport_fdmi_sm_online(struct bfa_fcs_lport_fdmi_s *fdmi,
1510 bfa_sm_fault(port->fcs, event); 1502 bfa_sm_fault(port->fcs, event);
1511 } 1503 }
1512} 1504}
1513/** 1505/*
1514 * FDMI is disabled state. 1506 * FDMI is disabled state.
1515 */ 1507 */
1516static void 1508static void
@@ -1525,7 +1517,7 @@ bfa_fcs_lport_fdmi_sm_disabled(struct bfa_fcs_lport_fdmi_s *fdmi,
1525 /* No op State. It can only be enabled at Driver Init. */ 1517 /* No op State. It can only be enabled at Driver Init. */
1526} 1518}
1527 1519
1528/** 1520/*
1529* RHBA : Register HBA Attributes. 1521* RHBA : Register HBA Attributes.
1530 */ 1522 */
1531static void 1523static void
@@ -1549,7 +1541,7 @@ bfa_fcs_lport_fdmi_send_rhba(void *fdmi_cbarg, struct bfa_fcxp_s *fcxp_alloced)
1549 fdmi->fcxp = fcxp; 1541 fdmi->fcxp = fcxp;
1550 1542
1551 pyld = bfa_fcxp_get_reqbuf(fcxp); 1543 pyld = bfa_fcxp_get_reqbuf(fcxp);
1552 bfa_os_memset(pyld, 0, FC_MAX_PDUSZ); 1544 memset(pyld, 0, FC_MAX_PDUSZ);
1553 1545
1554 len = fc_fdmi_reqhdr_build(&fchs, pyld, bfa_fcs_lport_get_fcid(port), 1546 len = fc_fdmi_reqhdr_build(&fchs, pyld, bfa_fcs_lport_get_fcid(port),
1555 FDMI_RHBA); 1547 FDMI_RHBA);
@@ -1584,7 +1576,7 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1584 bfa_fcs_fdmi_get_hbaattr(fdmi, fcs_hba_attr); 1576 bfa_fcs_fdmi_get_hbaattr(fdmi, fcs_hba_attr);
1585 1577
1586 rhba->hba_id = bfa_fcs_lport_get_pwwn(port); 1578 rhba->hba_id = bfa_fcs_lport_get_pwwn(port);
1587 rhba->port_list.num_ports = bfa_os_htonl(1); 1579 rhba->port_list.num_ports = cpu_to_be32(1);
1588 rhba->port_list.port_entry = bfa_fcs_lport_get_pwwn(port); 1580 rhba->port_list.port_entry = bfa_fcs_lport_get_pwwn(port);
1589 1581
1590 len = sizeof(rhba->hba_id) + sizeof(rhba->port_list); 1582 len = sizeof(rhba->hba_id) + sizeof(rhba->port_list);
@@ -1601,86 +1593,69 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1601 * Node Name 1593 * Node Name
1602 */ 1594 */
1603 attr = (struct fdmi_attr_s *) curr_ptr; 1595 attr = (struct fdmi_attr_s *) curr_ptr;
1604 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_NODENAME); 1596 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_NODENAME);
1605 attr->len = sizeof(wwn_t); 1597 attr->len = sizeof(wwn_t);
1606 memcpy(attr->value, &bfa_fcs_lport_get_nwwn(port), attr->len); 1598 memcpy(attr->value, &bfa_fcs_lport_get_nwwn(port), attr->len);
1607 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1599 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1608 len += attr->len; 1600 len += attr->len;
1609 count++; 1601 count++;
1610 attr->len = 1602 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1611 bfa_os_htons(attr->len + sizeof(attr->type) +
1612 sizeof(attr->len)); 1603 sizeof(attr->len));
1613 1604
1614 /* 1605 /*
1615 * Manufacturer 1606 * Manufacturer
1616 */ 1607 */
1617 attr = (struct fdmi_attr_s *) curr_ptr; 1608 attr = (struct fdmi_attr_s *) curr_ptr;
1618 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_MANUFACTURER); 1609 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_MANUFACTURER);
1619 attr->len = (u16) strlen(fcs_hba_attr->manufacturer); 1610 attr->len = (u16) strlen(fcs_hba_attr->manufacturer);
1620 memcpy(attr->value, fcs_hba_attr->manufacturer, attr->len); 1611 memcpy(attr->value, fcs_hba_attr->manufacturer, attr->len);
1621 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1612 attr->len = fc_roundup(attr->len, sizeof(u32));
1622 *fields need
1623 *to be 4 byte
1624 *aligned */
1625 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1613 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1626 len += attr->len; 1614 len += attr->len;
1627 count++; 1615 count++;
1628 attr->len = 1616 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1629 bfa_os_htons(attr->len + sizeof(attr->type) +
1630 sizeof(attr->len)); 1617 sizeof(attr->len));
1631 1618
1632 /* 1619 /*
1633 * Serial Number 1620 * Serial Number
1634 */ 1621 */
1635 attr = (struct fdmi_attr_s *) curr_ptr; 1622 attr = (struct fdmi_attr_s *) curr_ptr;
1636 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_SERIALNUM); 1623 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_SERIALNUM);
1637 attr->len = (u16) strlen(fcs_hba_attr->serial_num); 1624 attr->len = (u16) strlen(fcs_hba_attr->serial_num);
1638 memcpy(attr->value, fcs_hba_attr->serial_num, attr->len); 1625 memcpy(attr->value, fcs_hba_attr->serial_num, attr->len);
1639 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1626 attr->len = fc_roundup(attr->len, sizeof(u32));
1640 *fields need
1641 *to be 4 byte
1642 *aligned */
1643 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1627 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1644 len += attr->len; 1628 len += attr->len;
1645 count++; 1629 count++;
1646 attr->len = 1630 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1647 bfa_os_htons(attr->len + sizeof(attr->type) +
1648 sizeof(attr->len)); 1631 sizeof(attr->len));
1649 1632
1650 /* 1633 /*
1651 * Model 1634 * Model
1652 */ 1635 */
1653 attr = (struct fdmi_attr_s *) curr_ptr; 1636 attr = (struct fdmi_attr_s *) curr_ptr;
1654 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_MODEL); 1637 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_MODEL);
1655 attr->len = (u16) strlen(fcs_hba_attr->model); 1638 attr->len = (u16) strlen(fcs_hba_attr->model);
1656 memcpy(attr->value, fcs_hba_attr->model, attr->len); 1639 memcpy(attr->value, fcs_hba_attr->model, attr->len);
1657 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1640 attr->len = fc_roundup(attr->len, sizeof(u32));
1658 *fields need
1659 *to be 4 byte
1660 *aligned */
1661 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1641 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1662 len += attr->len; 1642 len += attr->len;
1663 count++; 1643 count++;
1664 attr->len = 1644 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1665 bfa_os_htons(attr->len + sizeof(attr->type) +
1666 sizeof(attr->len)); 1645 sizeof(attr->len));
1667 1646
1668 /* 1647 /*
1669 * Model Desc 1648 * Model Desc
1670 */ 1649 */
1671 attr = (struct fdmi_attr_s *) curr_ptr; 1650 attr = (struct fdmi_attr_s *) curr_ptr;
1672 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_MODEL_DESC); 1651 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_MODEL_DESC);
1673 attr->len = (u16) strlen(fcs_hba_attr->model_desc); 1652 attr->len = (u16) strlen(fcs_hba_attr->model_desc);
1674 memcpy(attr->value, fcs_hba_attr->model_desc, attr->len); 1653 memcpy(attr->value, fcs_hba_attr->model_desc, attr->len);
1675 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1654 attr->len = fc_roundup(attr->len, sizeof(u32));
1676 *fields need
1677 *to be 4 byte
1678 *aligned */
1679 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1655 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1680 len += attr->len; 1656 len += attr->len;
1681 count++; 1657 count++;
1682 attr->len = 1658 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1683 bfa_os_htons(attr->len + sizeof(attr->type) +
1684 sizeof(attr->len)); 1659 sizeof(attr->len));
1685 1660
1686 /* 1661 /*
@@ -1688,18 +1663,14 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1688 */ 1663 */
1689 if (fcs_hba_attr->hw_version[0] != '\0') { 1664 if (fcs_hba_attr->hw_version[0] != '\0') {
1690 attr = (struct fdmi_attr_s *) curr_ptr; 1665 attr = (struct fdmi_attr_s *) curr_ptr;
1691 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_HW_VERSION); 1666 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_HW_VERSION);
1692 attr->len = (u16) strlen(fcs_hba_attr->hw_version); 1667 attr->len = (u16) strlen(fcs_hba_attr->hw_version);
1693 memcpy(attr->value, fcs_hba_attr->hw_version, attr->len); 1668 memcpy(attr->value, fcs_hba_attr->hw_version, attr->len);
1694 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1669 attr->len = fc_roundup(attr->len, sizeof(u32));
1695 *fields need
1696 *to be 4 byte
1697 *aligned */
1698 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1670 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1699 len += attr->len; 1671 len += attr->len;
1700 count++; 1672 count++;
1701 attr->len = 1673 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1702 bfa_os_htons(attr->len + sizeof(attr->type) +
1703 sizeof(attr->len)); 1674 sizeof(attr->len));
1704 } 1675 }
1705 1676
@@ -1707,18 +1678,14 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1707 * Driver Version 1678 * Driver Version
1708 */ 1679 */
1709 attr = (struct fdmi_attr_s *) curr_ptr; 1680 attr = (struct fdmi_attr_s *) curr_ptr;
1710 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_DRIVER_VERSION); 1681 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_DRIVER_VERSION);
1711 attr->len = (u16) strlen(fcs_hba_attr->driver_version); 1682 attr->len = (u16) strlen(fcs_hba_attr->driver_version);
1712 memcpy(attr->value, fcs_hba_attr->driver_version, attr->len); 1683 memcpy(attr->value, fcs_hba_attr->driver_version, attr->len);
1713 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1684 attr->len = fc_roundup(attr->len, sizeof(u32));
1714 *fields need
1715 *to be 4 byte
1716 *aligned */
1717 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1685 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1718 len += attr->len;; 1686 len += attr->len;;
1719 count++; 1687 count++;
1720 attr->len = 1688 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1721 bfa_os_htons(attr->len + sizeof(attr->type) +
1722 sizeof(attr->len)); 1689 sizeof(attr->len));
1723 1690
1724 /* 1691 /*
@@ -1726,18 +1693,14 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1726 */ 1693 */
1727 if (fcs_hba_attr->option_rom_ver[0] != '\0') { 1694 if (fcs_hba_attr->option_rom_ver[0] != '\0') {
1728 attr = (struct fdmi_attr_s *) curr_ptr; 1695 attr = (struct fdmi_attr_s *) curr_ptr;
1729 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_ROM_VERSION); 1696 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_ROM_VERSION);
1730 attr->len = (u16) strlen(fcs_hba_attr->option_rom_ver); 1697 attr->len = (u16) strlen(fcs_hba_attr->option_rom_ver);
1731 memcpy(attr->value, fcs_hba_attr->option_rom_ver, attr->len); 1698 memcpy(attr->value, fcs_hba_attr->option_rom_ver, attr->len);
1732 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1699 attr->len = fc_roundup(attr->len, sizeof(u32));
1733 *fields need
1734 *to be 4 byte
1735 *aligned */
1736 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1700 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1737 len += attr->len; 1701 len += attr->len;
1738 count++; 1702 count++;
1739 attr->len = 1703 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1740 bfa_os_htons(attr->len + sizeof(attr->type) +
1741 sizeof(attr->len)); 1704 sizeof(attr->len));
1742 } 1705 }
1743 1706
@@ -1745,18 +1708,14 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1745 * f/w Version = driver version 1708 * f/w Version = driver version
1746 */ 1709 */
1747 attr = (struct fdmi_attr_s *) curr_ptr; 1710 attr = (struct fdmi_attr_s *) curr_ptr;
1748 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_FW_VERSION); 1711 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_FW_VERSION);
1749 attr->len = (u16) strlen(fcs_hba_attr->driver_version); 1712 attr->len = (u16) strlen(fcs_hba_attr->driver_version);
1750 memcpy(attr->value, fcs_hba_attr->driver_version, attr->len); 1713 memcpy(attr->value, fcs_hba_attr->driver_version, attr->len);
1751 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1714 attr->len = fc_roundup(attr->len, sizeof(u32));
1752 *fields need
1753 *to be 4 byte
1754 *aligned */
1755 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1715 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1756 len += attr->len; 1716 len += attr->len;
1757 count++; 1717 count++;
1758 attr->len = 1718 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1759 bfa_os_htons(attr->len + sizeof(attr->type) +
1760 sizeof(attr->len)); 1719 sizeof(attr->len));
1761 1720
1762 /* 1721 /*
@@ -1764,18 +1723,14 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1764 */ 1723 */
1765 if (fcs_hba_attr->os_name[0] != '\0') { 1724 if (fcs_hba_attr->os_name[0] != '\0') {
1766 attr = (struct fdmi_attr_s *) curr_ptr; 1725 attr = (struct fdmi_attr_s *) curr_ptr;
1767 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_OS_NAME); 1726 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_OS_NAME);
1768 attr->len = (u16) strlen(fcs_hba_attr->os_name); 1727 attr->len = (u16) strlen(fcs_hba_attr->os_name);
1769 memcpy(attr->value, fcs_hba_attr->os_name, attr->len); 1728 memcpy(attr->value, fcs_hba_attr->os_name, attr->len);
1770 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1729 attr->len = fc_roundup(attr->len, sizeof(u32));
1771 *fields need
1772 *to be 4 byte
1773 *aligned */
1774 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1730 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1775 len += attr->len; 1731 len += attr->len;
1776 count++; 1732 count++;
1777 attr->len = 1733 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1778 bfa_os_htons(attr->len + sizeof(attr->type) +
1779 sizeof(attr->len)); 1734 sizeof(attr->len));
1780 } 1735 }
1781 1736
@@ -1783,22 +1738,20 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
1783 * MAX_CT_PAYLOAD 1738 * MAX_CT_PAYLOAD
1784 */ 1739 */
1785 attr = (struct fdmi_attr_s *) curr_ptr; 1740 attr = (struct fdmi_attr_s *) curr_ptr;
1786 attr->type = bfa_os_htons(FDMI_HBA_ATTRIB_MAX_CT); 1741 attr->type = cpu_to_be16(FDMI_HBA_ATTRIB_MAX_CT);
1787 attr->len = sizeof(fcs_hba_attr->max_ct_pyld); 1742 attr->len = sizeof(fcs_hba_attr->max_ct_pyld);
1788 memcpy(attr->value, &fcs_hba_attr->max_ct_pyld, attr->len); 1743 memcpy(attr->value, &fcs_hba_attr->max_ct_pyld, attr->len);
1789 len += attr->len; 1744 len += attr->len;
1790 count++; 1745 count++;
1791 attr->len = 1746 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1792 bfa_os_htons(attr->len + sizeof(attr->type) +
1793 sizeof(attr->len)); 1747 sizeof(attr->len));
1794 1748
1795 /* 1749 /*
1796 * Update size of payload 1750 * Update size of payload
1797 */ 1751 */
1798 len += ((sizeof(attr->type) + 1752 len += ((sizeof(attr->type) + sizeof(attr->len)) * count);
1799 sizeof(attr->len)) * count);
1800 1753
1801 rhba->hba_attr_blk.attr_count = bfa_os_htonl(count); 1754 rhba->hba_attr_blk.attr_count = cpu_to_be32(count);
1802 return len; 1755 return len;
1803} 1756}
1804 1757
@@ -1825,7 +1778,7 @@ bfa_fcs_lport_fdmi_rhba_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
1825 } 1778 }
1826 1779
1827 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 1780 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
1828 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 1781 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
1829 1782
1830 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 1783 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
1831 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_OK); 1784 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_OK);
@@ -1837,7 +1790,7 @@ bfa_fcs_lport_fdmi_rhba_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
1837 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_ERROR); 1790 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_ERROR);
1838} 1791}
1839 1792
1840/** 1793/*
1841* RPRT : Register Port 1794* RPRT : Register Port
1842 */ 1795 */
1843static void 1796static void
@@ -1861,7 +1814,7 @@ bfa_fcs_lport_fdmi_send_rprt(void *fdmi_cbarg, struct bfa_fcxp_s *fcxp_alloced)
1861 fdmi->fcxp = fcxp; 1814 fdmi->fcxp = fcxp;
1862 1815
1863 pyld = bfa_fcxp_get_reqbuf(fcxp); 1816 pyld = bfa_fcxp_get_reqbuf(fcxp);
1864 bfa_os_memset(pyld, 0, FC_MAX_PDUSZ); 1817 memset(pyld, 0, FC_MAX_PDUSZ);
1865 1818
1866 len = fc_fdmi_reqhdr_build(&fchs, pyld, bfa_fcs_lport_get_fcid(port), 1819 len = fc_fdmi_reqhdr_build(&fchs, pyld, bfa_fcs_lport_get_fcid(port),
1867 FDMI_RPRT); 1820 FDMI_RPRT);
@@ -1879,7 +1832,7 @@ bfa_fcs_lport_fdmi_send_rprt(void *fdmi_cbarg, struct bfa_fcxp_s *fcxp_alloced)
1879 bfa_sm_send_event(fdmi, FDMISM_EVENT_RPRT_SENT); 1832 bfa_sm_send_event(fdmi, FDMISM_EVENT_RPRT_SENT);
1880} 1833}
1881 1834
1882/** 1835/*
1883 * This routine builds Port Attribute Block that used in RPA, RPRT commands. 1836 * This routine builds Port Attribute Block that used in RPA, RPRT commands.
1884 */ 1837 */
1885static u16 1838static u16
@@ -1909,56 +1862,54 @@ bfa_fcs_lport_fdmi_build_portattr_block(struct bfa_fcs_lport_fdmi_s *fdmi,
1909 * FC4 Types 1862 * FC4 Types
1910 */ 1863 */
1911 attr = (struct fdmi_attr_s *) curr_ptr; 1864 attr = (struct fdmi_attr_s *) curr_ptr;
1912 attr->type = bfa_os_htons(FDMI_PORT_ATTRIB_FC4_TYPES); 1865 attr->type = cpu_to_be16(FDMI_PORT_ATTRIB_FC4_TYPES);
1913 attr->len = sizeof(fcs_port_attr.supp_fc4_types); 1866 attr->len = sizeof(fcs_port_attr.supp_fc4_types);
1914 memcpy(attr->value, fcs_port_attr.supp_fc4_types, attr->len); 1867 memcpy(attr->value, fcs_port_attr.supp_fc4_types, attr->len);
1915 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1868 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1916 len += attr->len; 1869 len += attr->len;
1917 ++count; 1870 ++count;
1918 attr->len = 1871 attr->len =
1919 bfa_os_htons(attr->len + sizeof(attr->type) + 1872 cpu_to_be16(attr->len + sizeof(attr->type) +
1920 sizeof(attr->len)); 1873 sizeof(attr->len));
1921 1874
1922 /* 1875 /*
1923 * Supported Speed 1876 * Supported Speed
1924 */ 1877 */
1925 attr = (struct fdmi_attr_s *) curr_ptr; 1878 attr = (struct fdmi_attr_s *) curr_ptr;
1926 attr->type = bfa_os_htons(FDMI_PORT_ATTRIB_SUPP_SPEED); 1879 attr->type = cpu_to_be16(FDMI_PORT_ATTRIB_SUPP_SPEED);
1927 attr->len = sizeof(fcs_port_attr.supp_speed); 1880 attr->len = sizeof(fcs_port_attr.supp_speed);
1928 memcpy(attr->value, &fcs_port_attr.supp_speed, attr->len); 1881 memcpy(attr->value, &fcs_port_attr.supp_speed, attr->len);
1929 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1882 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1930 len += attr->len; 1883 len += attr->len;
1931 ++count; 1884 ++count;
1932 attr->len = 1885 attr->len =
1933 bfa_os_htons(attr->len + sizeof(attr->type) + 1886 cpu_to_be16(attr->len + sizeof(attr->type) +
1934 sizeof(attr->len)); 1887 sizeof(attr->len));
1935 1888
1936 /* 1889 /*
1937 * current Port Speed 1890 * current Port Speed
1938 */ 1891 */
1939 attr = (struct fdmi_attr_s *) curr_ptr; 1892 attr = (struct fdmi_attr_s *) curr_ptr;
1940 attr->type = bfa_os_htons(FDMI_PORT_ATTRIB_PORT_SPEED); 1893 attr->type = cpu_to_be16(FDMI_PORT_ATTRIB_PORT_SPEED);
1941 attr->len = sizeof(fcs_port_attr.curr_speed); 1894 attr->len = sizeof(fcs_port_attr.curr_speed);
1942 memcpy(attr->value, &fcs_port_attr.curr_speed, attr->len); 1895 memcpy(attr->value, &fcs_port_attr.curr_speed, attr->len);
1943 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1896 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1944 len += attr->len; 1897 len += attr->len;
1945 ++count; 1898 ++count;
1946 attr->len = 1899 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1947 bfa_os_htons(attr->len + sizeof(attr->type) +
1948 sizeof(attr->len)); 1900 sizeof(attr->len));
1949 1901
1950 /* 1902 /*
1951 * max frame size 1903 * max frame size
1952 */ 1904 */
1953 attr = (struct fdmi_attr_s *) curr_ptr; 1905 attr = (struct fdmi_attr_s *) curr_ptr;
1954 attr->type = bfa_os_htons(FDMI_PORT_ATTRIB_FRAME_SIZE); 1906 attr->type = cpu_to_be16(FDMI_PORT_ATTRIB_FRAME_SIZE);
1955 attr->len = sizeof(fcs_port_attr.max_frm_size); 1907 attr->len = sizeof(fcs_port_attr.max_frm_size);
1956 memcpy(attr->value, &fcs_port_attr.max_frm_size, attr->len); 1908 memcpy(attr->value, &fcs_port_attr.max_frm_size, attr->len);
1957 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1909 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1958 len += attr->len; 1910 len += attr->len;
1959 ++count; 1911 ++count;
1960 attr->len = 1912 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1961 bfa_os_htons(attr->len + sizeof(attr->type) +
1962 sizeof(attr->len)); 1913 sizeof(attr->len));
1963 1914
1964 /* 1915 /*
@@ -1966,18 +1917,14 @@ bfa_fcs_lport_fdmi_build_portattr_block(struct bfa_fcs_lport_fdmi_s *fdmi,
1966 */ 1917 */
1967 if (fcs_port_attr.os_device_name[0] != '\0') { 1918 if (fcs_port_attr.os_device_name[0] != '\0') {
1968 attr = (struct fdmi_attr_s *) curr_ptr; 1919 attr = (struct fdmi_attr_s *) curr_ptr;
1969 attr->type = bfa_os_htons(FDMI_PORT_ATTRIB_DEV_NAME); 1920 attr->type = cpu_to_be16(FDMI_PORT_ATTRIB_DEV_NAME);
1970 attr->len = (u16) strlen(fcs_port_attr.os_device_name); 1921 attr->len = (u16) strlen(fcs_port_attr.os_device_name);
1971 memcpy(attr->value, fcs_port_attr.os_device_name, attr->len); 1922 memcpy(attr->value, fcs_port_attr.os_device_name, attr->len);
1972 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1923 attr->len = fc_roundup(attr->len, sizeof(u32));
1973 *fields need
1974 *to be 4 byte
1975 *aligned */
1976 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1924 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1977 len += attr->len; 1925 len += attr->len;
1978 ++count; 1926 ++count;
1979 attr->len = 1927 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1980 bfa_os_htons(attr->len + sizeof(attr->type) +
1981 sizeof(attr->len)); 1928 sizeof(attr->len));
1982 } 1929 }
1983 /* 1930 /*
@@ -1985,27 +1932,22 @@ bfa_fcs_lport_fdmi_build_portattr_block(struct bfa_fcs_lport_fdmi_s *fdmi,
1985 */ 1932 */
1986 if (fcs_port_attr.host_name[0] != '\0') { 1933 if (fcs_port_attr.host_name[0] != '\0') {
1987 attr = (struct fdmi_attr_s *) curr_ptr; 1934 attr = (struct fdmi_attr_s *) curr_ptr;
1988 attr->type = bfa_os_htons(FDMI_PORT_ATTRIB_HOST_NAME); 1935 attr->type = cpu_to_be16(FDMI_PORT_ATTRIB_HOST_NAME);
1989 attr->len = (u16) strlen(fcs_port_attr.host_name); 1936 attr->len = (u16) strlen(fcs_port_attr.host_name);
1990 memcpy(attr->value, fcs_port_attr.host_name, attr->len); 1937 memcpy(attr->value, fcs_port_attr.host_name, attr->len);
1991 attr->len = fc_roundup(attr->len, sizeof(u32)); /* variable 1938 attr->len = fc_roundup(attr->len, sizeof(u32));
1992 *fields need
1993 *to be 4 byte
1994 *aligned */
1995 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len; 1939 curr_ptr += sizeof(attr->type) + sizeof(attr->len) + attr->len;
1996 len += attr->len; 1940 len += attr->len;
1997 ++count; 1941 ++count;
1998 attr->len = 1942 attr->len = cpu_to_be16(attr->len + sizeof(attr->type) +
1999 bfa_os_htons(attr->len + sizeof(attr->type) +
2000 sizeof(attr->len)); 1943 sizeof(attr->len));
2001 } 1944 }
2002 1945
2003 /* 1946 /*
2004 * Update size of payload 1947 * Update size of payload
2005 */ 1948 */
2006 port_attrib->attr_count = bfa_os_htonl(count); 1949 port_attrib->attr_count = cpu_to_be32(count);
2007 len += ((sizeof(attr->type) + 1950 len += ((sizeof(attr->type) + sizeof(attr->len)) * count);
2008 sizeof(attr->len)) * count);
2009 return len; 1951 return len;
2010} 1952}
2011 1953
@@ -2050,7 +1992,7 @@ bfa_fcs_lport_fdmi_rprt_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
2050 } 1992 }
2051 1993
2052 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 1994 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
2053 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 1995 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
2054 1996
2055 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 1997 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
2056 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_OK); 1998 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_OK);
@@ -2062,7 +2004,7 @@ bfa_fcs_lport_fdmi_rprt_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
2062 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_ERROR); 2004 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_ERROR);
2063} 2005}
2064 2006
2065/** 2007/*
2066* RPA : Register Port Attributes. 2008* RPA : Register Port Attributes.
2067 */ 2009 */
2068static void 2010static void
@@ -2086,15 +2028,13 @@ bfa_fcs_lport_fdmi_send_rpa(void *fdmi_cbarg, struct bfa_fcxp_s *fcxp_alloced)
2086 fdmi->fcxp = fcxp; 2028 fdmi->fcxp = fcxp;
2087 2029
2088 pyld = bfa_fcxp_get_reqbuf(fcxp); 2030 pyld = bfa_fcxp_get_reqbuf(fcxp);
2089 bfa_os_memset(pyld, 0, FC_MAX_PDUSZ); 2031 memset(pyld, 0, FC_MAX_PDUSZ);
2090 2032
2091 len = fc_fdmi_reqhdr_build(&fchs, pyld, bfa_fcs_lport_get_fcid(port), 2033 len = fc_fdmi_reqhdr_build(&fchs, pyld, bfa_fcs_lport_get_fcid(port),
2092 FDMI_RPA); 2034 FDMI_RPA);
2093 2035
2094 attr_len = 2036 attr_len = bfa_fcs_lport_fdmi_build_rpa_pyld(fdmi,
2095 bfa_fcs_lport_fdmi_build_rpa_pyld(fdmi, 2037 (u8 *) ((struct ct_hdr_s *) pyld + 1));
2096 (u8 *) ((struct ct_hdr_s *) pyld
2097 + 1));
2098 2038
2099 bfa_fcxp_send(fcxp, NULL, port->fabric->vf_id, port->lp_tag, BFA_FALSE, 2039 bfa_fcxp_send(fcxp, NULL, port->fabric->vf_id, port->lp_tag, BFA_FALSE,
2100 FC_CLASS_3, len + attr_len, &fchs, 2040 FC_CLASS_3, len + attr_len, &fchs,
@@ -2143,7 +2083,7 @@ bfa_fcs_lport_fdmi_rpa_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
2143 } 2083 }
2144 2084
2145 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 2085 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
2146 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 2086 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
2147 2087
2148 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 2088 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
2149 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_OK); 2089 bfa_sm_send_event(fdmi, FDMISM_EVENT_RSP_OK);
@@ -2170,7 +2110,7 @@ bfa_fcs_fdmi_get_hbaattr(struct bfa_fcs_lport_fdmi_s *fdmi,
2170 struct bfa_fcs_lport_s *port = fdmi->ms->port; 2110 struct bfa_fcs_lport_s *port = fdmi->ms->port;
2171 struct bfa_fcs_driver_info_s *driver_info = &port->fcs->driver_info; 2111 struct bfa_fcs_driver_info_s *driver_info = &port->fcs->driver_info;
2172 2112
2173 bfa_os_memset(hba_attr, 0, sizeof(struct bfa_fcs_fdmi_hba_attr_s)); 2113 memset(hba_attr, 0, sizeof(struct bfa_fcs_fdmi_hba_attr_s));
2174 2114
2175 bfa_ioc_get_adapter_manufacturer(&port->fcs->bfa->ioc, 2115 bfa_ioc_get_adapter_manufacturer(&port->fcs->bfa->ioc,
2176 hba_attr->manufacturer); 2116 hba_attr->manufacturer);
@@ -2204,7 +2144,7 @@ bfa_fcs_fdmi_get_hbaattr(struct bfa_fcs_lport_fdmi_s *fdmi,
2204 sizeof(driver_info->host_os_patch)); 2144 sizeof(driver_info->host_os_patch));
2205 } 2145 }
2206 2146
2207 hba_attr->max_ct_pyld = bfa_os_htonl(FC_MAX_PDUSZ); 2147 hba_attr->max_ct_pyld = cpu_to_be32(FC_MAX_PDUSZ);
2208} 2148}
2209 2149
2210void 2150void
@@ -2215,7 +2155,7 @@ bfa_fcs_fdmi_get_portattr(struct bfa_fcs_lport_fdmi_s *fdmi,
2215 struct bfa_fcs_driver_info_s *driver_info = &port->fcs->driver_info; 2155 struct bfa_fcs_driver_info_s *driver_info = &port->fcs->driver_info;
2216 struct bfa_port_attr_s pport_attr; 2156 struct bfa_port_attr_s pport_attr;
2217 2157
2218 bfa_os_memset(port_attr, 0, sizeof(struct bfa_fcs_fdmi_port_attr_s)); 2158 memset(port_attr, 0, sizeof(struct bfa_fcs_fdmi_port_attr_s));
2219 2159
2220 /* 2160 /*
2221 * get pport attributes from hal 2161 * get pport attributes from hal
@@ -2230,17 +2170,17 @@ bfa_fcs_fdmi_get_portattr(struct bfa_fcs_lport_fdmi_s *fdmi,
2230 /* 2170 /*
2231 * Supported Speeds 2171 * Supported Speeds
2232 */ 2172 */
2233 port_attr->supp_speed = bfa_os_htonl(BFA_FCS_FDMI_SUPORTED_SPEEDS); 2173 port_attr->supp_speed = cpu_to_be32(BFA_FCS_FDMI_SUPORTED_SPEEDS);
2234 2174
2235 /* 2175 /*
2236 * Current Speed 2176 * Current Speed
2237 */ 2177 */
2238 port_attr->curr_speed = bfa_os_htonl(pport_attr.speed); 2178 port_attr->curr_speed = cpu_to_be32(pport_attr.speed);
2239 2179
2240 /* 2180 /*
2241 * Max PDU Size. 2181 * Max PDU Size.
2242 */ 2182 */
2243 port_attr->max_frm_size = bfa_os_htonl(FC_MAX_PDUSZ); 2183 port_attr->max_frm_size = cpu_to_be32(FC_MAX_PDUSZ);
2244 2184
2245 /* 2185 /*
2246 * OS device Name 2186 * OS device Name
@@ -2321,11 +2261,11 @@ static void bfa_fcs_lport_ms_gfn_response(void *fcsarg,
2321 u32 rsp_len, 2261 u32 rsp_len,
2322 u32 resid_len, 2262 u32 resid_len,
2323 struct fchs_s *rsp_fchs); 2263 struct fchs_s *rsp_fchs);
2324/** 2264/*
2325 * fcs_ms_sm FCS MS state machine 2265 * fcs_ms_sm FCS MS state machine
2326 */ 2266 */
2327 2267
2328/** 2268/*
2329 * MS State Machine events 2269 * MS State Machine events
2330 */ 2270 */
2331enum port_ms_event { 2271enum port_ms_event {
@@ -2360,7 +2300,7 @@ static void bfa_fcs_lport_ms_sm_gfn_retry(struct bfa_fcs_lport_ms_s *ms,
2360 enum port_ms_event event); 2300 enum port_ms_event event);
2361static void bfa_fcs_lport_ms_sm_online(struct bfa_fcs_lport_ms_s *ms, 2301static void bfa_fcs_lport_ms_sm_online(struct bfa_fcs_lport_ms_s *ms,
2362 enum port_ms_event event); 2302 enum port_ms_event event);
2363/** 2303/*
2364 * Start in offline state - awaiting NS to send start. 2304 * Start in offline state - awaiting NS to send start.
2365 */ 2305 */
2366static void 2306static void
@@ -2432,7 +2372,7 @@ bfa_fcs_lport_ms_sm_plogi(struct bfa_fcs_lport_ms_s *ms,
2432 */ 2372 */
2433 bfa_fcs_lport_fdmi_online(ms); 2373 bfa_fcs_lport_fdmi_online(ms);
2434 2374
2435 /** 2375 /*
2436 * if this is a Vport, go to online state. 2376 * if this is a Vport, go to online state.
2437 */ 2377 */
2438 if (ms->port->vport) { 2378 if (ms->port->vport) {
@@ -2595,7 +2535,7 @@ bfa_fcs_lport_ms_sm_gmal_retry(struct bfa_fcs_lport_ms_s *ms,
2595 bfa_sm_fault(ms->port->fcs, event); 2535 bfa_sm_fault(ms->port->fcs, event);
2596 } 2536 }
2597} 2537}
2598/** 2538/*
2599 * ms_pvt MS local functions 2539 * ms_pvt MS local functions
2600 */ 2540 */
2601 2541
@@ -2657,12 +2597,12 @@ bfa_fcs_lport_ms_gmal_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
2657 } 2597 }
2658 2598
2659 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 2599 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
2660 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 2600 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
2661 2601
2662 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 2602 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
2663 gmal_resp = (struct fcgs_gmal_resp_s *)(cthdr + 1); 2603 gmal_resp = (struct fcgs_gmal_resp_s *)(cthdr + 1);
2664 2604
2665 num_entries = bfa_os_ntohl(gmal_resp->ms_len); 2605 num_entries = be32_to_cpu(gmal_resp->ms_len);
2666 if (num_entries == 0) { 2606 if (num_entries == 0) {
2667 bfa_sm_send_event(ms, MSSM_EVENT_RSP_ERROR); 2607 bfa_sm_send_event(ms, MSSM_EVENT_RSP_ERROR);
2668 return; 2608 return;
@@ -2795,7 +2735,7 @@ bfa_fcs_lport_ms_sm_gfn_retry(struct bfa_fcs_lport_ms_s *ms,
2795 bfa_sm_fault(ms->port->fcs, event); 2735 bfa_sm_fault(ms->port->fcs, event);
2796 } 2736 }
2797} 2737}
2798/** 2738/*
2799 * ms_pvt MS local functions 2739 * ms_pvt MS local functions
2800 */ 2740 */
2801 2741
@@ -2853,7 +2793,7 @@ bfa_fcs_lport_ms_gfn_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
2853 } 2793 }
2854 2794
2855 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 2795 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
2856 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 2796 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
2857 2797
2858 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 2798 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
2859 gfn_resp = (wwn_t *)(cthdr + 1); 2799 gfn_resp = (wwn_t *)(cthdr + 1);
@@ -2871,7 +2811,7 @@ bfa_fcs_lport_ms_gfn_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
2871 bfa_sm_send_event(ms, MSSM_EVENT_RSP_ERROR); 2811 bfa_sm_send_event(ms, MSSM_EVENT_RSP_ERROR);
2872} 2812}
2873 2813
2874/** 2814/*
2875 * ms_pvt MS local functions 2815 * ms_pvt MS local functions
2876 */ 2816 */
2877 2817
@@ -3017,7 +2957,7 @@ bfa_fcs_lport_ms_fabric_rscn(struct bfa_fcs_lport_s *port)
3017 bfa_sm_send_event(ms, MSSM_EVENT_PORT_FABRIC_RSCN); 2957 bfa_sm_send_event(ms, MSSM_EVENT_PORT_FABRIC_RSCN);
3018} 2958}
3019 2959
3020/** 2960/*
3021 * @page ns_sm_info VPORT NS State Machine 2961 * @page ns_sm_info VPORT NS State Machine
3022 * 2962 *
3023 * @section ns_sm_interactions VPORT NS State Machine Interactions 2963 * @section ns_sm_interactions VPORT NS State Machine Interactions
@@ -3080,11 +3020,11 @@ static void bfa_fcs_lport_ns_process_gidft_pids(
3080 u32 *pid_buf, u32 n_pids); 3020 u32 *pid_buf, u32 n_pids);
3081 3021
3082static void bfa_fcs_lport_ns_boot_target_disc(bfa_fcs_lport_t *port); 3022static void bfa_fcs_lport_ns_boot_target_disc(bfa_fcs_lport_t *port);
3083/** 3023/*
3084 * fcs_ns_sm FCS nameserver interface state machine 3024 * fcs_ns_sm FCS nameserver interface state machine
3085 */ 3025 */
3086 3026
3087/** 3027/*
3088 * VPort NS State Machine events 3028 * VPort NS State Machine events
3089 */ 3029 */
3090enum vport_ns_event { 3030enum vport_ns_event {
@@ -3139,7 +3079,7 @@ static void bfa_fcs_lport_ns_sm_gid_ft_retry(struct bfa_fcs_lport_ns_s *ns,
3139 enum vport_ns_event event); 3079 enum vport_ns_event event);
3140static void bfa_fcs_lport_ns_sm_online(struct bfa_fcs_lport_ns_s *ns, 3080static void bfa_fcs_lport_ns_sm_online(struct bfa_fcs_lport_ns_s *ns,
3141 enum vport_ns_event event); 3081 enum vport_ns_event event);
3142/** 3082/*
3143 * Start in offline state - awaiting linkup 3083 * Start in offline state - awaiting linkup
3144 */ 3084 */
3145static void 3085static void
@@ -3628,7 +3568,7 @@ bfa_fcs_lport_ns_sm_online(struct bfa_fcs_lport_ns_s *ns,
3628 3568
3629 3569
3630 3570
3631/** 3571/*
3632 * ns_pvt Nameserver local functions 3572 * ns_pvt Nameserver local functions
3633 */ 3573 */
3634 3574
@@ -3724,7 +3664,7 @@ bfa_fcs_lport_ns_plogi_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3724 } 3664 }
3725} 3665}
3726 3666
3727/** 3667/*
3728 * Register the symbolic port name. 3668 * Register the symbolic port name.
3729 */ 3669 */
3730static void 3670static void
@@ -3738,7 +3678,7 @@ bfa_fcs_lport_ns_send_rspn_id(void *ns_cbarg, struct bfa_fcxp_s *fcxp_alloced)
3738 u8 symbl[256]; 3678 u8 symbl[256];
3739 u8 *psymbl = &symbl[0]; 3679 u8 *psymbl = &symbl[0];
3740 3680
3741 bfa_os_memset(symbl, 0, sizeof(symbl)); 3681 memset(symbl, 0, sizeof(symbl));
3742 3682
3743 bfa_trc(port->fcs, port->port_cfg.pwwn); 3683 bfa_trc(port->fcs, port->port_cfg.pwwn);
3744 3684
@@ -3755,7 +3695,7 @@ bfa_fcs_lport_ns_send_rspn_id(void *ns_cbarg, struct bfa_fcxp_s *fcxp_alloced)
3755 * for V-Port, form a Port Symbolic Name 3695 * for V-Port, form a Port Symbolic Name
3756 */ 3696 */
3757 if (port->vport) { 3697 if (port->vport) {
3758 /** 3698 /*
3759 * For Vports, we append the vport's port symbolic name 3699 * For Vports, we append the vport's port symbolic name
3760 * to that of the base port. 3700 * to that of the base port.
3761 */ 3701 */
@@ -3815,7 +3755,7 @@ bfa_fcs_lport_ns_rspn_id_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3815 } 3755 }
3816 3756
3817 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 3757 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
3818 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 3758 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
3819 3759
3820 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 3760 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
3821 port->stats.ns_rspnid_accepts++; 3761 port->stats.ns_rspnid_accepts++;
@@ -3829,7 +3769,7 @@ bfa_fcs_lport_ns_rspn_id_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3829 bfa_sm_send_event(ns, NSSM_EVENT_RSP_ERROR); 3769 bfa_sm_send_event(ns, NSSM_EVENT_RSP_ERROR);
3830} 3770}
3831 3771
3832/** 3772/*
3833 * Register FC4-Types 3773 * Register FC4-Types
3834 */ 3774 */
3835static void 3775static void
@@ -3887,7 +3827,7 @@ bfa_fcs_lport_ns_rft_id_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3887 } 3827 }
3888 3828
3889 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 3829 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
3890 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 3830 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
3891 3831
3892 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 3832 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
3893 port->stats.ns_rftid_accepts++; 3833 port->stats.ns_rftid_accepts++;
@@ -3901,7 +3841,7 @@ bfa_fcs_lport_ns_rft_id_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3901 bfa_sm_send_event(ns, NSSM_EVENT_RSP_ERROR); 3841 bfa_sm_send_event(ns, NSSM_EVENT_RSP_ERROR);
3902} 3842}
3903 3843
3904/** 3844/*
3905 * Register FC4-Features : Should be done after RFT_ID 3845 * Register FC4-Features : Should be done after RFT_ID
3906 */ 3846 */
3907static void 3847static void
@@ -3964,7 +3904,7 @@ bfa_fcs_lport_ns_rff_id_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3964 } 3904 }
3965 3905
3966 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 3906 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
3967 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 3907 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
3968 3908
3969 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 3909 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
3970 port->stats.ns_rffid_accepts++; 3910 port->stats.ns_rffid_accepts++;
@@ -3982,7 +3922,7 @@ bfa_fcs_lport_ns_rff_id_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
3982 } else 3922 } else
3983 bfa_sm_send_event(ns, NSSM_EVENT_RSP_ERROR); 3923 bfa_sm_send_event(ns, NSSM_EVENT_RSP_ERROR);
3984} 3924}
3985/** 3925/*
3986 * Query Fabric for FC4-Types Devices. 3926 * Query Fabric for FC4-Types Devices.
3987 * 3927 *
3988* TBD : Need to use a local (FCS private) response buffer, since the response 3928* TBD : Need to use a local (FCS private) response buffer, since the response
@@ -4058,7 +3998,7 @@ bfa_fcs_lport_ns_gid_ft_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
4058 } 3998 }
4059 3999
4060 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 4000 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
4061 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 4001 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
4062 4002
4063 switch (cthdr->cmd_rsp_code) { 4003 switch (cthdr->cmd_rsp_code) {
4064 4004
@@ -4102,7 +4042,7 @@ bfa_fcs_lport_ns_gid_ft_response(void *fcsarg, struct bfa_fcxp_s *fcxp,
4102 } 4042 }
4103} 4043}
4104 4044
4105/** 4045/*
4106 * This routine will be called by bfa_timer on timer timeouts. 4046 * This routine will be called by bfa_timer on timer timeouts.
4107 * 4047 *
4108 * param[in] port - pointer to bfa_fcs_lport_t. 4048 * param[in] port - pointer to bfa_fcs_lport_t.
@@ -4166,7 +4106,7 @@ bfa_fcs_lport_ns_process_gidft_pids(struct bfa_fcs_lport_s *port, u32 *pid_buf,
4166 } 4106 }
4167} 4107}
4168 4108
4169/** 4109/*
4170 * fcs_ns_public FCS nameserver public interfaces 4110 * fcs_ns_public FCS nameserver public interfaces
4171 */ 4111 */
4172 4112
@@ -4227,7 +4167,7 @@ bfa_fcs_lport_ns_boot_target_disc(bfa_fcs_lport_t *port)
4227 } 4167 }
4228} 4168}
4229 4169
4230/** 4170/*
4231 * FCS SCN 4171 * FCS SCN
4232 */ 4172 */
4233 4173
@@ -4250,11 +4190,11 @@ static void bfa_fcs_lport_scn_send_ls_acc(struct bfa_fcs_lport_s *port,
4250 struct fchs_s *rx_fchs); 4190 struct fchs_s *rx_fchs);
4251static void bfa_fcs_lport_scn_timeout(void *arg); 4191static void bfa_fcs_lport_scn_timeout(void *arg);
4252 4192
4253/** 4193/*
4254 * fcs_scm_sm FCS SCN state machine 4194 * fcs_scm_sm FCS SCN state machine
4255 */ 4195 */
4256 4196
4257/** 4197/*
4258 * VPort SCN State Machine events 4198 * VPort SCN State Machine events
4259 */ 4199 */
4260enum port_scn_event { 4200enum port_scn_event {
@@ -4278,7 +4218,7 @@ static void bfa_fcs_lport_scn_sm_scr_retry(struct bfa_fcs_lport_scn_s *scn,
4278static void bfa_fcs_lport_scn_sm_online(struct bfa_fcs_lport_scn_s *scn, 4218static void bfa_fcs_lport_scn_sm_online(struct bfa_fcs_lport_scn_s *scn,
4279 enum port_scn_event event); 4219 enum port_scn_event event);
4280 4220
4281/** 4221/*
4282 * Starting state - awaiting link up. 4222 * Starting state - awaiting link up.
4283 */ 4223 */
4284static void 4224static void
@@ -4382,11 +4322,11 @@ bfa_fcs_lport_scn_sm_online(struct bfa_fcs_lport_scn_s *scn,
4382 4322
4383 4323
4384 4324
4385/** 4325/*
4386 * fcs_scn_private FCS SCN private functions 4326 * fcs_scn_private FCS SCN private functions
4387 */ 4327 */
4388 4328
4389/** 4329/*
4390 * This routine will be called to send a SCR command. 4330 * This routine will be called to send a SCR command.
4391 */ 4331 */
4392static void 4332static void
@@ -4499,7 +4439,7 @@ bfa_fcs_lport_scn_send_ls_acc(struct bfa_fcs_lport_s *port,
4499 FC_MAX_PDUSZ, 0); 4439 FC_MAX_PDUSZ, 0);
4500} 4440}
4501 4441
4502/** 4442/*
4503 * This routine will be called by bfa_timer on timer timeouts. 4443 * This routine will be called by bfa_timer on timer timeouts.
4504 * 4444 *
4505 * param[in] vport - pointer to bfa_fcs_lport_t. 4445 * param[in] vport - pointer to bfa_fcs_lport_t.
@@ -4522,7 +4462,7 @@ bfa_fcs_lport_scn_timeout(void *arg)
4522 4462
4523 4463
4524 4464
4525/** 4465/*
4526 * fcs_scn_public FCS state change notification public interfaces 4466 * fcs_scn_public FCS state change notification public interfaces
4527 */ 4467 */
4528 4468
@@ -4563,7 +4503,7 @@ bfa_fcs_lport_scn_portid_rscn(struct bfa_fcs_lport_s *port, u32 rpid)
4563 4503
4564 bfa_trc(port->fcs, rpid); 4504 bfa_trc(port->fcs, rpid);
4565 4505
4566 /** 4506 /*
4567 * If this is an unknown device, then it just came online. 4507 * If this is an unknown device, then it just came online.
4568 * Otherwise let rport handle the RSCN event. 4508 * Otherwise let rport handle the RSCN event.
4569 */ 4509 */
@@ -4579,7 +4519,7 @@ bfa_fcs_lport_scn_portid_rscn(struct bfa_fcs_lport_s *port, u32 rpid)
4579 bfa_fcs_rport_scn(rport); 4519 bfa_fcs_rport_scn(rport);
4580} 4520}
4581 4521
4582/** 4522/*
4583 * rscn format based PID comparison 4523 * rscn format based PID comparison
4584 */ 4524 */
4585#define __fc_pid_match(__c0, __c1, __fmt) \ 4525#define __fc_pid_match(__c0, __c1, __fmt) \
@@ -4624,7 +4564,7 @@ bfa_fcs_lport_scn_process_rscn(struct bfa_fcs_lport_s *port,
4624 int i = 0, j; 4564 int i = 0, j;
4625 4565
4626 num_entries = 4566 num_entries =
4627 (bfa_os_ntohs(rscn->payldlen) - 4567 (be16_to_cpu(rscn->payldlen) -
4628 sizeof(u32)) / sizeof(rscn->event[0]); 4568 sizeof(u32)) / sizeof(rscn->event[0]);
4629 4569
4630 bfa_trc(port->fcs, num_entries); 4570 bfa_trc(port->fcs, num_entries);
@@ -4691,18 +4631,18 @@ bfa_fcs_lport_scn_process_rscn(struct bfa_fcs_lport_s *port,
4691 } 4631 }
4692 } 4632 }
4693 4633
4694 /** 4634 /*
4695 * If any of area, domain or fabric RSCN is received, do a fresh discovery 4635 * If any of area, domain or fabric RSCN is received, do a fresh
4696 * to find new devices. 4636 * discovery to find new devices.
4697 */ 4637 */
4698 if (nsquery) 4638 if (nsquery)
4699 bfa_fcs_lport_ns_query(port); 4639 bfa_fcs_lport_ns_query(port);
4700} 4640}
4701 4641
4702/** 4642/*
4703 * BFA FCS port 4643 * BFA FCS port
4704 */ 4644 */
4705/** 4645/*
4706 * fcs_port_api BFA FCS port API 4646 * fcs_port_api BFA FCS port API
4707 */ 4647 */
4708struct bfa_fcs_lport_s * 4648struct bfa_fcs_lport_s *
@@ -4943,10 +4883,10 @@ bfa_fcs_lport_get_stats(struct bfa_fcs_lport_s *fcs_port,
4943void 4883void
4944bfa_fcs_lport_clear_stats(struct bfa_fcs_lport_s *fcs_port) 4884bfa_fcs_lport_clear_stats(struct bfa_fcs_lport_s *fcs_port)
4945{ 4885{
4946 bfa_os_memset(&fcs_port->stats, 0, sizeof(struct bfa_lport_stats_s)); 4886 memset(&fcs_port->stats, 0, sizeof(struct bfa_lport_stats_s));
4947} 4887}
4948 4888
4949/** 4889/*
4950 * FCS virtual port state machine 4890 * FCS virtual port state machine
4951 */ 4891 */
4952 4892
@@ -4967,11 +4907,11 @@ static void bfa_fcs_vport_timeout(void *vport_arg);
4967static void bfa_fcs_vport_do_logo(struct bfa_fcs_vport_s *vport); 4907static void bfa_fcs_vport_do_logo(struct bfa_fcs_vport_s *vport);
4968static void bfa_fcs_vport_free(struct bfa_fcs_vport_s *vport); 4908static void bfa_fcs_vport_free(struct bfa_fcs_vport_s *vport);
4969 4909
4970/** 4910/*
4971 * fcs_vport_sm FCS virtual port state machine 4911 * fcs_vport_sm FCS virtual port state machine
4972 */ 4912 */
4973 4913
4974/** 4914/*
4975 * VPort State Machine events 4915 * VPort State Machine events
4976 */ 4916 */
4977enum bfa_fcs_vport_event { 4917enum bfa_fcs_vport_event {
@@ -5024,7 +4964,7 @@ static struct bfa_sm_table_s vport_sm_table[] = {
5024 {BFA_SM(bfa_fcs_vport_sm_error), BFA_FCS_VPORT_ERROR} 4964 {BFA_SM(bfa_fcs_vport_sm_error), BFA_FCS_VPORT_ERROR}
5025}; 4965};
5026 4966
5027/** 4967/*
5028 * Beginning state. 4968 * Beginning state.
5029 */ 4969 */
5030static void 4970static void
@@ -5045,7 +4985,7 @@ bfa_fcs_vport_sm_uninit(struct bfa_fcs_vport_s *vport,
5045 } 4985 }
5046} 4986}
5047 4987
5048/** 4988/*
5049 * Created state - a start event is required to start up the state machine. 4989 * Created state - a start event is required to start up the state machine.
5050 */ 4990 */
5051static void 4991static void
@@ -5062,7 +5002,7 @@ bfa_fcs_vport_sm_created(struct bfa_fcs_vport_s *vport,
5062 bfa_sm_set_state(vport, bfa_fcs_vport_sm_fdisc); 5002 bfa_sm_set_state(vport, bfa_fcs_vport_sm_fdisc);
5063 bfa_fcs_vport_do_fdisc(vport); 5003 bfa_fcs_vport_do_fdisc(vport);
5064 } else { 5004 } else {
5065 /** 5005 /*
5066 * Fabric is offline or not NPIV capable, stay in 5006 * Fabric is offline or not NPIV capable, stay in
5067 * offline state. 5007 * offline state.
5068 */ 5008 */
@@ -5078,7 +5018,7 @@ bfa_fcs_vport_sm_created(struct bfa_fcs_vport_s *vport,
5078 5018
5079 case BFA_FCS_VPORT_SM_ONLINE: 5019 case BFA_FCS_VPORT_SM_ONLINE:
5080 case BFA_FCS_VPORT_SM_OFFLINE: 5020 case BFA_FCS_VPORT_SM_OFFLINE:
5081 /** 5021 /*
5082 * Ignore ONLINE/OFFLINE events from fabric 5022 * Ignore ONLINE/OFFLINE events from fabric
5083 * till vport is started. 5023 * till vport is started.
5084 */ 5024 */
@@ -5089,7 +5029,7 @@ bfa_fcs_vport_sm_created(struct bfa_fcs_vport_s *vport,
5089 } 5029 }
5090} 5030}
5091 5031
5092/** 5032/*
5093 * Offline state - awaiting ONLINE event from fabric SM. 5033 * Offline state - awaiting ONLINE event from fabric SM.
5094 */ 5034 */
5095static void 5035static void
@@ -5127,7 +5067,7 @@ bfa_fcs_vport_sm_offline(struct bfa_fcs_vport_s *vport,
5127} 5067}
5128 5068
5129 5069
5130/** 5070/*
5131 * FDISC is sent and awaiting reply from fabric. 5071 * FDISC is sent and awaiting reply from fabric.
5132 */ 5072 */
5133static void 5073static void
@@ -5174,7 +5114,7 @@ bfa_fcs_vport_sm_fdisc(struct bfa_fcs_vport_s *vport,
5174 } 5114 }
5175} 5115}
5176 5116
5177/** 5117/*
5178 * FDISC attempt failed - a timer is active to retry FDISC. 5118 * FDISC attempt failed - a timer is active to retry FDISC.
5179 */ 5119 */
5180static void 5120static void
@@ -5208,7 +5148,7 @@ bfa_fcs_vport_sm_fdisc_retry(struct bfa_fcs_vport_s *vport,
5208 } 5148 }
5209} 5149}
5210 5150
5211/** 5151/*
5212 * Vport is online (FDISC is complete). 5152 * Vport is online (FDISC is complete).
5213 */ 5153 */
5214static void 5154static void
@@ -5235,7 +5175,7 @@ bfa_fcs_vport_sm_online(struct bfa_fcs_vport_s *vport,
5235 } 5175 }
5236} 5176}
5237 5177
5238/** 5178/*
5239 * Vport is being deleted - awaiting lport delete completion to send 5179 * Vport is being deleted - awaiting lport delete completion to send
5240 * LOGO to fabric. 5180 * LOGO to fabric.
5241 */ 5181 */
@@ -5264,7 +5204,7 @@ bfa_fcs_vport_sm_deleting(struct bfa_fcs_vport_s *vport,
5264 } 5204 }
5265} 5205}
5266 5206
5267/** 5207/*
5268 * Error State. 5208 * Error State.
5269 * This state will be set when the Vport Creation fails due 5209 * This state will be set when the Vport Creation fails due
5270 * to errors like Dup WWN. In this state only operation allowed 5210 * to errors like Dup WWN. In this state only operation allowed
@@ -5288,7 +5228,7 @@ bfa_fcs_vport_sm_error(struct bfa_fcs_vport_s *vport,
5288 } 5228 }
5289} 5229}
5290 5230
5291/** 5231/*
5292 * Lport cleanup is in progress since vport is being deleted. Fabric is 5232 * Lport cleanup is in progress since vport is being deleted. Fabric is
5293 * offline, so no LOGO is needed to complete vport deletion. 5233 * offline, so no LOGO is needed to complete vport deletion.
5294 */ 5234 */
@@ -5313,7 +5253,7 @@ bfa_fcs_vport_sm_cleanup(struct bfa_fcs_vport_s *vport,
5313 } 5253 }
5314} 5254}
5315 5255
5316/** 5256/*
5317 * LOGO is sent to fabric. Vport delete is in progress. Lport delete cleanup 5257 * LOGO is sent to fabric. Vport delete is in progress. Lport delete cleanup
5318 * is done. 5258 * is done.
5319 */ 5259 */
@@ -5347,10 +5287,10 @@ bfa_fcs_vport_sm_logo(struct bfa_fcs_vport_s *vport,
5347 5287
5348 5288
5349 5289
5350/** 5290/*
5351 * fcs_vport_private FCS virtual port private functions 5291 * fcs_vport_private FCS virtual port private functions
5352 */ 5292 */
5353/** 5293/*
5354 * This routine will be called to send a FDISC command. 5294 * This routine will be called to send a FDISC command.
5355 */ 5295 */
5356static void 5296static void
@@ -5397,7 +5337,7 @@ bfa_fcs_vport_fdisc_rejected(struct bfa_fcs_vport_s *vport)
5397 } 5337 }
5398} 5338}
5399 5339
5400/** 5340/*
5401 * Called to send a logout to the fabric. Used when a V-Port is 5341 * Called to send a logout to the fabric. Used when a V-Port is
5402 * deleted/stopped. 5342 * deleted/stopped.
5403 */ 5343 */
@@ -5411,7 +5351,7 @@ bfa_fcs_vport_do_logo(struct bfa_fcs_vport_s *vport)
5411} 5351}
5412 5352
5413 5353
5414/** 5354/*
5415 * This routine will be called by bfa_timer on timer timeouts. 5355 * This routine will be called by bfa_timer on timer timeouts.
5416 * 5356 *
5417 * param[in] vport - pointer to bfa_fcs_vport_t. 5357 * param[in] vport - pointer to bfa_fcs_vport_t.
@@ -5449,11 +5389,11 @@ bfa_fcs_vport_free(struct bfa_fcs_vport_s *vport)
5449 5389
5450 5390
5451 5391
5452/** 5392/*
5453 * fcs_vport_public FCS virtual port public interfaces 5393 * fcs_vport_public FCS virtual port public interfaces
5454 */ 5394 */
5455 5395
5456/** 5396/*
5457 * Online notification from fabric SM. 5397 * Online notification from fabric SM.
5458 */ 5398 */
5459void 5399void
@@ -5463,7 +5403,7 @@ bfa_fcs_vport_online(struct bfa_fcs_vport_s *vport)
5463 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_ONLINE); 5403 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_ONLINE);
5464} 5404}
5465 5405
5466/** 5406/*
5467 * Offline notification from fabric SM. 5407 * Offline notification from fabric SM.
5468 */ 5408 */
5469void 5409void
@@ -5473,7 +5413,7 @@ bfa_fcs_vport_offline(struct bfa_fcs_vport_s *vport)
5473 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_OFFLINE); 5413 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_OFFLINE);
5474} 5414}
5475 5415
5476/** 5416/*
5477 * Cleanup notification from fabric SM on link timer expiry. 5417 * Cleanup notification from fabric SM on link timer expiry.
5478 */ 5418 */
5479void 5419void
@@ -5481,7 +5421,7 @@ bfa_fcs_vport_cleanup(struct bfa_fcs_vport_s *vport)
5481{ 5421{
5482 vport->vport_stats.fab_cleanup++; 5422 vport->vport_stats.fab_cleanup++;
5483} 5423}
5484/** 5424/*
5485 * delete notification from fabric SM. To be invoked from within FCS. 5425 * delete notification from fabric SM. To be invoked from within FCS.
5486 */ 5426 */
5487void 5427void
@@ -5490,7 +5430,7 @@ bfa_fcs_vport_fcs_delete(struct bfa_fcs_vport_s *vport)
5490 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_DELETE); 5430 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_DELETE);
5491} 5431}
5492 5432
5493/** 5433/*
5494 * Delete completion callback from associated lport 5434 * Delete completion callback from associated lport
5495 */ 5435 */
5496void 5436void
@@ -5501,11 +5441,11 @@ bfa_fcs_vport_delete_comp(struct bfa_fcs_vport_s *vport)
5501 5441
5502 5442
5503 5443
5504/** 5444/*
5505 * fcs_vport_api Virtual port API 5445 * fcs_vport_api Virtual port API
5506 */ 5446 */
5507 5447
5508/** 5448/*
5509 * Use this function to instantiate a new FCS vport object. This 5449 * Use this function to instantiate a new FCS vport object. This
5510 * function will not trigger any HW initialization process (which will be 5450 * function will not trigger any HW initialization process (which will be
5511 * done in vport_start() call) 5451 * done in vport_start() call)
@@ -5555,7 +5495,7 @@ bfa_fcs_vport_create(struct bfa_fcs_vport_s *vport, struct bfa_fcs_s *fcs,
5555 return BFA_STATUS_OK; 5495 return BFA_STATUS_OK;
5556} 5496}
5557 5497
5558/** 5498/*
5559 * Use this function to instantiate a new FCS PBC vport object. This 5499 * Use this function to instantiate a new FCS PBC vport object. This
5560 * function will not trigger any HW initialization process (which will be 5500 * function will not trigger any HW initialization process (which will be
5561 * done in vport_start() call) 5501 * done in vport_start() call)
@@ -5585,7 +5525,7 @@ bfa_fcs_pbc_vport_create(struct bfa_fcs_vport_s *vport, struct bfa_fcs_s *fcs,
5585 return rc; 5525 return rc;
5586} 5526}
5587 5527
5588/** 5528/*
5589 * Use this function to findout if this is a pbc vport or not. 5529 * Use this function to findout if this is a pbc vport or not.
5590 * 5530 *
5591 * @param[in] vport - pointer to bfa_fcs_vport_t. 5531 * @param[in] vport - pointer to bfa_fcs_vport_t.
@@ -5603,7 +5543,7 @@ bfa_fcs_is_pbc_vport(struct bfa_fcs_vport_s *vport)
5603 5543
5604} 5544}
5605 5545
5606/** 5546/*
5607 * Use this function initialize the vport. 5547 * Use this function initialize the vport.
5608 * 5548 *
5609 * @param[in] vport - pointer to bfa_fcs_vport_t. 5549 * @param[in] vport - pointer to bfa_fcs_vport_t.
@@ -5618,7 +5558,7 @@ bfa_fcs_vport_start(struct bfa_fcs_vport_s *vport)
5618 return BFA_STATUS_OK; 5558 return BFA_STATUS_OK;
5619} 5559}
5620 5560
5621/** 5561/*
5622 * Use this function quiese the vport object. This function will return 5562 * Use this function quiese the vport object. This function will return
5623 * immediately, when the vport is actually stopped, the 5563 * immediately, when the vport is actually stopped, the
5624 * bfa_drv_vport_stop_cb() will be called. 5564 * bfa_drv_vport_stop_cb() will be called.
@@ -5635,7 +5575,7 @@ bfa_fcs_vport_stop(struct bfa_fcs_vport_s *vport)
5635 return BFA_STATUS_OK; 5575 return BFA_STATUS_OK;
5636} 5576}
5637 5577
5638/** 5578/*
5639 * Use this function to delete a vport object. Fabric object should 5579 * Use this function to delete a vport object. Fabric object should
5640 * be stopped before this function call. 5580 * be stopped before this function call.
5641 * 5581 *
@@ -5657,7 +5597,7 @@ bfa_fcs_vport_delete(struct bfa_fcs_vport_s *vport)
5657 return BFA_STATUS_OK; 5597 return BFA_STATUS_OK;
5658} 5598}
5659 5599
5660/** 5600/*
5661 * Use this function to get vport's current status info. 5601 * Use this function to get vport's current status info.
5662 * 5602 *
5663 * param[in] vport pointer to bfa_fcs_vport_t. 5603 * param[in] vport pointer to bfa_fcs_vport_t.
@@ -5672,13 +5612,13 @@ bfa_fcs_vport_get_attr(struct bfa_fcs_vport_s *vport,
5672 if (vport == NULL || attr == NULL) 5612 if (vport == NULL || attr == NULL)
5673 return; 5613 return;
5674 5614
5675 bfa_os_memset(attr, 0, sizeof(struct bfa_vport_attr_s)); 5615 memset(attr, 0, sizeof(struct bfa_vport_attr_s));
5676 5616
5677 bfa_fcs_lport_get_attr(&vport->lport, &attr->port_attr); 5617 bfa_fcs_lport_get_attr(&vport->lport, &attr->port_attr);
5678 attr->vport_state = bfa_sm_to_state(vport_sm_table, vport->sm); 5618 attr->vport_state = bfa_sm_to_state(vport_sm_table, vport->sm);
5679} 5619}
5680 5620
5681/** 5621/*
5682 * Use this function to get vport's statistics. 5622 * Use this function to get vport's statistics.
5683 * 5623 *
5684 * param[in] vport pointer to bfa_fcs_vport_t. 5624 * param[in] vport pointer to bfa_fcs_vport_t.
@@ -5693,7 +5633,7 @@ bfa_fcs_vport_get_stats(struct bfa_fcs_vport_s *vport,
5693 *stats = vport->vport_stats; 5633 *stats = vport->vport_stats;
5694} 5634}
5695 5635
5696/** 5636/*
5697 * Use this function to clear vport's statistics. 5637 * Use this function to clear vport's statistics.
5698 * 5638 *
5699 * param[in] vport pointer to bfa_fcs_vport_t. 5639 * param[in] vport pointer to bfa_fcs_vport_t.
@@ -5703,10 +5643,10 @@ bfa_fcs_vport_get_stats(struct bfa_fcs_vport_s *vport,
5703void 5643void
5704bfa_fcs_vport_clr_stats(struct bfa_fcs_vport_s *vport) 5644bfa_fcs_vport_clr_stats(struct bfa_fcs_vport_s *vport)
5705{ 5645{
5706 bfa_os_memset(&vport->vport_stats, 0, sizeof(struct bfa_vport_stats_s)); 5646 memset(&vport->vport_stats, 0, sizeof(struct bfa_vport_stats_s));
5707} 5647}
5708 5648
5709/** 5649/*
5710 * Lookup a virtual port. Excludes base port from lookup. 5650 * Lookup a virtual port. Excludes base port from lookup.
5711 */ 5651 */
5712struct bfa_fcs_vport_s * 5652struct bfa_fcs_vport_s *
@@ -5728,7 +5668,7 @@ bfa_fcs_vport_lookup(struct bfa_fcs_s *fcs, u16 vf_id, wwn_t vpwwn)
5728 return vport; 5668 return vport;
5729} 5669}
5730 5670
5731/** 5671/*
5732 * FDISC Response 5672 * FDISC Response
5733 */ 5673 */
5734void 5674void
@@ -5784,7 +5724,7 @@ bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status)
5784 } 5724 }
5785} 5725}
5786 5726
5787/** 5727/*
5788 * LOGO response 5728 * LOGO response
5789 */ 5729 */
5790void 5730void
@@ -5794,7 +5734,7 @@ bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg)
5794 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_RSP_OK); 5734 bfa_sm_send_event(vport, BFA_FCS_VPORT_SM_RSP_OK);
5795} 5735}
5796 5736
5797/** 5737/*
5798 * Received clear virtual link 5738 * Received clear virtual link
5799 */ 5739 */
5800void 5740void
diff --git a/drivers/scsi/bfa/bfa_fcs_rport.c b/drivers/scsi/bfa/bfa_fcs_rport.c
index 635f0cd88714..47f35c0ef29a 100644
--- a/drivers/scsi/bfa/bfa_fcs_rport.c
+++ b/drivers/scsi/bfa/bfa_fcs_rport.c
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * rport.c Remote port implementation. 19 * rport.c Remote port implementation.
20 */ 20 */
21 21
@@ -75,7 +75,7 @@ static void bfa_fcs_rport_send_ls_rjt(struct bfa_fcs_rport_s *rport,
75static void bfa_fcs_rport_process_adisc(struct bfa_fcs_rport_s *rport, 75static void bfa_fcs_rport_process_adisc(struct bfa_fcs_rport_s *rport,
76 struct fchs_s *rx_fchs, u16 len); 76 struct fchs_s *rx_fchs, u16 len);
77static void bfa_fcs_rport_send_prlo_acc(struct bfa_fcs_rport_s *rport); 77static void bfa_fcs_rport_send_prlo_acc(struct bfa_fcs_rport_s *rport);
78/** 78/*
79 * fcs_rport_sm FCS rport state machine events 79 * fcs_rport_sm FCS rport state machine events
80 */ 80 */
81 81
@@ -172,7 +172,7 @@ static struct bfa_sm_table_s rport_sm_table[] = {
172 {BFA_SM(bfa_fcs_rport_sm_nsdisc_sent), BFA_RPORT_NSDISC}, 172 {BFA_SM(bfa_fcs_rport_sm_nsdisc_sent), BFA_RPORT_NSDISC},
173}; 173};
174 174
175/** 175/*
176 * Beginning state. 176 * Beginning state.
177 */ 177 */
178static void 178static void
@@ -210,7 +210,7 @@ bfa_fcs_rport_sm_uninit(struct bfa_fcs_rport_s *rport, enum rport_event event)
210 } 210 }
211} 211}
212 212
213/** 213/*
214 * PLOGI is being sent. 214 * PLOGI is being sent.
215 */ 215 */
216static void 216static void
@@ -262,7 +262,7 @@ bfa_fcs_rport_sm_plogi_sending(struct bfa_fcs_rport_s *rport,
262 } 262 }
263} 263}
264 264
265/** 265/*
266 * PLOGI is being sent. 266 * PLOGI is being sent.
267 */ 267 */
268static void 268static void
@@ -287,7 +287,7 @@ bfa_fcs_rport_sm_plogiacc_sending(struct bfa_fcs_rport_s *rport,
287 287
288 case RPSM_EVENT_PLOGI_RCVD: 288 case RPSM_EVENT_PLOGI_RCVD:
289 case RPSM_EVENT_SCN: 289 case RPSM_EVENT_SCN:
290 /** 290 /*
291 * Ignore, SCN is possibly online notification. 291 * Ignore, SCN is possibly online notification.
292 */ 292 */
293 break; 293 break;
@@ -309,7 +309,7 @@ bfa_fcs_rport_sm_plogiacc_sending(struct bfa_fcs_rport_s *rport,
309 break; 309 break;
310 310
311 case RPSM_EVENT_HCB_OFFLINE: 311 case RPSM_EVENT_HCB_OFFLINE:
312 /** 312 /*
313 * Ignore BFA callback, on a PLOGI receive we call bfa offline. 313 * Ignore BFA callback, on a PLOGI receive we call bfa offline.
314 */ 314 */
315 break; 315 break;
@@ -319,7 +319,7 @@ bfa_fcs_rport_sm_plogiacc_sending(struct bfa_fcs_rport_s *rport,
319 } 319 }
320} 320}
321 321
322/** 322/*
323 * PLOGI is sent. 323 * PLOGI is sent.
324 */ 324 */
325static void 325static void
@@ -380,7 +380,7 @@ bfa_fcs_rport_sm_plogi_retry(struct bfa_fcs_rport_s *rport,
380 } 380 }
381} 381}
382 382
383/** 383/*
384 * PLOGI is sent. 384 * PLOGI is sent.
385 */ 385 */
386static void 386static void
@@ -475,7 +475,7 @@ bfa_fcs_rport_sm_plogi(struct bfa_fcs_rport_s *rport, enum rport_event event)
475 } 475 }
476} 476}
477 477
478/** 478/*
479 * PLOGI is complete. Awaiting BFA rport online callback. FC-4s 479 * PLOGI is complete. Awaiting BFA rport online callback. FC-4s
480 * are offline. 480 * are offline.
481 */ 481 */
@@ -519,7 +519,7 @@ bfa_fcs_rport_sm_hal_online(struct bfa_fcs_rport_s *rport,
519 break; 519 break;
520 520
521 case RPSM_EVENT_SCN: 521 case RPSM_EVENT_SCN:
522 /** 522 /*
523 * @todo 523 * @todo
524 * Ignore SCN - PLOGI just completed, FC-4 login should detect 524 * Ignore SCN - PLOGI just completed, FC-4 login should detect
525 * device failures. 525 * device failures.
@@ -531,7 +531,7 @@ bfa_fcs_rport_sm_hal_online(struct bfa_fcs_rport_s *rport,
531 } 531 }
532} 532}
533 533
534/** 534/*
535 * Rport is ONLINE. FC-4s active. 535 * Rport is ONLINE. FC-4s active.
536 */ 536 */
537static void 537static void
@@ -580,7 +580,7 @@ bfa_fcs_rport_sm_online(struct bfa_fcs_rport_s *rport, enum rport_event event)
580 } 580 }
581} 581}
582 582
583/** 583/*
584 * An SCN event is received in ONLINE state. NS query is being sent 584 * An SCN event is received in ONLINE state. NS query is being sent
585 * prior to ADISC authentication with rport. FC-4s are paused. 585 * prior to ADISC authentication with rport. FC-4s are paused.
586 */ 586 */
@@ -604,7 +604,7 @@ bfa_fcs_rport_sm_nsquery_sending(struct bfa_fcs_rport_s *rport,
604 break; 604 break;
605 605
606 case RPSM_EVENT_SCN: 606 case RPSM_EVENT_SCN:
607 /** 607 /*
608 * ignore SCN, wait for response to query itself 608 * ignore SCN, wait for response to query itself
609 */ 609 */
610 break; 610 break;
@@ -638,7 +638,7 @@ bfa_fcs_rport_sm_nsquery_sending(struct bfa_fcs_rport_s *rport,
638 } 638 }
639} 639}
640 640
641/** 641/*
642 * An SCN event is received in ONLINE state. NS query is sent to rport. 642 * An SCN event is received in ONLINE state. NS query is sent to rport.
643 * FC-4s are paused. 643 * FC-4s are paused.
644 */ 644 */
@@ -697,7 +697,7 @@ bfa_fcs_rport_sm_nsquery(struct bfa_fcs_rport_s *rport, enum rport_event event)
697 } 697 }
698} 698}
699 699
700/** 700/*
701 * An SCN event is received in ONLINE state. ADISC is being sent for 701 * An SCN event is received in ONLINE state. ADISC is being sent for
702 * authenticating with rport. FC-4s are paused. 702 * authenticating with rport. FC-4s are paused.
703 */ 703 */
@@ -748,7 +748,7 @@ bfa_fcs_rport_sm_adisc_sending(struct bfa_fcs_rport_s *rport,
748 } 748 }
749} 749}
750 750
751/** 751/*
752 * An SCN event is received in ONLINE state. ADISC is to rport. 752 * An SCN event is received in ONLINE state. ADISC is to rport.
753 * FC-4s are paused. 753 * FC-4s are paused.
754 */ 754 */
@@ -765,7 +765,7 @@ bfa_fcs_rport_sm_adisc(struct bfa_fcs_rport_s *rport, enum rport_event event)
765 break; 765 break;
766 766
767 case RPSM_EVENT_PLOGI_RCVD: 767 case RPSM_EVENT_PLOGI_RCVD:
768 /** 768 /*
769 * Too complex to cleanup FC-4 & rport and then acc to PLOGI. 769 * Too complex to cleanup FC-4 & rport and then acc to PLOGI.
770 * At least go offline when a PLOGI is received. 770 * At least go offline when a PLOGI is received.
771 */ 771 */
@@ -787,7 +787,7 @@ bfa_fcs_rport_sm_adisc(struct bfa_fcs_rport_s *rport, enum rport_event event)
787 break; 787 break;
788 788
789 case RPSM_EVENT_SCN: 789 case RPSM_EVENT_SCN:
790 /** 790 /*
791 * already processing RSCN 791 * already processing RSCN
792 */ 792 */
793 break; 793 break;
@@ -810,7 +810,7 @@ bfa_fcs_rport_sm_adisc(struct bfa_fcs_rport_s *rport, enum rport_event event)
810 } 810 }
811} 811}
812 812
813/** 813/*
814 * Rport has sent LOGO. Awaiting FC-4 offline completion callback. 814 * Rport has sent LOGO. Awaiting FC-4 offline completion callback.
815 */ 815 */
816static void 816static void
@@ -841,7 +841,7 @@ bfa_fcs_rport_sm_fc4_logorcv(struct bfa_fcs_rport_s *rport,
841 } 841 }
842} 842}
843 843
844/** 844/*
845 * LOGO needs to be sent to rport. Awaiting FC-4 offline completion 845 * LOGO needs to be sent to rport. Awaiting FC-4 offline completion
846 * callback. 846 * callback.
847 */ 847 */
@@ -864,7 +864,7 @@ bfa_fcs_rport_sm_fc4_logosend(struct bfa_fcs_rport_s *rport,
864 } 864 }
865} 865}
866 866
867/** 867/*
868 * Rport is going offline. Awaiting FC-4 offline completion callback. 868 * Rport is going offline. Awaiting FC-4 offline completion callback.
869 */ 869 */
870static void 870static void
@@ -886,7 +886,7 @@ bfa_fcs_rport_sm_fc4_offline(struct bfa_fcs_rport_s *rport,
886 case RPSM_EVENT_LOGO_RCVD: 886 case RPSM_EVENT_LOGO_RCVD:
887 case RPSM_EVENT_PRLO_RCVD: 887 case RPSM_EVENT_PRLO_RCVD:
888 case RPSM_EVENT_ADDRESS_CHANGE: 888 case RPSM_EVENT_ADDRESS_CHANGE:
889 /** 889 /*
890 * rport is already going offline. 890 * rport is already going offline.
891 * SCN - ignore and wait till transitioning to offline state 891 * SCN - ignore and wait till transitioning to offline state
892 */ 892 */
@@ -901,7 +901,7 @@ bfa_fcs_rport_sm_fc4_offline(struct bfa_fcs_rport_s *rport,
901 } 901 }
902} 902}
903 903
904/** 904/*
905 * Rport is offline. FC-4s are offline. Awaiting BFA rport offline 905 * Rport is offline. FC-4s are offline. Awaiting BFA rport offline
906 * callback. 906 * callback.
907 */ 907 */
@@ -945,7 +945,7 @@ bfa_fcs_rport_sm_hcb_offline(struct bfa_fcs_rport_s *rport,
945 case RPSM_EVENT_SCN: 945 case RPSM_EVENT_SCN:
946 case RPSM_EVENT_LOGO_RCVD: 946 case RPSM_EVENT_LOGO_RCVD:
947 case RPSM_EVENT_PRLO_RCVD: 947 case RPSM_EVENT_PRLO_RCVD:
948 /** 948 /*
949 * Ignore, already offline. 949 * Ignore, already offline.
950 */ 950 */
951 break; 951 break;
@@ -955,7 +955,7 @@ bfa_fcs_rport_sm_hcb_offline(struct bfa_fcs_rport_s *rport,
955 } 955 }
956} 956}
957 957
958/** 958/*
959 * Rport is offline. FC-4s are offline. Awaiting BFA rport offline 959 * Rport is offline. FC-4s are offline. Awaiting BFA rport offline
960 * callback to send LOGO accept. 960 * callback to send LOGO accept.
961 */ 961 */
@@ -1009,7 +1009,7 @@ bfa_fcs_rport_sm_hcb_logorcv(struct bfa_fcs_rport_s *rport,
1009 1009
1010 case RPSM_EVENT_LOGO_RCVD: 1010 case RPSM_EVENT_LOGO_RCVD:
1011 case RPSM_EVENT_PRLO_RCVD: 1011 case RPSM_EVENT_PRLO_RCVD:
1012 /** 1012 /*
1013 * Ignore - already processing a LOGO. 1013 * Ignore - already processing a LOGO.
1014 */ 1014 */
1015 break; 1015 break;
@@ -1019,7 +1019,7 @@ bfa_fcs_rport_sm_hcb_logorcv(struct bfa_fcs_rport_s *rport,
1019 } 1019 }
1020} 1020}
1021 1021
1022/** 1022/*
1023 * Rport is being deleted. FC-4s are offline. 1023 * Rport is being deleted. FC-4s are offline.
1024 * Awaiting BFA rport offline 1024 * Awaiting BFA rport offline
1025 * callback to send LOGO. 1025 * callback to send LOGO.
@@ -1048,7 +1048,7 @@ bfa_fcs_rport_sm_hcb_logosend(struct bfa_fcs_rport_s *rport,
1048 } 1048 }
1049} 1049}
1050 1050
1051/** 1051/*
1052 * Rport is being deleted. FC-4s are offline. LOGO is being sent. 1052 * Rport is being deleted. FC-4s are offline. LOGO is being sent.
1053 */ 1053 */
1054static void 1054static void
@@ -1082,7 +1082,7 @@ bfa_fcs_rport_sm_logo_sending(struct bfa_fcs_rport_s *rport,
1082 } 1082 }
1083} 1083}
1084 1084
1085/** 1085/*
1086 * Rport is offline. FC-4s are offline. BFA rport is offline. 1086 * Rport is offline. FC-4s are offline. BFA rport is offline.
1087 * Timer active to delete stale rport. 1087 * Timer active to delete stale rport.
1088 */ 1088 */
@@ -1142,7 +1142,7 @@ bfa_fcs_rport_sm_offline(struct bfa_fcs_rport_s *rport, enum rport_event event)
1142 } 1142 }
1143} 1143}
1144 1144
1145/** 1145/*
1146 * Rport address has changed. Nameserver discovery request is being sent. 1146 * Rport address has changed. Nameserver discovery request is being sent.
1147 */ 1147 */
1148static void 1148static void
@@ -1199,7 +1199,7 @@ bfa_fcs_rport_sm_nsdisc_sending(struct bfa_fcs_rport_s *rport,
1199 } 1199 }
1200} 1200}
1201 1201
1202/** 1202/*
1203 * Nameserver discovery failed. Waiting for timeout to retry. 1203 * Nameserver discovery failed. Waiting for timeout to retry.
1204 */ 1204 */
1205static void 1205static void
@@ -1263,7 +1263,7 @@ bfa_fcs_rport_sm_nsdisc_retry(struct bfa_fcs_rport_s *rport,
1263 } 1263 }
1264} 1264}
1265 1265
1266/** 1266/*
1267 * Rport address has changed. Nameserver discovery request is sent. 1267 * Rport address has changed. Nameserver discovery request is sent.
1268 */ 1268 */
1269static void 1269static void
@@ -1329,13 +1329,13 @@ bfa_fcs_rport_sm_nsdisc_sent(struct bfa_fcs_rport_s *rport,
1329 bfa_fcs_rport_send_prlo_acc(rport); 1329 bfa_fcs_rport_send_prlo_acc(rport);
1330 break; 1330 break;
1331 case RPSM_EVENT_SCN: 1331 case RPSM_EVENT_SCN:
1332 /** 1332 /*
1333 * ignore, wait for NS query response 1333 * ignore, wait for NS query response
1334 */ 1334 */
1335 break; 1335 break;
1336 1336
1337 case RPSM_EVENT_LOGO_RCVD: 1337 case RPSM_EVENT_LOGO_RCVD:
1338 /** 1338 /*
1339 * Not logged-in yet. Accept LOGO. 1339 * Not logged-in yet. Accept LOGO.
1340 */ 1340 */
1341 bfa_fcs_rport_send_logo_acc(rport); 1341 bfa_fcs_rport_send_logo_acc(rport);
@@ -1354,7 +1354,7 @@ bfa_fcs_rport_sm_nsdisc_sent(struct bfa_fcs_rport_s *rport,
1354 1354
1355 1355
1356 1356
1357/** 1357/*
1358 * fcs_rport_private FCS RPORT provate functions 1358 * fcs_rport_private FCS RPORT provate functions
1359 */ 1359 */
1360 1360
@@ -1415,7 +1415,7 @@ bfa_fcs_rport_plogi_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
1415 1415
1416 plogi_rsp = (struct fc_logi_s *) BFA_FCXP_RSP_PLD(fcxp); 1416 plogi_rsp = (struct fc_logi_s *) BFA_FCXP_RSP_PLD(fcxp);
1417 1417
1418 /** 1418 /*
1419 * Check for failure first. 1419 * Check for failure first.
1420 */ 1420 */
1421 if (plogi_rsp->els_cmd.els_code != FC_ELS_ACC) { 1421 if (plogi_rsp->els_cmd.els_code != FC_ELS_ACC) {
@@ -1436,7 +1436,7 @@ bfa_fcs_rport_plogi_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
1436 return; 1436 return;
1437 } 1437 }
1438 1438
1439 /** 1439 /*
1440 * PLOGI is complete. Make sure this device is not one of the known 1440 * PLOGI is complete. Make sure this device is not one of the known
1441 * device with a new FC port address. 1441 * device with a new FC port address.
1442 */ 1442 */
@@ -1468,7 +1468,7 @@ bfa_fcs_rport_plogi_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
1468 } 1468 }
1469 } 1469 }
1470 1470
1471 /** 1471 /*
1472 * Normal login path -- no evil twins. 1472 * Normal login path -- no evil twins.
1473 */ 1473 */
1474 rport->stats.plogi_accs++; 1474 rport->stats.plogi_accs++;
@@ -1621,7 +1621,7 @@ bfa_fcs_rport_gidpn_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
1621 bfa_trc(rport->fcs, rport->pwwn); 1621 bfa_trc(rport->fcs, rport->pwwn);
1622 1622
1623 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 1623 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
1624 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 1624 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
1625 1625
1626 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 1626 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
1627 /* Check if the pid is the same as before. */ 1627 /* Check if the pid is the same as before. */
@@ -1691,7 +1691,7 @@ bfa_fcs_rport_gpnid_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
1691 bfa_trc(rport->fcs, rport->pwwn); 1691 bfa_trc(rport->fcs, rport->pwwn);
1692 1692
1693 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp); 1693 cthdr = (struct ct_hdr_s *) BFA_FCXP_RSP_PLD(fcxp);
1694 cthdr->cmd_rsp_code = bfa_os_ntohs(cthdr->cmd_rsp_code); 1694 cthdr->cmd_rsp_code = be16_to_cpu(cthdr->cmd_rsp_code);
1695 1695
1696 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) { 1696 if (cthdr->cmd_rsp_code == CT_RSP_ACCEPT) {
1697 bfa_sm_send_event(rport, RPSM_EVENT_ACCEPTED); 1697 bfa_sm_send_event(rport, RPSM_EVENT_ACCEPTED);
@@ -1722,7 +1722,7 @@ bfa_fcs_rport_gpnid_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
1722 } 1722 }
1723} 1723}
1724 1724
1725/** 1725/*
1726 * Called to send a logout to the rport. 1726 * Called to send a logout to the rport.
1727 */ 1727 */
1728static void 1728static void
@@ -1759,7 +1759,7 @@ bfa_fcs_rport_send_logo(void *rport_cbarg, struct bfa_fcxp_s *fcxp_alloced)
1759 bfa_sm_send_event(rport, RPSM_EVENT_FCXP_SENT); 1759 bfa_sm_send_event(rport, RPSM_EVENT_FCXP_SENT);
1760} 1760}
1761 1761
1762/** 1762/*
1763 * Send ACC for a LOGO received. 1763 * Send ACC for a LOGO received.
1764 */ 1764 */
1765static void 1765static void
@@ -1788,7 +1788,7 @@ bfa_fcs_rport_send_logo_acc(void *rport_cbarg)
1788 FC_CLASS_3, len, &fchs, NULL, NULL, FC_MAX_PDUSZ, 0); 1788 FC_CLASS_3, len, &fchs, NULL, NULL, FC_MAX_PDUSZ, 0);
1789} 1789}
1790 1790
1791/** 1791/*
1792 * brief 1792 * brief
1793 * This routine will be called by bfa_timer on timer timeouts. 1793 * This routine will be called by bfa_timer on timer timeouts.
1794 * 1794 *
@@ -1961,7 +1961,7 @@ bfa_fcs_rport_alloc(struct bfa_fcs_lport_s *port, wwn_t pwwn, u32 rpid)
1961 struct bfa_fcs_rport_s *rport; 1961 struct bfa_fcs_rport_s *rport;
1962 struct bfad_rport_s *rport_drv; 1962 struct bfad_rport_s *rport_drv;
1963 1963
1964 /** 1964 /*
1965 * allocate rport 1965 * allocate rport
1966 */ 1966 */
1967 if (bfa_fcb_rport_alloc(fcs->bfad, &rport, &rport_drv) 1967 if (bfa_fcb_rport_alloc(fcs->bfad, &rport, &rport_drv)
@@ -1979,7 +1979,7 @@ bfa_fcs_rport_alloc(struct bfa_fcs_lport_s *port, wwn_t pwwn, u32 rpid)
1979 rport->pid = rpid; 1979 rport->pid = rpid;
1980 rport->pwwn = pwwn; 1980 rport->pwwn = pwwn;
1981 1981
1982 /** 1982 /*
1983 * allocate BFA rport 1983 * allocate BFA rport
1984 */ 1984 */
1985 rport->bfa_rport = bfa_rport_create(port->fcs->bfa, rport); 1985 rport->bfa_rport = bfa_rport_create(port->fcs->bfa, rport);
@@ -1989,7 +1989,7 @@ bfa_fcs_rport_alloc(struct bfa_fcs_lport_s *port, wwn_t pwwn, u32 rpid)
1989 return NULL; 1989 return NULL;
1990 } 1990 }
1991 1991
1992 /** 1992 /*
1993 * allocate FC-4s 1993 * allocate FC-4s
1994 */ 1994 */
1995 bfa_assert(bfa_fcs_lport_is_initiator(port)); 1995 bfa_assert(bfa_fcs_lport_is_initiator(port));
@@ -2021,7 +2021,7 @@ bfa_fcs_rport_free(struct bfa_fcs_rport_s *rport)
2021{ 2021{
2022 struct bfa_fcs_lport_s *port = rport->port; 2022 struct bfa_fcs_lport_s *port = rport->port;
2023 2023
2024 /** 2024 /*
2025 * - delete FC-4s 2025 * - delete FC-4s
2026 * - delete BFA rport 2026 * - delete BFA rport
2027 * - remove from queue of rports 2027 * - remove from queue of rports
@@ -2093,7 +2093,7 @@ bfa_fcs_rport_offline_action(struct bfa_fcs_rport_s *rport)
2093 } 2093 }
2094} 2094}
2095 2095
2096/** 2096/*
2097 * Update rport parameters from PLOGI or PLOGI accept. 2097 * Update rport parameters from PLOGI or PLOGI accept.
2098 */ 2098 */
2099static void 2099static void
@@ -2101,14 +2101,14 @@ bfa_fcs_rport_update(struct bfa_fcs_rport_s *rport, struct fc_logi_s *plogi)
2101{ 2101{
2102 bfa_fcs_lport_t *port = rport->port; 2102 bfa_fcs_lport_t *port = rport->port;
2103 2103
2104 /** 2104 /*
2105 * - port name 2105 * - port name
2106 * - node name 2106 * - node name
2107 */ 2107 */
2108 rport->pwwn = plogi->port_name; 2108 rport->pwwn = plogi->port_name;
2109 rport->nwwn = plogi->node_name; 2109 rport->nwwn = plogi->node_name;
2110 2110
2111 /** 2111 /*
2112 * - class of service 2112 * - class of service
2113 */ 2113 */
2114 rport->fc_cos = 0; 2114 rport->fc_cos = 0;
@@ -2118,16 +2118,16 @@ bfa_fcs_rport_update(struct bfa_fcs_rport_s *rport, struct fc_logi_s *plogi)
2118 if (plogi->class2.class_valid) 2118 if (plogi->class2.class_valid)
2119 rport->fc_cos |= FC_CLASS_2; 2119 rport->fc_cos |= FC_CLASS_2;
2120 2120
2121 /** 2121 /*
2122 * - CISC 2122 * - CISC
2123 * - MAX receive frame size 2123 * - MAX receive frame size
2124 */ 2124 */
2125 rport->cisc = plogi->csp.cisc; 2125 rport->cisc = plogi->csp.cisc;
2126 rport->maxfrsize = bfa_os_ntohs(plogi->class3.rxsz); 2126 rport->maxfrsize = be16_to_cpu(plogi->class3.rxsz);
2127 2127
2128 bfa_trc(port->fcs, bfa_os_ntohs(plogi->csp.bbcred)); 2128 bfa_trc(port->fcs, be16_to_cpu(plogi->csp.bbcred));
2129 bfa_trc(port->fcs, port->fabric->bb_credit); 2129 bfa_trc(port->fcs, port->fabric->bb_credit);
2130 /** 2130 /*
2131 * Direct Attach P2P mode : 2131 * Direct Attach P2P mode :
2132 * This is to handle a bug (233476) in IBM targets in Direct Attach 2132 * This is to handle a bug (233476) in IBM targets in Direct Attach
2133 * Mode. Basically, in FLOGI Accept the target would have 2133 * Mode. Basically, in FLOGI Accept the target would have
@@ -2136,19 +2136,19 @@ bfa_fcs_rport_update(struct bfa_fcs_rport_s *rport, struct fc_logi_s *plogi)
2136 * in PLOGI. 2136 * in PLOGI.
2137 */ 2137 */
2138 if ((!bfa_fcs_fabric_is_switched(port->fabric)) && 2138 if ((!bfa_fcs_fabric_is_switched(port->fabric)) &&
2139 (bfa_os_ntohs(plogi->csp.bbcred) < port->fabric->bb_credit)) { 2139 (be16_to_cpu(plogi->csp.bbcred) < port->fabric->bb_credit)) {
2140 2140
2141 bfa_trc(port->fcs, bfa_os_ntohs(plogi->csp.bbcred)); 2141 bfa_trc(port->fcs, be16_to_cpu(plogi->csp.bbcred));
2142 bfa_trc(port->fcs, port->fabric->bb_credit); 2142 bfa_trc(port->fcs, port->fabric->bb_credit);
2143 2143
2144 port->fabric->bb_credit = bfa_os_ntohs(plogi->csp.bbcred); 2144 port->fabric->bb_credit = be16_to_cpu(plogi->csp.bbcred);
2145 bfa_fcport_set_tx_bbcredit(port->fcs->bfa, 2145 bfa_fcport_set_tx_bbcredit(port->fcs->bfa,
2146 port->fabric->bb_credit); 2146 port->fabric->bb_credit);
2147 } 2147 }
2148 2148
2149} 2149}
2150 2150
2151/** 2151/*
2152 * Called to handle LOGO received from an existing remote port. 2152 * Called to handle LOGO received from an existing remote port.
2153 */ 2153 */
2154static void 2154static void
@@ -2164,11 +2164,11 @@ bfa_fcs_rport_process_logo(struct bfa_fcs_rport_s *rport, struct fchs_s *fchs)
2164 2164
2165 2165
2166 2166
2167/** 2167/*
2168 * fcs_rport_public FCS rport public interfaces 2168 * fcs_rport_public FCS rport public interfaces
2169 */ 2169 */
2170 2170
2171/** 2171/*
2172 * Called by bport/vport to create a remote port instance for a discovered 2172 * Called by bport/vport to create a remote port instance for a discovered
2173 * remote device. 2173 * remote device.
2174 * 2174 *
@@ -2191,7 +2191,7 @@ bfa_fcs_rport_create(struct bfa_fcs_lport_s *port, u32 rpid)
2191 return rport; 2191 return rport;
2192} 2192}
2193 2193
2194/** 2194/*
2195 * Called to create a rport for which only the wwn is known. 2195 * Called to create a rport for which only the wwn is known.
2196 * 2196 *
2197 * @param[in] port - base port 2197 * @param[in] port - base port
@@ -2211,7 +2211,7 @@ bfa_fcs_rport_create_by_wwn(struct bfa_fcs_lport_s *port, wwn_t rpwwn)
2211 bfa_sm_send_event(rport, RPSM_EVENT_ADDRESS_DISC); 2211 bfa_sm_send_event(rport, RPSM_EVENT_ADDRESS_DISC);
2212 return rport; 2212 return rport;
2213} 2213}
2214/** 2214/*
2215 * Called by bport in private loop topology to indicate that a 2215 * Called by bport in private loop topology to indicate that a
2216 * rport has been discovered and plogi has been completed. 2216 * rport has been discovered and plogi has been completed.
2217 * 2217 *
@@ -2233,7 +2233,7 @@ bfa_fcs_rport_start(struct bfa_fcs_lport_s *port, struct fchs_s *fchs,
2233 bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_COMP); 2233 bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_COMP);
2234} 2234}
2235 2235
2236/** 2236/*
2237 * Called by bport/vport to handle PLOGI received from a new remote port. 2237 * Called by bport/vport to handle PLOGI received from a new remote port.
2238 * If an existing rport does a plogi, it will be handled separately. 2238 * If an existing rport does a plogi, it will be handled separately.
2239 */ 2239 */
@@ -2272,7 +2272,7 @@ wwn_compare(wwn_t wwn1, wwn_t wwn2)
2272 return 0; 2272 return 0;
2273} 2273}
2274 2274
2275/** 2275/*
2276 * Called by bport/vport to handle PLOGI received from an existing 2276 * Called by bport/vport to handle PLOGI received from an existing
2277 * remote port. 2277 * remote port.
2278 */ 2278 */
@@ -2280,7 +2280,7 @@ void
2280bfa_fcs_rport_plogi(struct bfa_fcs_rport_s *rport, struct fchs_s *rx_fchs, 2280bfa_fcs_rport_plogi(struct bfa_fcs_rport_s *rport, struct fchs_s *rx_fchs,
2281 struct fc_logi_s *plogi) 2281 struct fc_logi_s *plogi)
2282{ 2282{
2283 /** 2283 /*
2284 * @todo Handle P2P and initiator-initiator. 2284 * @todo Handle P2P and initiator-initiator.
2285 */ 2285 */
2286 2286
@@ -2289,7 +2289,7 @@ bfa_fcs_rport_plogi(struct bfa_fcs_rport_s *rport, struct fchs_s *rx_fchs,
2289 rport->reply_oxid = rx_fchs->ox_id; 2289 rport->reply_oxid = rx_fchs->ox_id;
2290 bfa_trc(rport->fcs, rport->reply_oxid); 2290 bfa_trc(rport->fcs, rport->reply_oxid);
2291 2291
2292 /** 2292 /*
2293 * In Switched fabric topology, 2293 * In Switched fabric topology,
2294 * PLOGI to each other. If our pwwn is smaller, ignore it, 2294 * PLOGI to each other. If our pwwn is smaller, ignore it,
2295 * if it is not a well known address. 2295 * if it is not a well known address.
@@ -2307,7 +2307,7 @@ bfa_fcs_rport_plogi(struct bfa_fcs_rport_s *rport, struct fchs_s *rx_fchs,
2307 bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_RCVD); 2307 bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_RCVD);
2308} 2308}
2309 2309
2310/** 2310/*
2311 * Called by bport/vport to delete a remote port instance. 2311 * Called by bport/vport to delete a remote port instance.
2312 * 2312 *
2313 * Rport delete is called under the following conditions: 2313 * Rport delete is called under the following conditions:
@@ -2321,7 +2321,7 @@ bfa_fcs_rport_delete(struct bfa_fcs_rport_s *rport)
2321 bfa_sm_send_event(rport, RPSM_EVENT_DELETE); 2321 bfa_sm_send_event(rport, RPSM_EVENT_DELETE);
2322} 2322}
2323 2323
2324/** 2324/*
2325 * Called by bport/vport to when a target goes offline. 2325 * Called by bport/vport to when a target goes offline.
2326 * 2326 *
2327 */ 2327 */
@@ -2331,7 +2331,7 @@ bfa_fcs_rport_offline(struct bfa_fcs_rport_s *rport)
2331 bfa_sm_send_event(rport, RPSM_EVENT_LOGO_IMP); 2331 bfa_sm_send_event(rport, RPSM_EVENT_LOGO_IMP);
2332} 2332}
2333 2333
2334/** 2334/*
2335 * Called by bport in n2n when a target (attached port) becomes online. 2335 * Called by bport in n2n when a target (attached port) becomes online.
2336 * 2336 *
2337 */ 2337 */
@@ -2340,7 +2340,7 @@ bfa_fcs_rport_online(struct bfa_fcs_rport_s *rport)
2340{ 2340{
2341 bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_SEND); 2341 bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_SEND);
2342} 2342}
2343/** 2343/*
2344 * Called by bport/vport to notify SCN for the remote port 2344 * Called by bport/vport to notify SCN for the remote port
2345 */ 2345 */
2346void 2346void
@@ -2350,7 +2350,7 @@ bfa_fcs_rport_scn(struct bfa_fcs_rport_s *rport)
2350 bfa_sm_send_event(rport, RPSM_EVENT_SCN); 2350 bfa_sm_send_event(rport, RPSM_EVENT_SCN);
2351} 2351}
2352 2352
2353/** 2353/*
2354 * Called by fcpim to notify that the ITN cleanup is done. 2354 * Called by fcpim to notify that the ITN cleanup is done.
2355 */ 2355 */
2356void 2356void
@@ -2359,7 +2359,7 @@ bfa_fcs_rport_itnim_ack(struct bfa_fcs_rport_s *rport)
2359 bfa_sm_send_event(rport, RPSM_EVENT_FC4_OFFLINE); 2359 bfa_sm_send_event(rport, RPSM_EVENT_FC4_OFFLINE);
2360} 2360}
2361 2361
2362/** 2362/*
2363 * Called by fcptm to notify that the ITN cleanup is done. 2363 * Called by fcptm to notify that the ITN cleanup is done.
2364 */ 2364 */
2365void 2365void
@@ -2368,7 +2368,7 @@ bfa_fcs_rport_tin_ack(struct bfa_fcs_rport_s *rport)
2368 bfa_sm_send_event(rport, RPSM_EVENT_FC4_OFFLINE); 2368 bfa_sm_send_event(rport, RPSM_EVENT_FC4_OFFLINE);
2369} 2369}
2370 2370
2371/** 2371/*
2372 * brief 2372 * brief
2373 * This routine BFA callback for bfa_rport_online() call. 2373 * This routine BFA callback for bfa_rport_online() call.
2374 * 2374 *
@@ -2391,7 +2391,7 @@ bfa_cb_rport_online(void *cbarg)
2391 bfa_sm_send_event(rport, RPSM_EVENT_HCB_ONLINE); 2391 bfa_sm_send_event(rport, RPSM_EVENT_HCB_ONLINE);
2392} 2392}
2393 2393
2394/** 2394/*
2395 * brief 2395 * brief
2396 * This routine BFA callback for bfa_rport_offline() call. 2396 * This routine BFA callback for bfa_rport_offline() call.
2397 * 2397 *
@@ -2413,7 +2413,7 @@ bfa_cb_rport_offline(void *cbarg)
2413 bfa_sm_send_event(rport, RPSM_EVENT_HCB_OFFLINE); 2413 bfa_sm_send_event(rport, RPSM_EVENT_HCB_OFFLINE);
2414} 2414}
2415 2415
2416/** 2416/*
2417 * brief 2417 * brief
2418 * This routine is a static BFA callback when there is a QoS flow_id 2418 * This routine is a static BFA callback when there is a QoS flow_id
2419 * change notification 2419 * change notification
@@ -2437,7 +2437,7 @@ bfa_cb_rport_qos_scn_flowid(void *cbarg,
2437 bfa_trc(rport->fcs, rport->pwwn); 2437 bfa_trc(rport->fcs, rport->pwwn);
2438} 2438}
2439 2439
2440/** 2440/*
2441 * brief 2441 * brief
2442 * This routine is a static BFA callback when there is a QoS priority 2442 * This routine is a static BFA callback when there is a QoS priority
2443 * change notification 2443 * change notification
@@ -2461,7 +2461,7 @@ bfa_cb_rport_qos_scn_prio(void *cbarg,
2461 bfa_trc(rport->fcs, rport->pwwn); 2461 bfa_trc(rport->fcs, rport->pwwn);
2462} 2462}
2463 2463
2464/** 2464/*
2465 * Called to process any unsolicted frames from this remote port 2465 * Called to process any unsolicted frames from this remote port
2466 */ 2466 */
2467void 2467void
@@ -2470,7 +2470,7 @@ bfa_fcs_rport_logo_imp(struct bfa_fcs_rport_s *rport)
2470 bfa_sm_send_event(rport, RPSM_EVENT_LOGO_IMP); 2470 bfa_sm_send_event(rport, RPSM_EVENT_LOGO_IMP);
2471} 2471}
2472 2472
2473/** 2473/*
2474 * Called to process any unsolicted frames from this remote port 2474 * Called to process any unsolicted frames from this remote port
2475 */ 2475 */
2476void 2476void
@@ -2577,7 +2577,7 @@ bfa_fcs_rport_send_ls_rjt(struct bfa_fcs_rport_s *rport, struct fchs_s *rx_fchs,
2577 FC_MAX_PDUSZ, 0); 2577 FC_MAX_PDUSZ, 0);
2578} 2578}
2579 2579
2580/** 2580/*
2581 * Return state of rport. 2581 * Return state of rport.
2582 */ 2582 */
2583int 2583int
@@ -2586,7 +2586,7 @@ bfa_fcs_rport_get_state(struct bfa_fcs_rport_s *rport)
2586 return bfa_sm_to_state(rport_sm_table, rport->sm); 2586 return bfa_sm_to_state(rport_sm_table, rport->sm);
2587} 2587}
2588 2588
2589/** 2589/*
2590 * brief 2590 * brief
2591 * Called by the Driver to set rport delete/ageout timeout 2591 * Called by the Driver to set rport delete/ageout timeout
2592 * 2592 *
@@ -2613,15 +2613,15 @@ bfa_fcs_rport_prlo(struct bfa_fcs_rport_s *rport, u16 ox_id)
2613 2613
2614 2614
2615 2615
2616/** 2616/*
2617 * Remote port implementation. 2617 * Remote port implementation.
2618 */ 2618 */
2619 2619
2620/** 2620/*
2621 * fcs_rport_api FCS rport API. 2621 * fcs_rport_api FCS rport API.
2622 */ 2622 */
2623 2623
2624/** 2624/*
2625 * Direct API to add a target by port wwn. This interface is used, for 2625 * Direct API to add a target by port wwn. This interface is used, for
2626 * example, by bios when target pwwn is known from boot lun configuration. 2626 * example, by bios when target pwwn is known from boot lun configuration.
2627 */ 2627 */
@@ -2634,7 +2634,7 @@ bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn,
2634 return BFA_STATUS_OK; 2634 return BFA_STATUS_OK;
2635} 2635}
2636 2636
2637/** 2637/*
2638 * Direct API to remove a target and its associated resources. This 2638 * Direct API to remove a target and its associated resources. This
2639 * interface is used, for example, by driver to remove target 2639 * interface is used, for example, by driver to remove target
2640 * ports from the target list for a VM. 2640 * ports from the target list for a VM.
@@ -2663,7 +2663,7 @@ bfa_fcs_rport_remove(struct bfa_fcs_rport_s *rport_in)
2663 2663
2664} 2664}
2665 2665
2666/** 2666/*
2667 * Remote device status for display/debug. 2667 * Remote device status for display/debug.
2668 */ 2668 */
2669void 2669void
@@ -2674,7 +2674,7 @@ bfa_fcs_rport_get_attr(struct bfa_fcs_rport_s *rport,
2674 bfa_fcs_lport_t *port = rport->port; 2674 bfa_fcs_lport_t *port = rport->port;
2675 bfa_port_speed_t rport_speed = rport->rpf.rpsc_speed; 2675 bfa_port_speed_t rport_speed = rport->rpf.rpsc_speed;
2676 2676
2677 bfa_os_memset(rport_attr, 0, sizeof(struct bfa_rport_attr_s)); 2677 memset(rport_attr, 0, sizeof(struct bfa_rport_attr_s));
2678 2678
2679 rport_attr->pid = rport->pid; 2679 rport_attr->pid = rport->pid;
2680 rport_attr->pwwn = rport->pwwn; 2680 rport_attr->pwwn = rport->pwwn;
@@ -2704,7 +2704,7 @@ bfa_fcs_rport_get_attr(struct bfa_fcs_rport_s *rport,
2704 } 2704 }
2705} 2705}
2706 2706
2707/** 2707/*
2708 * Per remote device statistics. 2708 * Per remote device statistics.
2709 */ 2709 */
2710void 2710void
@@ -2717,7 +2717,7 @@ bfa_fcs_rport_get_stats(struct bfa_fcs_rport_s *rport,
2717void 2717void
2718bfa_fcs_rport_clear_stats(struct bfa_fcs_rport_s *rport) 2718bfa_fcs_rport_clear_stats(struct bfa_fcs_rport_s *rport)
2719{ 2719{
2720 bfa_os_memset((char *)&rport->stats, 0, 2720 memset((char *)&rport->stats, 0,
2721 sizeof(struct bfa_rport_stats_s)); 2721 sizeof(struct bfa_rport_stats_s));
2722} 2722}
2723 2723
@@ -2767,7 +2767,7 @@ bfa_fcs_rport_set_speed(struct bfa_fcs_rport_s *rport, bfa_port_speed_t speed)
2767 2767
2768 2768
2769 2769
2770/** 2770/*
2771 * Remote port features (RPF) implementation. 2771 * Remote port features (RPF) implementation.
2772 */ 2772 */
2773 2773
@@ -2786,7 +2786,7 @@ static void bfa_fcs_rpf_rpsc2_response(void *fcsarg,
2786 2786
2787static void bfa_fcs_rpf_timeout(void *arg); 2787static void bfa_fcs_rpf_timeout(void *arg);
2788 2788
2789/** 2789/*
2790 * fcs_rport_ftrs_sm FCS rport state machine events 2790 * fcs_rport_ftrs_sm FCS rport state machine events
2791 */ 2791 */
2792 2792
@@ -2981,7 +2981,7 @@ bfa_fcs_rpf_sm_offline(struct bfa_fcs_rpf_s *rpf, enum rpf_event event)
2981 bfa_sm_fault(rport->fcs, event); 2981 bfa_sm_fault(rport->fcs, event);
2982 } 2982 }
2983} 2983}
2984/** 2984/*
2985 * Called when Rport is created. 2985 * Called when Rport is created.
2986 */ 2986 */
2987void 2987void
@@ -2995,7 +2995,7 @@ bfa_fcs_rpf_init(struct bfa_fcs_rport_s *rport)
2995 bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_uninit); 2995 bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_uninit);
2996} 2996}
2997 2997
2998/** 2998/*
2999 * Called when Rport becomes online 2999 * Called when Rport becomes online
3000 */ 3000 */
3001void 3001void
@@ -3010,7 +3010,7 @@ bfa_fcs_rpf_rport_online(struct bfa_fcs_rport_s *rport)
3010 bfa_sm_send_event(&rport->rpf, RPFSM_EVENT_RPORT_ONLINE); 3010 bfa_sm_send_event(&rport->rpf, RPFSM_EVENT_RPORT_ONLINE);
3011} 3011}
3012 3012
3013/** 3013/*
3014 * Called when Rport becomes offline 3014 * Called when Rport becomes offline
3015 */ 3015 */
3016void 3016void
@@ -3090,16 +3090,16 @@ bfa_fcs_rpf_rpsc2_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
3090 rpsc2_acc = (struct fc_rpsc2_acc_s *) BFA_FCXP_RSP_PLD(fcxp); 3090 rpsc2_acc = (struct fc_rpsc2_acc_s *) BFA_FCXP_RSP_PLD(fcxp);
3091 if (rpsc2_acc->els_cmd == FC_ELS_ACC) { 3091 if (rpsc2_acc->els_cmd == FC_ELS_ACC) {
3092 rport->stats.rpsc_accs++; 3092 rport->stats.rpsc_accs++;
3093 num_ents = bfa_os_ntohs(rpsc2_acc->num_pids); 3093 num_ents = be16_to_cpu(rpsc2_acc->num_pids);
3094 bfa_trc(rport->fcs, num_ents); 3094 bfa_trc(rport->fcs, num_ents);
3095 if (num_ents > 0) { 3095 if (num_ents > 0) {
3096 bfa_assert(rpsc2_acc->port_info[0].pid != rport->pid); 3096 bfa_assert(rpsc2_acc->port_info[0].pid != rport->pid);
3097 bfa_trc(rport->fcs, 3097 bfa_trc(rport->fcs,
3098 bfa_os_ntohs(rpsc2_acc->port_info[0].pid)); 3098 be16_to_cpu(rpsc2_acc->port_info[0].pid));
3099 bfa_trc(rport->fcs, 3099 bfa_trc(rport->fcs,
3100 bfa_os_ntohs(rpsc2_acc->port_info[0].speed)); 3100 be16_to_cpu(rpsc2_acc->port_info[0].speed));
3101 bfa_trc(rport->fcs, 3101 bfa_trc(rport->fcs,
3102 bfa_os_ntohs(rpsc2_acc->port_info[0].index)); 3102 be16_to_cpu(rpsc2_acc->port_info[0].index));
3103 bfa_trc(rport->fcs, 3103 bfa_trc(rport->fcs,
3104 rpsc2_acc->port_info[0].type); 3104 rpsc2_acc->port_info[0].type);
3105 3105
@@ -3109,7 +3109,7 @@ bfa_fcs_rpf_rpsc2_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg,
3109 } 3109 }
3110 3110
3111 rpf->rpsc_speed = fc_rpsc_operspeed_to_bfa_speed( 3111 rpf->rpsc_speed = fc_rpsc_operspeed_to_bfa_speed(
3112 bfa_os_ntohs(rpsc2_acc->port_info[0].speed)); 3112 be16_to_cpu(rpsc2_acc->port_info[0].speed));
3113 3113
3114 bfa_sm_send_event(rpf, RPFSM_EVENT_RPSC_COMP); 3114 bfa_sm_send_event(rpf, RPFSM_EVENT_RPSC_COMP);
3115 } 3115 }
diff --git a/drivers/scsi/bfa/bfa_hw_cb.c b/drivers/scsi/bfa/bfa_hw_cb.c
index c787d3af0886..d8464ae60070 100644
--- a/drivers/scsi/bfa/bfa_hw_cb.c
+++ b/drivers/scsi/bfa/bfa_hw_cb.c
@@ -22,7 +22,7 @@ void
22bfa_hwcb_reginit(struct bfa_s *bfa) 22bfa_hwcb_reginit(struct bfa_s *bfa)
23{ 23{
24 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs; 24 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs;
25 bfa_os_addr_t kva = bfa_ioc_bar0(&bfa->ioc); 25 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
26 int i, q, fn = bfa_ioc_pcifn(&bfa->ioc); 26 int i, q, fn = bfa_ioc_pcifn(&bfa->ioc);
27 27
28 if (fn == 0) { 28 if (fn == 0) {
@@ -60,8 +60,8 @@ bfa_hwcb_reqq_ack(struct bfa_s *bfa, int reqq)
60static void 60static void
61bfa_hwcb_reqq_ack_msix(struct bfa_s *bfa, int reqq) 61bfa_hwcb_reqq_ack_msix(struct bfa_s *bfa, int reqq)
62{ 62{
63 bfa_reg_write(bfa->iocfc.bfa_regs.intr_status, 63 writel(__HFN_INT_CPE_Q0 << CPE_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), reqq),
64 __HFN_INT_CPE_Q0 << CPE_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), reqq)); 64 bfa->iocfc.bfa_regs.intr_status);
65} 65}
66 66
67void 67void
@@ -72,8 +72,8 @@ bfa_hwcb_rspq_ack(struct bfa_s *bfa, int rspq)
72static void 72static void
73bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq) 73bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq)
74{ 74{
75 bfa_reg_write(bfa->iocfc.bfa_regs.intr_status, 75 writel(__HFN_INT_RME_Q0 << RME_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), rspq),
76 __HFN_INT_RME_Q0 << RME_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), rspq)); 76 bfa->iocfc.bfa_regs.intr_status);
77} 77}
78 78
79void 79void
@@ -102,7 +102,7 @@ bfa_hwcb_msix_getvecs(struct bfa_s *bfa, u32 *msix_vecs_bmap,
102 *num_vecs = __HFN_NUMINTS; 102 *num_vecs = __HFN_NUMINTS;
103} 103}
104 104
105/** 105/*
106 * No special setup required for crossbow -- vector assignments are implicit. 106 * No special setup required for crossbow -- vector assignments are implicit.
107 */ 107 */
108void 108void
@@ -129,7 +129,7 @@ bfa_hwcb_msix_init(struct bfa_s *bfa, int nvecs)
129 bfa->msix.handler[i] = bfa_msix_lpu_err; 129 bfa->msix.handler[i] = bfa_msix_lpu_err;
130} 130}
131 131
132/** 132/*
133 * Crossbow -- dummy, interrupts are masked 133 * Crossbow -- dummy, interrupts are masked
134 */ 134 */
135void 135void
@@ -142,7 +142,7 @@ bfa_hwcb_msix_uninstall(struct bfa_s *bfa)
142{ 142{
143} 143}
144 144
145/** 145/*
146 * No special enable/disable -- vector assignments are implicit. 146 * No special enable/disable -- vector assignments are implicit.
147 */ 147 */
148void 148void
diff --git a/drivers/scsi/bfa/bfa_hw_ct.c b/drivers/scsi/bfa/bfa_hw_ct.c
index c97ebafec5ea..b0efbc713ffe 100644
--- a/drivers/scsi/bfa/bfa_hw_ct.c
+++ b/drivers/scsi/bfa/bfa_hw_ct.c
@@ -31,15 +31,15 @@ static void
31bfa_hwct_msix_lpu_err_set(struct bfa_s *bfa, bfa_boolean_t msix, int vec) 31bfa_hwct_msix_lpu_err_set(struct bfa_s *bfa, bfa_boolean_t msix, int vec)
32{ 32{
33 int fn = bfa_ioc_pcifn(&bfa->ioc); 33 int fn = bfa_ioc_pcifn(&bfa->ioc);
34 bfa_os_addr_t kva = bfa_ioc_bar0(&bfa->ioc); 34 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
35 35
36 if (msix) 36 if (msix)
37 bfa_reg_write(kva + __ct_msix_err_vec_reg[fn], vec); 37 writel(vec, kva + __ct_msix_err_vec_reg[fn]);
38 else 38 else
39 bfa_reg_write(kva + __ct_msix_err_vec_reg[fn], 0); 39 writel(0, kva + __ct_msix_err_vec_reg[fn]);
40} 40}
41 41
42/** 42/*
43 * Dummy interrupt handler for handling spurious interrupt during chip-reinit. 43 * Dummy interrupt handler for handling spurious interrupt during chip-reinit.
44 */ 44 */
45static void 45static void
@@ -51,7 +51,7 @@ void
51bfa_hwct_reginit(struct bfa_s *bfa) 51bfa_hwct_reginit(struct bfa_s *bfa)
52{ 52{
53 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs; 53 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs;
54 bfa_os_addr_t kva = bfa_ioc_bar0(&bfa->ioc); 54 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
55 int i, q, fn = bfa_ioc_pcifn(&bfa->ioc); 55 int i, q, fn = bfa_ioc_pcifn(&bfa->ioc);
56 56
57 if (fn == 0) { 57 if (fn == 0) {
@@ -88,8 +88,8 @@ bfa_hwct_reqq_ack(struct bfa_s *bfa, int reqq)
88{ 88{
89 u32 r32; 89 u32 r32;
90 90
91 r32 = bfa_reg_read(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]); 91 r32 = readl(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]);
92 bfa_reg_write(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq], r32); 92 writel(r32, bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]);
93} 93}
94 94
95void 95void
@@ -97,8 +97,8 @@ bfa_hwct_rspq_ack(struct bfa_s *bfa, int rspq)
97{ 97{
98 u32 r32; 98 u32 r32;
99 99
100 r32 = bfa_reg_read(bfa->iocfc.bfa_regs.rme_q_ctrl[rspq]); 100 r32 = readl(bfa->iocfc.bfa_regs.rme_q_ctrl[rspq]);
101 bfa_reg_write(bfa->iocfc.bfa_regs.rme_q_ctrl[rspq], r32); 101 writel(r32, bfa->iocfc.bfa_regs.rme_q_ctrl[rspq]);
102} 102}
103 103
104void 104void
@@ -110,7 +110,7 @@ bfa_hwct_msix_getvecs(struct bfa_s *bfa, u32 *msix_vecs_bmap,
110 *num_vecs = BFA_MSIX_CT_MAX; 110 *num_vecs = BFA_MSIX_CT_MAX;
111} 111}
112 112
113/** 113/*
114 * Setup MSI-X vector for catapult 114 * Setup MSI-X vector for catapult
115 */ 115 */
116void 116void
@@ -156,7 +156,7 @@ bfa_hwct_msix_uninstall(struct bfa_s *bfa)
156 bfa->msix.handler[i] = bfa_hwct_msix_dummy; 156 bfa->msix.handler[i] = bfa_hwct_msix_dummy;
157} 157}
158 158
159/** 159/*
160 * Enable MSI-X vectors 160 * Enable MSI-X vectors
161 */ 161 */
162void 162void
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
index 6795b247791a..54475b53a5ab 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -23,7 +23,7 @@
23 23
24BFA_TRC_FILE(CNA, IOC); 24BFA_TRC_FILE(CNA, IOC);
25 25
26/** 26/*
27 * IOC local definitions 27 * IOC local definitions
28 */ 28 */
29#define BFA_IOC_TOV 3000 /* msecs */ 29#define BFA_IOC_TOV 3000 /* msecs */
@@ -49,7 +49,7 @@ BFA_TRC_FILE(CNA, IOC);
49 BFA_TRC_MAX * sizeof(struct bfa_trc_s))) 49 BFA_TRC_MAX * sizeof(struct bfa_trc_s)))
50#define BFA_DBG_FWTRC_OFF(_fn) (BFI_IOC_TRC_OFF + BFA_DBG_FWTRC_LEN * (_fn)) 50#define BFA_DBG_FWTRC_OFF(_fn) (BFI_IOC_TRC_OFF + BFA_DBG_FWTRC_LEN * (_fn))
51 51
52/** 52/*
53 * Asic specific macros : see bfa_hw_cb.c and bfa_hw_ct.c for details. 53 * Asic specific macros : see bfa_hw_cb.c and bfa_hw_ct.c for details.
54 */ 54 */
55 55
@@ -73,7 +73,7 @@ BFA_TRC_FILE(CNA, IOC);
73 73
74#define bfa_ioc_mbox_cmd_pending(__ioc) \ 74#define bfa_ioc_mbox_cmd_pending(__ioc) \
75 (!list_empty(&((__ioc)->mbox_mod.cmd_q)) || \ 75 (!list_empty(&((__ioc)->mbox_mod.cmd_q)) || \
76 bfa_reg_read((__ioc)->ioc_regs.hfn_mbox_cmd)) 76 readl((__ioc)->ioc_regs.hfn_mbox_cmd))
77 77
78bfa_boolean_t bfa_auto_recover = BFA_TRUE; 78bfa_boolean_t bfa_auto_recover = BFA_TRUE;
79 79
@@ -101,11 +101,11 @@ static void bfa_ioc_pf_disabled(struct bfa_ioc_s *ioc);
101static void bfa_ioc_pf_failed(struct bfa_ioc_s *ioc); 101static void bfa_ioc_pf_failed(struct bfa_ioc_s *ioc);
102static void bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc); 102static void bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc);
103 103
104/** 104/*
105 * hal_ioc_sm 105 * hal_ioc_sm
106 */ 106 */
107 107
108/** 108/*
109 * IOC state machine definitions/declarations 109 * IOC state machine definitions/declarations
110 */ 110 */
111enum ioc_event { 111enum ioc_event {
@@ -144,7 +144,7 @@ static struct bfa_sm_table_s ioc_sm_table[] = {
144 {BFA_SM(bfa_ioc_sm_disabled), BFA_IOC_DISABLED}, 144 {BFA_SM(bfa_ioc_sm_disabled), BFA_IOC_DISABLED},
145}; 145};
146 146
147/** 147/*
148 * IOCPF state machine definitions/declarations 148 * IOCPF state machine definitions/declarations
149 */ 149 */
150 150
@@ -174,7 +174,7 @@ static void bfa_iocpf_stop(struct bfa_ioc_s *ioc);
174static void bfa_iocpf_timeout(void *ioc_arg); 174static void bfa_iocpf_timeout(void *ioc_arg);
175static void bfa_iocpf_sem_timeout(void *ioc_arg); 175static void bfa_iocpf_sem_timeout(void *ioc_arg);
176 176
177/** 177/*
178 * IOCPF state machine events 178 * IOCPF state machine events
179 */ 179 */
180enum iocpf_event { 180enum iocpf_event {
@@ -191,7 +191,7 @@ enum iocpf_event {
191 IOCPF_E_TIMEOUT = 11, /* f/w response timeout */ 191 IOCPF_E_TIMEOUT = 11, /* f/w response timeout */
192}; 192};
193 193
194/** 194/*
195 * IOCPF states 195 * IOCPF states
196 */ 196 */
197enum bfa_iocpf_state { 197enum bfa_iocpf_state {
@@ -232,11 +232,11 @@ static struct bfa_sm_table_s iocpf_sm_table[] = {
232 {BFA_SM(bfa_iocpf_sm_disabled), BFA_IOCPF_DISABLED}, 232 {BFA_SM(bfa_iocpf_sm_disabled), BFA_IOCPF_DISABLED},
233}; 233};
234 234
235/** 235/*
236 * IOC State Machine 236 * IOC State Machine
237 */ 237 */
238 238
239/** 239/*
240 * Beginning state. IOC uninit state. 240 * Beginning state. IOC uninit state.
241 */ 241 */
242 242
@@ -245,7 +245,7 @@ bfa_ioc_sm_uninit_entry(struct bfa_ioc_s *ioc)
245{ 245{
246} 246}
247 247
248/** 248/*
249 * IOC is in uninit state. 249 * IOC is in uninit state.
250 */ 250 */
251static void 251static void
@@ -262,7 +262,7 @@ bfa_ioc_sm_uninit(struct bfa_ioc_s *ioc, enum ioc_event event)
262 bfa_sm_fault(ioc, event); 262 bfa_sm_fault(ioc, event);
263 } 263 }
264} 264}
265/** 265/*
266 * Reset entry actions -- initialize state machine 266 * Reset entry actions -- initialize state machine
267 */ 267 */
268static void 268static void
@@ -271,7 +271,7 @@ bfa_ioc_sm_reset_entry(struct bfa_ioc_s *ioc)
271 bfa_fsm_set_state(&ioc->iocpf, bfa_iocpf_sm_reset); 271 bfa_fsm_set_state(&ioc->iocpf, bfa_iocpf_sm_reset);
272} 272}
273 273
274/** 274/*
275 * IOC is in reset state. 275 * IOC is in reset state.
276 */ 276 */
277static void 277static void
@@ -304,7 +304,7 @@ bfa_ioc_sm_enabling_entry(struct bfa_ioc_s *ioc)
304 bfa_iocpf_enable(ioc); 304 bfa_iocpf_enable(ioc);
305} 305}
306 306
307/** 307/*
308 * Host IOC function is being enabled, awaiting response from firmware. 308 * Host IOC function is being enabled, awaiting response from firmware.
309 * Semaphore is acquired. 309 * Semaphore is acquired.
310 */ 310 */
@@ -352,7 +352,7 @@ bfa_ioc_sm_getattr_entry(struct bfa_ioc_s *ioc)
352 bfa_ioc_send_getattr(ioc); 352 bfa_ioc_send_getattr(ioc);
353} 353}
354 354
355/** 355/*
356 * IOC configuration in progress. Timer is active. 356 * IOC configuration in progress. Timer is active.
357 */ 357 */
358static void 358static void
@@ -447,7 +447,7 @@ bfa_ioc_sm_disabling_entry(struct bfa_ioc_s *ioc)
447 BFA_LOG(KERN_INFO, bfad, log_level, "IOC disabled\n"); 447 BFA_LOG(KERN_INFO, bfad, log_level, "IOC disabled\n");
448} 448}
449 449
450/** 450/*
451 * IOC is being disabled 451 * IOC is being disabled
452 */ 452 */
453static void 453static void
@@ -474,7 +474,7 @@ bfa_ioc_sm_disabling(struct bfa_ioc_s *ioc, enum ioc_event event)
474 } 474 }
475} 475}
476 476
477/** 477/*
478 * IOC disable completion entry. 478 * IOC disable completion entry.
479 */ 479 */
480static void 480static void
@@ -514,7 +514,7 @@ bfa_ioc_sm_initfail_entry(struct bfa_ioc_s *ioc)
514 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); 514 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE);
515} 515}
516 516
517/** 517/*
518 * Hardware initialization failed. 518 * Hardware initialization failed.
519 */ 519 */
520static void 520static void
@@ -528,7 +528,7 @@ bfa_ioc_sm_initfail(struct bfa_ioc_s *ioc, enum ioc_event event)
528 break; 528 break;
529 529
530 case IOC_E_FAILED: 530 case IOC_E_FAILED:
531 /** 531 /*
532 * Initialization failure during iocpf init retry. 532 * Initialization failure during iocpf init retry.
533 */ 533 */
534 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); 534 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE);
@@ -556,7 +556,7 @@ bfa_ioc_sm_fail_entry(struct bfa_ioc_s *ioc)
556 struct bfa_ioc_hbfail_notify_s *notify; 556 struct bfa_ioc_hbfail_notify_s *notify;
557 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad; 557 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad;
558 558
559 /** 559 /*
560 * Notify driver and common modules registered for notification. 560 * Notify driver and common modules registered for notification.
561 */ 561 */
562 ioc->cbfn->hbfail_cbfn(ioc->bfa); 562 ioc->cbfn->hbfail_cbfn(ioc->bfa);
@@ -569,7 +569,7 @@ bfa_ioc_sm_fail_entry(struct bfa_ioc_s *ioc)
569 "Heart Beat of IOC has failed\n"); 569 "Heart Beat of IOC has failed\n");
570} 570}
571 571
572/** 572/*
573 * IOC failure. 573 * IOC failure.
574 */ 574 */
575static void 575static void
@@ -580,7 +580,7 @@ bfa_ioc_sm_fail(struct bfa_ioc_s *ioc, enum ioc_event event)
580 switch (event) { 580 switch (event) {
581 581
582 case IOC_E_FAILED: 582 case IOC_E_FAILED:
583 /** 583 /*
584 * Initialization failure during iocpf recovery. 584 * Initialization failure during iocpf recovery.
585 * !!! Fall through !!! 585 * !!! Fall through !!!
586 */ 586 */
@@ -608,12 +608,12 @@ bfa_ioc_sm_fail(struct bfa_ioc_s *ioc, enum ioc_event event)
608 608
609 609
610 610
611/** 611/*
612 * IOCPF State Machine 612 * IOCPF State Machine
613 */ 613 */
614 614
615 615
616/** 616/*
617 * Reset entry actions -- initialize state machine 617 * Reset entry actions -- initialize state machine
618 */ 618 */
619static void 619static void
@@ -623,7 +623,7 @@ bfa_iocpf_sm_reset_entry(struct bfa_iocpf_s *iocpf)
623 iocpf->auto_recover = bfa_auto_recover; 623 iocpf->auto_recover = bfa_auto_recover;
624} 624}
625 625
626/** 626/*
627 * Beginning state. IOC is in reset state. 627 * Beginning state. IOC is in reset state.
628 */ 628 */
629static void 629static void
@@ -646,7 +646,7 @@ bfa_iocpf_sm_reset(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
646 } 646 }
647} 647}
648 648
649/** 649/*
650 * Semaphore should be acquired for version check. 650 * Semaphore should be acquired for version check.
651 */ 651 */
652static void 652static void
@@ -655,7 +655,7 @@ bfa_iocpf_sm_fwcheck_entry(struct bfa_iocpf_s *iocpf)
655 bfa_ioc_hw_sem_get(iocpf->ioc); 655 bfa_ioc_hw_sem_get(iocpf->ioc);
656} 656}
657 657
658/** 658/*
659 * Awaiting h/w semaphore to continue with version check. 659 * Awaiting h/w semaphore to continue with version check.
660 */ 660 */
661static void 661static void
@@ -692,7 +692,7 @@ bfa_iocpf_sm_fwcheck(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
692 } 692 }
693} 693}
694 694
695/** 695/*
696 * Notify enable completion callback. 696 * Notify enable completion callback.
697 */ 697 */
698static void 698static void
@@ -708,7 +708,7 @@ bfa_iocpf_sm_mismatch_entry(struct bfa_iocpf_s *iocpf)
708 bfa_iocpf_timer_start(iocpf->ioc); 708 bfa_iocpf_timer_start(iocpf->ioc);
709} 709}
710 710
711/** 711/*
712 * Awaiting firmware version match. 712 * Awaiting firmware version match.
713 */ 713 */
714static void 714static void
@@ -739,7 +739,7 @@ bfa_iocpf_sm_mismatch(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
739 } 739 }
740} 740}
741 741
742/** 742/*
743 * Request for semaphore. 743 * Request for semaphore.
744 */ 744 */
745static void 745static void
@@ -748,7 +748,7 @@ bfa_iocpf_sm_semwait_entry(struct bfa_iocpf_s *iocpf)
748 bfa_ioc_hw_sem_get(iocpf->ioc); 748 bfa_ioc_hw_sem_get(iocpf->ioc);
749} 749}
750 750
751/** 751/*
752 * Awaiting semaphore for h/w initialzation. 752 * Awaiting semaphore for h/w initialzation.
753 */ 753 */
754static void 754static void
@@ -782,7 +782,7 @@ bfa_iocpf_sm_hwinit_entry(struct bfa_iocpf_s *iocpf)
782 bfa_ioc_reset(iocpf->ioc, BFA_FALSE); 782 bfa_ioc_reset(iocpf->ioc, BFA_FALSE);
783} 783}
784 784
785/** 785/*
786 * Hardware is being initialized. Interrupts are enabled. 786 * Hardware is being initialized. Interrupts are enabled.
787 * Holding hardware semaphore lock. 787 * Holding hardware semaphore lock.
788 */ 788 */
@@ -839,7 +839,7 @@ bfa_iocpf_sm_enabling_entry(struct bfa_iocpf_s *iocpf)
839 bfa_ioc_send_enable(iocpf->ioc); 839 bfa_ioc_send_enable(iocpf->ioc);
840} 840}
841 841
842/** 842/*
843 * Host IOC function is being enabled, awaiting response from firmware. 843 * Host IOC function is being enabled, awaiting response from firmware.
844 * Semaphore is acquired. 844 * Semaphore is acquired.
845 */ 845 */
@@ -866,8 +866,7 @@ bfa_iocpf_sm_enabling(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
866 case IOCPF_E_TIMEOUT: 866 case IOCPF_E_TIMEOUT:
867 iocpf->retry_count++; 867 iocpf->retry_count++;
868 if (iocpf->retry_count < BFA_IOC_HWINIT_MAX) { 868 if (iocpf->retry_count < BFA_IOC_HWINIT_MAX) {
869 bfa_reg_write(ioc->ioc_regs.ioc_fwstate, 869 writel(BFI_IOC_UNINIT, ioc->ioc_regs.ioc_fwstate);
870 BFI_IOC_UNINIT);
871 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); 870 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit);
872 break; 871 break;
873 } 872 }
@@ -944,7 +943,7 @@ bfa_iocpf_sm_disabling_entry(struct bfa_iocpf_s *iocpf)
944 bfa_ioc_send_disable(iocpf->ioc); 943 bfa_ioc_send_disable(iocpf->ioc);
945} 944}
946 945
947/** 946/*
948 * IOC is being disabled 947 * IOC is being disabled
949 */ 948 */
950static void 949static void
@@ -968,7 +967,7 @@ bfa_iocpf_sm_disabling(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
968 */ 967 */
969 968
970 case IOCPF_E_TIMEOUT: 969 case IOCPF_E_TIMEOUT:
971 bfa_reg_write(ioc->ioc_regs.ioc_fwstate, BFI_IOC_FAIL); 970 writel(BFI_IOC_FAIL, ioc->ioc_regs.ioc_fwstate);
972 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled); 971 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_disabled);
973 break; 972 break;
974 973
@@ -980,7 +979,7 @@ bfa_iocpf_sm_disabling(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
980 } 979 }
981} 980}
982 981
983/** 982/*
984 * IOC disable completion entry. 983 * IOC disable completion entry.
985 */ 984 */
986static void 985static void
@@ -1018,7 +1017,7 @@ bfa_iocpf_sm_initfail_entry(struct bfa_iocpf_s *iocpf)
1018 bfa_iocpf_timer_start(iocpf->ioc); 1017 bfa_iocpf_timer_start(iocpf->ioc);
1019} 1018}
1020 1019
1021/** 1020/*
1022 * Hardware initialization failed. 1021 * Hardware initialization failed.
1023 */ 1022 */
1024static void 1023static void
@@ -1053,18 +1052,18 @@ bfa_iocpf_sm_initfail(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
1053static void 1052static void
1054bfa_iocpf_sm_fail_entry(struct bfa_iocpf_s *iocpf) 1053bfa_iocpf_sm_fail_entry(struct bfa_iocpf_s *iocpf)
1055{ 1054{
1056 /** 1055 /*
1057 * Mark IOC as failed in hardware and stop firmware. 1056 * Mark IOC as failed in hardware and stop firmware.
1058 */ 1057 */
1059 bfa_ioc_lpu_stop(iocpf->ioc); 1058 bfa_ioc_lpu_stop(iocpf->ioc);
1060 bfa_reg_write(iocpf->ioc->ioc_regs.ioc_fwstate, BFI_IOC_FAIL); 1059 writel(BFI_IOC_FAIL, iocpf->ioc->ioc_regs.ioc_fwstate);
1061 1060
1062 /** 1061 /*
1063 * Notify other functions on HB failure. 1062 * Notify other functions on HB failure.
1064 */ 1063 */
1065 bfa_ioc_notify_hbfail(iocpf->ioc); 1064 bfa_ioc_notify_hbfail(iocpf->ioc);
1066 1065
1067 /** 1066 /*
1068 * Flush any queued up mailbox requests. 1067 * Flush any queued up mailbox requests.
1069 */ 1068 */
1070 bfa_ioc_mbox_hbfail(iocpf->ioc); 1069 bfa_ioc_mbox_hbfail(iocpf->ioc);
@@ -1073,7 +1072,7 @@ bfa_iocpf_sm_fail_entry(struct bfa_iocpf_s *iocpf)
1073 bfa_iocpf_recovery_timer_start(iocpf->ioc); 1072 bfa_iocpf_recovery_timer_start(iocpf->ioc);
1074} 1073}
1075 1074
1076/** 1075/*
1077 * IOC is in failed state. 1076 * IOC is in failed state.
1078 */ 1077 */
1079static void 1078static void
@@ -1101,7 +1100,7 @@ bfa_iocpf_sm_fail(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
1101 1100
1102 1101
1103 1102
1104/** 1103/*
1105 * hal_ioc_pvt BFA IOC private functions 1104 * hal_ioc_pvt BFA IOC private functions
1106 */ 1105 */
1107 1106
@@ -1113,7 +1112,7 @@ bfa_ioc_disable_comp(struct bfa_ioc_s *ioc)
1113 1112
1114 ioc->cbfn->disable_cbfn(ioc->bfa); 1113 ioc->cbfn->disable_cbfn(ioc->bfa);
1115 1114
1116 /** 1115 /*
1117 * Notify common modules registered for notification. 1116 * Notify common modules registered for notification.
1118 */ 1117 */
1119 list_for_each(qe, &ioc->hb_notify_q) { 1118 list_for_each(qe, &ioc->hb_notify_q) {
@@ -1123,18 +1122,18 @@ bfa_ioc_disable_comp(struct bfa_ioc_s *ioc)
1123} 1122}
1124 1123
1125bfa_boolean_t 1124bfa_boolean_t
1126bfa_ioc_sem_get(bfa_os_addr_t sem_reg) 1125bfa_ioc_sem_get(void __iomem *sem_reg)
1127{ 1126{
1128 u32 r32; 1127 u32 r32;
1129 int cnt = 0; 1128 int cnt = 0;
1130#define BFA_SEM_SPINCNT 3000 1129#define BFA_SEM_SPINCNT 3000
1131 1130
1132 r32 = bfa_reg_read(sem_reg); 1131 r32 = readl(sem_reg);
1133 1132
1134 while (r32 && (cnt < BFA_SEM_SPINCNT)) { 1133 while (r32 && (cnt < BFA_SEM_SPINCNT)) {
1135 cnt++; 1134 cnt++;
1136 bfa_os_udelay(2); 1135 udelay(2);
1137 r32 = bfa_reg_read(sem_reg); 1136 r32 = readl(sem_reg);
1138 } 1137 }
1139 1138
1140 if (r32 == 0) 1139 if (r32 == 0)
@@ -1145,9 +1144,9 @@ bfa_ioc_sem_get(bfa_os_addr_t sem_reg)
1145} 1144}
1146 1145
1147void 1146void
1148bfa_ioc_sem_release(bfa_os_addr_t sem_reg) 1147bfa_ioc_sem_release(void __iomem *sem_reg)
1149{ 1148{
1150 bfa_reg_write(sem_reg, 1); 1149 writel(1, sem_reg);
1151} 1150}
1152 1151
1153static void 1152static void
@@ -1155,11 +1154,11 @@ bfa_ioc_hw_sem_get(struct bfa_ioc_s *ioc)
1155{ 1154{
1156 u32 r32; 1155 u32 r32;
1157 1156
1158 /** 1157 /*
1159 * First read to the semaphore register will return 0, subsequent reads 1158 * First read to the semaphore register will return 0, subsequent reads
1160 * will return 1. Semaphore is released by writing 1 to the register 1159 * will return 1. Semaphore is released by writing 1 to the register
1161 */ 1160 */
1162 r32 = bfa_reg_read(ioc->ioc_regs.ioc_sem_reg); 1161 r32 = readl(ioc->ioc_regs.ioc_sem_reg);
1163 if (r32 == 0) { 1162 if (r32 == 0) {
1164 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_SEMLOCKED); 1163 bfa_fsm_send_event(&ioc->iocpf, IOCPF_E_SEMLOCKED);
1165 return; 1164 return;
@@ -1171,7 +1170,7 @@ bfa_ioc_hw_sem_get(struct bfa_ioc_s *ioc)
1171void 1170void
1172bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc) 1171bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc)
1173{ 1172{
1174 bfa_reg_write(ioc->ioc_regs.ioc_sem_reg, 1); 1173 writel(1, ioc->ioc_regs.ioc_sem_reg);
1175} 1174}
1176 1175
1177static void 1176static void
@@ -1180,7 +1179,7 @@ bfa_ioc_hw_sem_get_cancel(struct bfa_ioc_s *ioc)
1180 bfa_sem_timer_stop(ioc); 1179 bfa_sem_timer_stop(ioc);
1181} 1180}
1182 1181
1183/** 1182/*
1184 * Initialize LPU local memory (aka secondary memory / SRAM) 1183 * Initialize LPU local memory (aka secondary memory / SRAM)
1185 */ 1184 */
1186static void 1185static void
@@ -1190,7 +1189,7 @@ bfa_ioc_lmem_init(struct bfa_ioc_s *ioc)
1190 int i; 1189 int i;
1191#define PSS_LMEM_INIT_TIME 10000 1190#define PSS_LMEM_INIT_TIME 10000
1192 1191
1193 pss_ctl = bfa_reg_read(ioc->ioc_regs.pss_ctl_reg); 1192 pss_ctl = readl(ioc->ioc_regs.pss_ctl_reg);
1194 pss_ctl &= ~__PSS_LMEM_RESET; 1193 pss_ctl &= ~__PSS_LMEM_RESET;
1195 pss_ctl |= __PSS_LMEM_INIT_EN; 1194 pss_ctl |= __PSS_LMEM_INIT_EN;
1196 1195
@@ -1198,18 +1197,18 @@ bfa_ioc_lmem_init(struct bfa_ioc_s *ioc)
1198 * i2c workaround 12.5khz clock 1197 * i2c workaround 12.5khz clock
1199 */ 1198 */
1200 pss_ctl |= __PSS_I2C_CLK_DIV(3UL); 1199 pss_ctl |= __PSS_I2C_CLK_DIV(3UL);
1201 bfa_reg_write(ioc->ioc_regs.pss_ctl_reg, pss_ctl); 1200 writel(pss_ctl, ioc->ioc_regs.pss_ctl_reg);
1202 1201
1203 /** 1202 /*
1204 * wait for memory initialization to be complete 1203 * wait for memory initialization to be complete
1205 */ 1204 */
1206 i = 0; 1205 i = 0;
1207 do { 1206 do {
1208 pss_ctl = bfa_reg_read(ioc->ioc_regs.pss_ctl_reg); 1207 pss_ctl = readl(ioc->ioc_regs.pss_ctl_reg);
1209 i++; 1208 i++;
1210 } while (!(pss_ctl & __PSS_LMEM_INIT_DONE) && (i < PSS_LMEM_INIT_TIME)); 1209 } while (!(pss_ctl & __PSS_LMEM_INIT_DONE) && (i < PSS_LMEM_INIT_TIME));
1211 1210
1212 /** 1211 /*
1213 * If memory initialization is not successful, IOC timeout will catch 1212 * If memory initialization is not successful, IOC timeout will catch
1214 * such failures. 1213 * such failures.
1215 */ 1214 */
@@ -1217,7 +1216,7 @@ bfa_ioc_lmem_init(struct bfa_ioc_s *ioc)
1217 bfa_trc(ioc, pss_ctl); 1216 bfa_trc(ioc, pss_ctl);
1218 1217
1219 pss_ctl &= ~(__PSS_LMEM_INIT_DONE | __PSS_LMEM_INIT_EN); 1218 pss_ctl &= ~(__PSS_LMEM_INIT_DONE | __PSS_LMEM_INIT_EN);
1220 bfa_reg_write(ioc->ioc_regs.pss_ctl_reg, pss_ctl); 1219 writel(pss_ctl, ioc->ioc_regs.pss_ctl_reg);
1221} 1220}
1222 1221
1223static void 1222static void
@@ -1225,13 +1224,13 @@ bfa_ioc_lpu_start(struct bfa_ioc_s *ioc)
1225{ 1224{
1226 u32 pss_ctl; 1225 u32 pss_ctl;
1227 1226
1228 /** 1227 /*
1229 * Take processor out of reset. 1228 * Take processor out of reset.
1230 */ 1229 */
1231 pss_ctl = bfa_reg_read(ioc->ioc_regs.pss_ctl_reg); 1230 pss_ctl = readl(ioc->ioc_regs.pss_ctl_reg);
1232 pss_ctl &= ~__PSS_LPU0_RESET; 1231 pss_ctl &= ~__PSS_LPU0_RESET;
1233 1232
1234 bfa_reg_write(ioc->ioc_regs.pss_ctl_reg, pss_ctl); 1233 writel(pss_ctl, ioc->ioc_regs.pss_ctl_reg);
1235} 1234}
1236 1235
1237static void 1236static void
@@ -1239,16 +1238,16 @@ bfa_ioc_lpu_stop(struct bfa_ioc_s *ioc)
1239{ 1238{
1240 u32 pss_ctl; 1239 u32 pss_ctl;
1241 1240
1242 /** 1241 /*
1243 * Put processors in reset. 1242 * Put processors in reset.
1244 */ 1243 */
1245 pss_ctl = bfa_reg_read(ioc->ioc_regs.pss_ctl_reg); 1244 pss_ctl = readl(ioc->ioc_regs.pss_ctl_reg);
1246 pss_ctl |= (__PSS_LPU0_RESET | __PSS_LPU1_RESET); 1245 pss_ctl |= (__PSS_LPU0_RESET | __PSS_LPU1_RESET);
1247 1246
1248 bfa_reg_write(ioc->ioc_regs.pss_ctl_reg, pss_ctl); 1247 writel(pss_ctl, ioc->ioc_regs.pss_ctl_reg);
1249} 1248}
1250 1249
1251/** 1250/*
1252 * Get driver and firmware versions. 1251 * Get driver and firmware versions.
1253 */ 1252 */
1254void 1253void
@@ -1261,7 +1260,7 @@ bfa_ioc_fwver_get(struct bfa_ioc_s *ioc, struct bfi_ioc_image_hdr_s *fwhdr)
1261 1260
1262 pgnum = bfa_ioc_smem_pgnum(ioc, loff); 1261 pgnum = bfa_ioc_smem_pgnum(ioc, loff);
1263 pgoff = bfa_ioc_smem_pgoff(ioc, loff); 1262 pgoff = bfa_ioc_smem_pgoff(ioc, loff);
1264 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, pgnum); 1263 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1265 1264
1266 for (i = 0; i < (sizeof(struct bfi_ioc_image_hdr_s) / sizeof(u32)); 1265 for (i = 0; i < (sizeof(struct bfi_ioc_image_hdr_s) / sizeof(u32));
1267 i++) { 1266 i++) {
@@ -1271,7 +1270,7 @@ bfa_ioc_fwver_get(struct bfa_ioc_s *ioc, struct bfi_ioc_image_hdr_s *fwhdr)
1271 } 1270 }
1272} 1271}
1273 1272
1274/** 1273/*
1275 * Returns TRUE if same. 1274 * Returns TRUE if same.
1276 */ 1275 */
1277bfa_boolean_t 1276bfa_boolean_t
@@ -1296,7 +1295,7 @@ bfa_ioc_fwver_cmp(struct bfa_ioc_s *ioc, struct bfi_ioc_image_hdr_s *fwhdr)
1296 return BFA_TRUE; 1295 return BFA_TRUE;
1297} 1296}
1298 1297
1299/** 1298/*
1300 * Return true if current running version is valid. Firmware signature and 1299 * Return true if current running version is valid. Firmware signature and
1301 * execution context (driver/bios) must match. 1300 * execution context (driver/bios) must match.
1302 */ 1301 */
@@ -1305,7 +1304,7 @@ bfa_ioc_fwver_valid(struct bfa_ioc_s *ioc, u32 boot_env)
1305{ 1304{
1306 struct bfi_ioc_image_hdr_s fwhdr, *drv_fwhdr; 1305 struct bfi_ioc_image_hdr_s fwhdr, *drv_fwhdr;
1307 1306
1308 /** 1307 /*
1309 * If bios/efi boot (flash based) -- return true 1308 * If bios/efi boot (flash based) -- return true
1310 */ 1309 */
1311 if (bfa_ioc_is_bios_optrom(ioc)) 1310 if (bfa_ioc_is_bios_optrom(ioc))
@@ -1321,7 +1320,7 @@ bfa_ioc_fwver_valid(struct bfa_ioc_s *ioc, u32 boot_env)
1321 return BFA_FALSE; 1320 return BFA_FALSE;
1322 } 1321 }
1323 1322
1324 if (bfa_os_swap32(fwhdr.param) != boot_env) { 1323 if (swab32(fwhdr.param) != boot_env) {
1325 bfa_trc(ioc, fwhdr.param); 1324 bfa_trc(ioc, fwhdr.param);
1326 bfa_trc(ioc, boot_env); 1325 bfa_trc(ioc, boot_env);
1327 return BFA_FALSE; 1326 return BFA_FALSE;
@@ -1330,7 +1329,7 @@ bfa_ioc_fwver_valid(struct bfa_ioc_s *ioc, u32 boot_env)
1330 return bfa_ioc_fwver_cmp(ioc, &fwhdr); 1329 return bfa_ioc_fwver_cmp(ioc, &fwhdr);
1331} 1330}
1332 1331
1333/** 1332/*
1334 * Conditionally flush any pending message from firmware at start. 1333 * Conditionally flush any pending message from firmware at start.
1335 */ 1334 */
1336static void 1335static void
@@ -1338,9 +1337,9 @@ bfa_ioc_msgflush(struct bfa_ioc_s *ioc)
1338{ 1337{
1339 u32 r32; 1338 u32 r32;
1340 1339
1341 r32 = bfa_reg_read(ioc->ioc_regs.lpu_mbox_cmd); 1340 r32 = readl(ioc->ioc_regs.lpu_mbox_cmd);
1342 if (r32) 1341 if (r32)
1343 bfa_reg_write(ioc->ioc_regs.lpu_mbox_cmd, 1); 1342 writel(1, ioc->ioc_regs.lpu_mbox_cmd);
1344} 1343}
1345 1344
1346 1345
@@ -1352,7 +1351,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1352 u32 boot_type; 1351 u32 boot_type;
1353 u32 boot_env; 1352 u32 boot_env;
1354 1353
1355 ioc_fwstate = bfa_reg_read(ioc->ioc_regs.ioc_fwstate); 1354 ioc_fwstate = readl(ioc->ioc_regs.ioc_fwstate);
1356 1355
1357 if (force) 1356 if (force)
1358 ioc_fwstate = BFI_IOC_UNINIT; 1357 ioc_fwstate = BFI_IOC_UNINIT;
@@ -1362,7 +1361,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1362 boot_type = BFI_BOOT_TYPE_NORMAL; 1361 boot_type = BFI_BOOT_TYPE_NORMAL;
1363 boot_env = BFI_BOOT_LOADER_OS; 1362 boot_env = BFI_BOOT_LOADER_OS;
1364 1363
1365 /** 1364 /*
1366 * Flash based firmware boot BIOS env. 1365 * Flash based firmware boot BIOS env.
1367 */ 1366 */
1368 if (bfa_ioc_is_bios_optrom(ioc)) { 1367 if (bfa_ioc_is_bios_optrom(ioc)) {
@@ -1370,7 +1369,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1370 boot_env = BFI_BOOT_LOADER_BIOS; 1369 boot_env = BFI_BOOT_LOADER_BIOS;
1371 } 1370 }
1372 1371
1373 /** 1372 /*
1374 * Flash based firmware boot UEFI env. 1373 * Flash based firmware boot UEFI env.
1375 */ 1374 */
1376 if (bfa_ioc_is_uefi(ioc)) { 1375 if (bfa_ioc_is_uefi(ioc)) {
@@ -1378,7 +1377,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1378 boot_env = BFI_BOOT_LOADER_UEFI; 1377 boot_env = BFI_BOOT_LOADER_UEFI;
1379 } 1378 }
1380 1379
1381 /** 1380 /*
1382 * check if firmware is valid 1381 * check if firmware is valid
1383 */ 1382 */
1384 fwvalid = (ioc_fwstate == BFI_IOC_UNINIT) ? 1383 fwvalid = (ioc_fwstate == BFI_IOC_UNINIT) ?
@@ -1389,7 +1388,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1389 return; 1388 return;
1390 } 1389 }
1391 1390
1392 /** 1391 /*
1393 * If hardware initialization is in progress (initialized by other IOC), 1392 * If hardware initialization is in progress (initialized by other IOC),
1394 * just wait for an initialization completion interrupt. 1393 * just wait for an initialization completion interrupt.
1395 */ 1394 */
@@ -1398,7 +1397,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1398 return; 1397 return;
1399 } 1398 }
1400 1399
1401 /** 1400 /*
1402 * If IOC function is disabled and firmware version is same, 1401 * If IOC function is disabled and firmware version is same,
1403 * just re-enable IOC. 1402 * just re-enable IOC.
1404 * 1403 *
@@ -1409,7 +1408,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1409 if (ioc_fwstate == BFI_IOC_DISABLED || 1408 if (ioc_fwstate == BFI_IOC_DISABLED ||
1410 (!bfa_ioc_is_bios_optrom(ioc) && ioc_fwstate == BFI_IOC_OP)) { 1409 (!bfa_ioc_is_bios_optrom(ioc) && ioc_fwstate == BFI_IOC_OP)) {
1411 1410
1412 /** 1411 /*
1413 * When using MSI-X any pending firmware ready event should 1412 * When using MSI-X any pending firmware ready event should
1414 * be flushed. Otherwise MSI-X interrupts are not delivered. 1413 * be flushed. Otherwise MSI-X interrupts are not delivered.
1415 */ 1414 */
@@ -1419,7 +1418,7 @@ bfa_ioc_hwinit(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1419 return; 1418 return;
1420 } 1419 }
1421 1420
1422 /** 1421 /*
1423 * Initialize the h/w for any other states. 1422 * Initialize the h/w for any other states.
1424 */ 1423 */
1425 bfa_ioc_boot(ioc, boot_type, boot_env); 1424 bfa_ioc_boot(ioc, boot_type, boot_env);
@@ -1449,17 +1448,17 @@ bfa_ioc_mbox_send(struct bfa_ioc_s *ioc, void *ioc_msg, int len)
1449 * first write msg to mailbox registers 1448 * first write msg to mailbox registers
1450 */ 1449 */
1451 for (i = 0; i < len / sizeof(u32); i++) 1450 for (i = 0; i < len / sizeof(u32); i++)
1452 bfa_reg_write(ioc->ioc_regs.hfn_mbox + i * sizeof(u32), 1451 writel(cpu_to_le32(msgp[i]),
1453 bfa_os_wtole(msgp[i])); 1452 ioc->ioc_regs.hfn_mbox + i * sizeof(u32));
1454 1453
1455 for (; i < BFI_IOC_MSGLEN_MAX / sizeof(u32); i++) 1454 for (; i < BFI_IOC_MSGLEN_MAX / sizeof(u32); i++)
1456 bfa_reg_write(ioc->ioc_regs.hfn_mbox + i * sizeof(u32), 0); 1455 writel(0, ioc->ioc_regs.hfn_mbox + i * sizeof(u32));
1457 1456
1458 /* 1457 /*
1459 * write 1 to mailbox CMD to trigger LPU event 1458 * write 1 to mailbox CMD to trigger LPU event
1460 */ 1459 */
1461 bfa_reg_write(ioc->ioc_regs.hfn_mbox_cmd, 1); 1460 writel(1, ioc->ioc_regs.hfn_mbox_cmd);
1462 (void) bfa_reg_read(ioc->ioc_regs.hfn_mbox_cmd); 1461 (void) readl(ioc->ioc_regs.hfn_mbox_cmd);
1463} 1462}
1464 1463
1465static void 1464static void
@@ -1472,7 +1471,7 @@ bfa_ioc_send_enable(struct bfa_ioc_s *ioc)
1472 bfa_ioc_portid(ioc)); 1471 bfa_ioc_portid(ioc));
1473 enable_req.ioc_class = ioc->ioc_mc; 1472 enable_req.ioc_class = ioc->ioc_mc;
1474 bfa_os_gettimeofday(&tv); 1473 bfa_os_gettimeofday(&tv);
1475 enable_req.tv_sec = bfa_os_ntohl(tv.tv_sec); 1474 enable_req.tv_sec = be32_to_cpu(tv.tv_sec);
1476 bfa_ioc_mbox_send(ioc, &enable_req, sizeof(struct bfi_ioc_ctrl_req_s)); 1475 bfa_ioc_mbox_send(ioc, &enable_req, sizeof(struct bfi_ioc_ctrl_req_s));
1477} 1476}
1478 1477
@@ -1503,7 +1502,7 @@ bfa_ioc_hb_check(void *cbarg)
1503 struct bfa_ioc_s *ioc = cbarg; 1502 struct bfa_ioc_s *ioc = cbarg;
1504 u32 hb_count; 1503 u32 hb_count;
1505 1504
1506 hb_count = bfa_reg_read(ioc->ioc_regs.heartbeat); 1505 hb_count = readl(ioc->ioc_regs.heartbeat);
1507 if (ioc->hb_count == hb_count) { 1506 if (ioc->hb_count == hb_count) {
1508 printk(KERN_CRIT "Firmware heartbeat failure at %d", hb_count); 1507 printk(KERN_CRIT "Firmware heartbeat failure at %d", hb_count);
1509 bfa_ioc_recover(ioc); 1508 bfa_ioc_recover(ioc);
@@ -1519,7 +1518,7 @@ bfa_ioc_hb_check(void *cbarg)
1519static void 1518static void
1520bfa_ioc_hb_monitor(struct bfa_ioc_s *ioc) 1519bfa_ioc_hb_monitor(struct bfa_ioc_s *ioc)
1521{ 1520{
1522 ioc->hb_count = bfa_reg_read(ioc->ioc_regs.heartbeat); 1521 ioc->hb_count = readl(ioc->ioc_regs.heartbeat);
1523 bfa_hb_timer_start(ioc); 1522 bfa_hb_timer_start(ioc);
1524} 1523}
1525 1524
@@ -1530,7 +1529,7 @@ bfa_ioc_hb_stop(struct bfa_ioc_s *ioc)
1530} 1529}
1531 1530
1532 1531
1533/** 1532/*
1534 * Initiate a full firmware download. 1533 * Initiate a full firmware download.
1535 */ 1534 */
1536static void 1535static void
@@ -1543,7 +1542,7 @@ bfa_ioc_download_fw(struct bfa_ioc_s *ioc, u32 boot_type,
1543 u32 chunkno = 0; 1542 u32 chunkno = 0;
1544 u32 i; 1543 u32 i;
1545 1544
1546 /** 1545 /*
1547 * Initialize LMEM first before code download 1546 * Initialize LMEM first before code download
1548 */ 1547 */
1549 bfa_ioc_lmem_init(ioc); 1548 bfa_ioc_lmem_init(ioc);
@@ -1554,7 +1553,7 @@ bfa_ioc_download_fw(struct bfa_ioc_s *ioc, u32 boot_type,
1554 pgnum = bfa_ioc_smem_pgnum(ioc, loff); 1553 pgnum = bfa_ioc_smem_pgnum(ioc, loff);
1555 pgoff = bfa_ioc_smem_pgoff(ioc, loff); 1554 pgoff = bfa_ioc_smem_pgoff(ioc, loff);
1556 1555
1557 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, pgnum); 1556 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1558 1557
1559 for (i = 0; i < bfa_cb_image_get_size(BFA_IOC_FWIMG_TYPE(ioc)); i++) { 1558 for (i = 0; i < bfa_cb_image_get_size(BFA_IOC_FWIMG_TYPE(ioc)); i++) {
1560 1559
@@ -1564,7 +1563,7 @@ bfa_ioc_download_fw(struct bfa_ioc_s *ioc, u32 boot_type,
1564 BFA_IOC_FLASH_CHUNK_ADDR(chunkno)); 1563 BFA_IOC_FLASH_CHUNK_ADDR(chunkno));
1565 } 1564 }
1566 1565
1567 /** 1566 /*
1568 * write smem 1567 * write smem
1569 */ 1568 */
1570 bfa_mem_write(ioc->ioc_regs.smem_page_start, loff, 1569 bfa_mem_write(ioc->ioc_regs.smem_page_start, loff,
@@ -1572,27 +1571,25 @@ bfa_ioc_download_fw(struct bfa_ioc_s *ioc, u32 boot_type,
1572 1571
1573 loff += sizeof(u32); 1572 loff += sizeof(u32);
1574 1573
1575 /** 1574 /*
1576 * handle page offset wrap around 1575 * handle page offset wrap around
1577 */ 1576 */
1578 loff = PSS_SMEM_PGOFF(loff); 1577 loff = PSS_SMEM_PGOFF(loff);
1579 if (loff == 0) { 1578 if (loff == 0) {
1580 pgnum++; 1579 pgnum++;
1581 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, 1580 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1582 pgnum);
1583 } 1581 }
1584 } 1582 }
1585 1583
1586 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, 1584 writel(bfa_ioc_smem_pgnum(ioc, 0), ioc->ioc_regs.host_page_num_fn);
1587 bfa_ioc_smem_pgnum(ioc, 0));
1588 1585
1589 /* 1586 /*
1590 * Set boot type and boot param at the end. 1587 * Set boot type and boot param at the end.
1591 */ 1588 */
1592 bfa_mem_write(ioc->ioc_regs.smem_page_start, BFI_BOOT_TYPE_OFF, 1589 bfa_mem_write(ioc->ioc_regs.smem_page_start, BFI_BOOT_TYPE_OFF,
1593 bfa_os_swap32(boot_type)); 1590 swab32(boot_type));
1594 bfa_mem_write(ioc->ioc_regs.smem_page_start, BFI_BOOT_LOADER_OFF, 1591 bfa_mem_write(ioc->ioc_regs.smem_page_start, BFI_BOOT_LOADER_OFF,
1595 bfa_os_swap32(boot_env)); 1592 swab32(boot_env));
1596} 1593}
1597 1594
1598static void 1595static void
@@ -1601,7 +1598,7 @@ bfa_ioc_reset(struct bfa_ioc_s *ioc, bfa_boolean_t force)
1601 bfa_ioc_hwinit(ioc, force); 1598 bfa_ioc_hwinit(ioc, force);
1602} 1599}
1603 1600
1604/** 1601/*
1605 * Update BFA configuration from firmware configuration. 1602 * Update BFA configuration from firmware configuration.
1606 */ 1603 */
1607static void 1604static void
@@ -1609,14 +1606,14 @@ bfa_ioc_getattr_reply(struct bfa_ioc_s *ioc)
1609{ 1606{
1610 struct bfi_ioc_attr_s *attr = ioc->attr; 1607 struct bfi_ioc_attr_s *attr = ioc->attr;
1611 1608
1612 attr->adapter_prop = bfa_os_ntohl(attr->adapter_prop); 1609 attr->adapter_prop = be32_to_cpu(attr->adapter_prop);
1613 attr->card_type = bfa_os_ntohl(attr->card_type); 1610 attr->card_type = be32_to_cpu(attr->card_type);
1614 attr->maxfrsize = bfa_os_ntohs(attr->maxfrsize); 1611 attr->maxfrsize = be16_to_cpu(attr->maxfrsize);
1615 1612
1616 bfa_fsm_send_event(ioc, IOC_E_FWRSP_GETATTR); 1613 bfa_fsm_send_event(ioc, IOC_E_FWRSP_GETATTR);
1617} 1614}
1618 1615
1619/** 1616/*
1620 * Attach time initialization of mbox logic. 1617 * Attach time initialization of mbox logic.
1621 */ 1618 */
1622static void 1619static void
@@ -1632,7 +1629,7 @@ bfa_ioc_mbox_attach(struct bfa_ioc_s *ioc)
1632 } 1629 }
1633} 1630}
1634 1631
1635/** 1632/*
1636 * Mbox poll timer -- restarts any pending mailbox requests. 1633 * Mbox poll timer -- restarts any pending mailbox requests.
1637 */ 1634 */
1638static void 1635static void
@@ -1642,27 +1639,27 @@ bfa_ioc_mbox_poll(struct bfa_ioc_s *ioc)
1642 struct bfa_mbox_cmd_s *cmd; 1639 struct bfa_mbox_cmd_s *cmd;
1643 u32 stat; 1640 u32 stat;
1644 1641
1645 /** 1642 /*
1646 * If no command pending, do nothing 1643 * If no command pending, do nothing
1647 */ 1644 */
1648 if (list_empty(&mod->cmd_q)) 1645 if (list_empty(&mod->cmd_q))
1649 return; 1646 return;
1650 1647
1651 /** 1648 /*
1652 * If previous command is not yet fetched by firmware, do nothing 1649 * If previous command is not yet fetched by firmware, do nothing
1653 */ 1650 */
1654 stat = bfa_reg_read(ioc->ioc_regs.hfn_mbox_cmd); 1651 stat = readl(ioc->ioc_regs.hfn_mbox_cmd);
1655 if (stat) 1652 if (stat)
1656 return; 1653 return;
1657 1654
1658 /** 1655 /*
1659 * Enqueue command to firmware. 1656 * Enqueue command to firmware.
1660 */ 1657 */
1661 bfa_q_deq(&mod->cmd_q, &cmd); 1658 bfa_q_deq(&mod->cmd_q, &cmd);
1662 bfa_ioc_mbox_send(ioc, cmd->msg, sizeof(cmd->msg)); 1659 bfa_ioc_mbox_send(ioc, cmd->msg, sizeof(cmd->msg));
1663} 1660}
1664 1661
1665/** 1662/*
1666 * Cleanup any pending requests. 1663 * Cleanup any pending requests.
1667 */ 1664 */
1668static void 1665static void
@@ -1675,7 +1672,7 @@ bfa_ioc_mbox_hbfail(struct bfa_ioc_s *ioc)
1675 bfa_q_deq(&mod->cmd_q, &cmd); 1672 bfa_q_deq(&mod->cmd_q, &cmd);
1676} 1673}
1677 1674
1678/** 1675/*
1679 * Read data from SMEM to host through PCI memmap 1676 * Read data from SMEM to host through PCI memmap
1680 * 1677 *
1681 * @param[in] ioc memory for IOC 1678 * @param[in] ioc memory for IOC
@@ -1704,26 +1701,25 @@ bfa_ioc_smem_read(struct bfa_ioc_s *ioc, void *tbuf, u32 soff, u32 sz)
1704 return BFA_STATUS_FAILED; 1701 return BFA_STATUS_FAILED;
1705 } 1702 }
1706 1703
1707 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, pgnum); 1704 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1708 1705
1709 len = sz/sizeof(u32); 1706 len = sz/sizeof(u32);
1710 bfa_trc(ioc, len); 1707 bfa_trc(ioc, len);
1711 for (i = 0; i < len; i++) { 1708 for (i = 0; i < len; i++) {
1712 r32 = bfa_mem_read(ioc->ioc_regs.smem_page_start, loff); 1709 r32 = bfa_mem_read(ioc->ioc_regs.smem_page_start, loff);
1713 buf[i] = bfa_os_ntohl(r32); 1710 buf[i] = be32_to_cpu(r32);
1714 loff += sizeof(u32); 1711 loff += sizeof(u32);
1715 1712
1716 /** 1713 /*
1717 * handle page offset wrap around 1714 * handle page offset wrap around
1718 */ 1715 */
1719 loff = PSS_SMEM_PGOFF(loff); 1716 loff = PSS_SMEM_PGOFF(loff);
1720 if (loff == 0) { 1717 if (loff == 0) {
1721 pgnum++; 1718 pgnum++;
1722 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, pgnum); 1719 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1723 } 1720 }
1724 } 1721 }
1725 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, 1722 writel(bfa_ioc_smem_pgnum(ioc, 0), ioc->ioc_regs.host_page_num_fn);
1726 bfa_ioc_smem_pgnum(ioc, 0));
1727 /* 1723 /*
1728 * release semaphore. 1724 * release semaphore.
1729 */ 1725 */
@@ -1733,7 +1729,7 @@ bfa_ioc_smem_read(struct bfa_ioc_s *ioc, void *tbuf, u32 soff, u32 sz)
1733 return BFA_STATUS_OK; 1729 return BFA_STATUS_OK;
1734} 1730}
1735 1731
1736/** 1732/*
1737 * Clear SMEM data from host through PCI memmap 1733 * Clear SMEM data from host through PCI memmap
1738 * 1734 *
1739 * @param[in] ioc memory for IOC 1735 * @param[in] ioc memory for IOC
@@ -1760,7 +1756,7 @@ bfa_ioc_smem_clr(struct bfa_ioc_s *ioc, u32 soff, u32 sz)
1760 return BFA_STATUS_FAILED; 1756 return BFA_STATUS_FAILED;
1761 } 1757 }
1762 1758
1763 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, pgnum); 1759 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1764 1760
1765 len = sz/sizeof(u32); /* len in words */ 1761 len = sz/sizeof(u32); /* len in words */
1766 bfa_trc(ioc, len); 1762 bfa_trc(ioc, len);
@@ -1768,17 +1764,16 @@ bfa_ioc_smem_clr(struct bfa_ioc_s *ioc, u32 soff, u32 sz)
1768 bfa_mem_write(ioc->ioc_regs.smem_page_start, loff, 0); 1764 bfa_mem_write(ioc->ioc_regs.smem_page_start, loff, 0);
1769 loff += sizeof(u32); 1765 loff += sizeof(u32);
1770 1766
1771 /** 1767 /*
1772 * handle page offset wrap around 1768 * handle page offset wrap around
1773 */ 1769 */
1774 loff = PSS_SMEM_PGOFF(loff); 1770 loff = PSS_SMEM_PGOFF(loff);
1775 if (loff == 0) { 1771 if (loff == 0) {
1776 pgnum++; 1772 pgnum++;
1777 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, pgnum); 1773 writel(pgnum, ioc->ioc_regs.host_page_num_fn);
1778 } 1774 }
1779 } 1775 }
1780 bfa_reg_write(ioc->ioc_regs.host_page_num_fn, 1776 writel(bfa_ioc_smem_pgnum(ioc, 0), ioc->ioc_regs.host_page_num_fn);
1781 bfa_ioc_smem_pgnum(ioc, 0));
1782 1777
1783 /* 1778 /*
1784 * release semaphore. 1779 * release semaphore.
@@ -1788,7 +1783,7 @@ bfa_ioc_smem_clr(struct bfa_ioc_s *ioc, u32 soff, u32 sz)
1788 return BFA_STATUS_OK; 1783 return BFA_STATUS_OK;
1789} 1784}
1790 1785
1791/** 1786/*
1792 * hal iocpf to ioc interface 1787 * hal iocpf to ioc interface
1793 */ 1788 */
1794static void 1789static void
@@ -1813,7 +1808,7 @@ static void
1813bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc) 1808bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc)
1814{ 1809{
1815 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad; 1810 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad;
1816 /** 1811 /*
1817 * Provide enable completion callback. 1812 * Provide enable completion callback.
1818 */ 1813 */
1819 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); 1814 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE);
@@ -1824,7 +1819,7 @@ bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc)
1824 1819
1825 1820
1826 1821
1827/** 1822/*
1828 * hal_ioc_public 1823 * hal_ioc_public
1829 */ 1824 */
1830 1825
@@ -1848,43 +1843,43 @@ bfa_ioc_pll_init(struct bfa_ioc_s *ioc)
1848 return BFA_STATUS_OK; 1843 return BFA_STATUS_OK;
1849} 1844}
1850 1845
1851/** 1846/*
1852 * Interface used by diag module to do firmware boot with memory test 1847 * Interface used by diag module to do firmware boot with memory test
1853 * as the entry vector. 1848 * as the entry vector.
1854 */ 1849 */
1855void 1850void
1856bfa_ioc_boot(struct bfa_ioc_s *ioc, u32 boot_type, u32 boot_env) 1851bfa_ioc_boot(struct bfa_ioc_s *ioc, u32 boot_type, u32 boot_env)
1857{ 1852{
1858 bfa_os_addr_t rb; 1853 void __iomem *rb;
1859 1854
1860 bfa_ioc_stats(ioc, ioc_boots); 1855 bfa_ioc_stats(ioc, ioc_boots);
1861 1856
1862 if (bfa_ioc_pll_init(ioc) != BFA_STATUS_OK) 1857 if (bfa_ioc_pll_init(ioc) != BFA_STATUS_OK)
1863 return; 1858 return;
1864 1859
1865 /** 1860 /*
1866 * Initialize IOC state of all functions on a chip reset. 1861 * Initialize IOC state of all functions on a chip reset.
1867 */ 1862 */
1868 rb = ioc->pcidev.pci_bar_kva; 1863 rb = ioc->pcidev.pci_bar_kva;
1869 if (boot_type == BFI_BOOT_TYPE_MEMTEST) { 1864 if (boot_type == BFI_BOOT_TYPE_MEMTEST) {
1870 bfa_reg_write((rb + BFA_IOC0_STATE_REG), BFI_IOC_MEMTEST); 1865 writel(BFI_IOC_MEMTEST, (rb + BFA_IOC0_STATE_REG));
1871 bfa_reg_write((rb + BFA_IOC1_STATE_REG), BFI_IOC_MEMTEST); 1866 writel(BFI_IOC_MEMTEST, (rb + BFA_IOC1_STATE_REG));
1872 } else { 1867 } else {
1873 bfa_reg_write((rb + BFA_IOC0_STATE_REG), BFI_IOC_INITING); 1868 writel(BFI_IOC_INITING, (rb + BFA_IOC0_STATE_REG));
1874 bfa_reg_write((rb + BFA_IOC1_STATE_REG), BFI_IOC_INITING); 1869 writel(BFI_IOC_INITING, (rb + BFA_IOC1_STATE_REG));
1875 } 1870 }
1876 1871
1877 bfa_ioc_msgflush(ioc); 1872 bfa_ioc_msgflush(ioc);
1878 bfa_ioc_download_fw(ioc, boot_type, boot_env); 1873 bfa_ioc_download_fw(ioc, boot_type, boot_env);
1879 1874
1880 /** 1875 /*
1881 * Enable interrupts just before starting LPU 1876 * Enable interrupts just before starting LPU
1882 */ 1877 */
1883 ioc->cbfn->reset_cbfn(ioc->bfa); 1878 ioc->cbfn->reset_cbfn(ioc->bfa);
1884 bfa_ioc_lpu_start(ioc); 1879 bfa_ioc_lpu_start(ioc);
1885} 1880}
1886 1881
1887/** 1882/*
1888 * Enable/disable IOC failure auto recovery. 1883 * Enable/disable IOC failure auto recovery.
1889 */ 1884 */
1890void 1885void
@@ -1904,7 +1899,7 @@ bfa_ioc_is_operational(struct bfa_ioc_s *ioc)
1904bfa_boolean_t 1899bfa_boolean_t
1905bfa_ioc_is_initialized(struct bfa_ioc_s *ioc) 1900bfa_ioc_is_initialized(struct bfa_ioc_s *ioc)
1906{ 1901{
1907 u32 r32 = bfa_reg_read(ioc->ioc_regs.ioc_fwstate); 1902 u32 r32 = readl(ioc->ioc_regs.ioc_fwstate);
1908 1903
1909 return ((r32 != BFI_IOC_UNINIT) && 1904 return ((r32 != BFI_IOC_UNINIT) &&
1910 (r32 != BFI_IOC_INITING) && 1905 (r32 != BFI_IOC_INITING) &&
@@ -1918,21 +1913,21 @@ bfa_ioc_msgget(struct bfa_ioc_s *ioc, void *mbmsg)
1918 u32 r32; 1913 u32 r32;
1919 int i; 1914 int i;
1920 1915
1921 /** 1916 /*
1922 * read the MBOX msg 1917 * read the MBOX msg
1923 */ 1918 */
1924 for (i = 0; i < (sizeof(union bfi_ioc_i2h_msg_u) / sizeof(u32)); 1919 for (i = 0; i < (sizeof(union bfi_ioc_i2h_msg_u) / sizeof(u32));
1925 i++) { 1920 i++) {
1926 r32 = bfa_reg_read(ioc->ioc_regs.lpu_mbox + 1921 r32 = readl(ioc->ioc_regs.lpu_mbox +
1927 i * sizeof(u32)); 1922 i * sizeof(u32));
1928 msgp[i] = bfa_os_htonl(r32); 1923 msgp[i] = cpu_to_be32(r32);
1929 } 1924 }
1930 1925
1931 /** 1926 /*
1932 * turn off mailbox interrupt by clearing mailbox status 1927 * turn off mailbox interrupt by clearing mailbox status
1933 */ 1928 */
1934 bfa_reg_write(ioc->ioc_regs.lpu_mbox_cmd, 1); 1929 writel(1, ioc->ioc_regs.lpu_mbox_cmd);
1935 bfa_reg_read(ioc->ioc_regs.lpu_mbox_cmd); 1930 readl(ioc->ioc_regs.lpu_mbox_cmd);
1936} 1931}
1937 1932
1938void 1933void
@@ -1971,7 +1966,7 @@ bfa_ioc_isr(struct bfa_ioc_s *ioc, struct bfi_mbmsg_s *m)
1971 } 1966 }
1972} 1967}
1973 1968
1974/** 1969/*
1975 * IOC attach time initialization and setup. 1970 * IOC attach time initialization and setup.
1976 * 1971 *
1977 * @param[in] ioc memory for IOC 1972 * @param[in] ioc memory for IOC
@@ -1996,7 +1991,7 @@ bfa_ioc_attach(struct bfa_ioc_s *ioc, void *bfa, struct bfa_ioc_cbfn_s *cbfn,
1996 bfa_fsm_send_event(ioc, IOC_E_RESET); 1991 bfa_fsm_send_event(ioc, IOC_E_RESET);
1997} 1992}
1998 1993
1999/** 1994/*
2000 * Driver detach time IOC cleanup. 1995 * Driver detach time IOC cleanup.
2001 */ 1996 */
2002void 1997void
@@ -2005,7 +2000,7 @@ bfa_ioc_detach(struct bfa_ioc_s *ioc)
2005 bfa_fsm_send_event(ioc, IOC_E_DETACH); 2000 bfa_fsm_send_event(ioc, IOC_E_DETACH);
2006} 2001}
2007 2002
2008/** 2003/*
2009 * Setup IOC PCI properties. 2004 * Setup IOC PCI properties.
2010 * 2005 *
2011 * @param[in] pcidev PCI device information for this IOC 2006 * @param[in] pcidev PCI device information for this IOC
@@ -2019,7 +2014,7 @@ bfa_ioc_pci_init(struct bfa_ioc_s *ioc, struct bfa_pcidev_s *pcidev,
2019 ioc->ctdev = bfa_asic_id_ct(ioc->pcidev.device_id); 2014 ioc->ctdev = bfa_asic_id_ct(ioc->pcidev.device_id);
2020 ioc->cna = ioc->ctdev && !ioc->fcmode; 2015 ioc->cna = ioc->ctdev && !ioc->fcmode;
2021 2016
2022 /** 2017 /*
2023 * Set asic specific interfaces. See bfa_ioc_cb.c and bfa_ioc_ct.c 2018 * Set asic specific interfaces. See bfa_ioc_cb.c and bfa_ioc_ct.c
2024 */ 2019 */
2025 if (ioc->ctdev) 2020 if (ioc->ctdev)
@@ -2031,7 +2026,7 @@ bfa_ioc_pci_init(struct bfa_ioc_s *ioc, struct bfa_pcidev_s *pcidev,
2031 bfa_ioc_reg_init(ioc); 2026 bfa_ioc_reg_init(ioc);
2032} 2027}
2033 2028
2034/** 2029/*
2035 * Initialize IOC dma memory 2030 * Initialize IOC dma memory
2036 * 2031 *
2037 * @param[in] dm_kva kernel virtual address of IOC dma memory 2032 * @param[in] dm_kva kernel virtual address of IOC dma memory
@@ -2040,7 +2035,7 @@ bfa_ioc_pci_init(struct bfa_ioc_s *ioc, struct bfa_pcidev_s *pcidev,
2040void 2035void
2041bfa_ioc_mem_claim(struct bfa_ioc_s *ioc, u8 *dm_kva, u64 dm_pa) 2036bfa_ioc_mem_claim(struct bfa_ioc_s *ioc, u8 *dm_kva, u64 dm_pa)
2042{ 2037{
2043 /** 2038 /*
2044 * dma memory for firmware attribute 2039 * dma memory for firmware attribute
2045 */ 2040 */
2046 ioc->attr_dma.kva = dm_kva; 2041 ioc->attr_dma.kva = dm_kva;
@@ -2048,7 +2043,7 @@ bfa_ioc_mem_claim(struct bfa_ioc_s *ioc, u8 *dm_kva, u64 dm_pa)
2048 ioc->attr = (struct bfi_ioc_attr_s *) dm_kva; 2043 ioc->attr = (struct bfi_ioc_attr_s *) dm_kva;
2049} 2044}
2050 2045
2051/** 2046/*
2052 * Return size of dma memory required. 2047 * Return size of dma memory required.
2053 */ 2048 */
2054u32 2049u32
@@ -2073,7 +2068,7 @@ bfa_ioc_disable(struct bfa_ioc_s *ioc)
2073 bfa_fsm_send_event(ioc, IOC_E_DISABLE); 2068 bfa_fsm_send_event(ioc, IOC_E_DISABLE);
2074} 2069}
2075 2070
2076/** 2071/*
2077 * Returns memory required for saving firmware trace in case of crash. 2072 * Returns memory required for saving firmware trace in case of crash.
2078 * Driver must call this interface to allocate memory required for 2073 * Driver must call this interface to allocate memory required for
2079 * automatic saving of firmware trace. Driver should call 2074 * automatic saving of firmware trace. Driver should call
@@ -2086,7 +2081,7 @@ bfa_ioc_debug_trcsz(bfa_boolean_t auto_recover)
2086 return (auto_recover) ? BFA_DBG_FWTRC_LEN : 0; 2081 return (auto_recover) ? BFA_DBG_FWTRC_LEN : 0;
2087} 2082}
2088 2083
2089/** 2084/*
2090 * Initialize memory for saving firmware trace. Driver must initialize 2085 * Initialize memory for saving firmware trace. Driver must initialize
2091 * trace memory before call bfa_ioc_enable(). 2086 * trace memory before call bfa_ioc_enable().
2092 */ 2087 */
@@ -2109,7 +2104,7 @@ bfa_ioc_smem_pgoff(struct bfa_ioc_s *ioc, u32 fmaddr)
2109 return PSS_SMEM_PGOFF(fmaddr); 2104 return PSS_SMEM_PGOFF(fmaddr);
2110} 2105}
2111 2106
2112/** 2107/*
2113 * Register mailbox message handler functions 2108 * Register mailbox message handler functions
2114 * 2109 *
2115 * @param[in] ioc IOC instance 2110 * @param[in] ioc IOC instance
@@ -2125,7 +2120,7 @@ bfa_ioc_mbox_register(struct bfa_ioc_s *ioc, bfa_ioc_mbox_mcfunc_t *mcfuncs)
2125 mod->mbhdlr[mc].cbfn = mcfuncs[mc]; 2120 mod->mbhdlr[mc].cbfn = mcfuncs[mc];
2126} 2121}
2127 2122
2128/** 2123/*
2129 * Register mailbox message handler function, to be called by common modules 2124 * Register mailbox message handler function, to be called by common modules
2130 */ 2125 */
2131void 2126void
@@ -2138,7 +2133,7 @@ bfa_ioc_mbox_regisr(struct bfa_ioc_s *ioc, enum bfi_mclass mc,
2138 mod->mbhdlr[mc].cbarg = cbarg; 2133 mod->mbhdlr[mc].cbarg = cbarg;
2139} 2134}
2140 2135
2141/** 2136/*
2142 * Queue a mailbox command request to firmware. Waits if mailbox is busy. 2137 * Queue a mailbox command request to firmware. Waits if mailbox is busy.
2143 * Responsibility of caller to serialize 2138 * Responsibility of caller to serialize
2144 * 2139 *
@@ -2151,7 +2146,7 @@ bfa_ioc_mbox_queue(struct bfa_ioc_s *ioc, struct bfa_mbox_cmd_s *cmd)
2151 struct bfa_ioc_mbox_mod_s *mod = &ioc->mbox_mod; 2146 struct bfa_ioc_mbox_mod_s *mod = &ioc->mbox_mod;
2152 u32 stat; 2147 u32 stat;
2153 2148
2154 /** 2149 /*
2155 * If a previous command is pending, queue new command 2150 * If a previous command is pending, queue new command
2156 */ 2151 */
2157 if (!list_empty(&mod->cmd_q)) { 2152 if (!list_empty(&mod->cmd_q)) {
@@ -2159,22 +2154,22 @@ bfa_ioc_mbox_queue(struct bfa_ioc_s *ioc, struct bfa_mbox_cmd_s *cmd)
2159 return; 2154 return;
2160 } 2155 }
2161 2156
2162 /** 2157 /*
2163 * If mailbox is busy, queue command for poll timer 2158 * If mailbox is busy, queue command for poll timer
2164 */ 2159 */
2165 stat = bfa_reg_read(ioc->ioc_regs.hfn_mbox_cmd); 2160 stat = readl(ioc->ioc_regs.hfn_mbox_cmd);
2166 if (stat) { 2161 if (stat) {
2167 list_add_tail(&cmd->qe, &mod->cmd_q); 2162 list_add_tail(&cmd->qe, &mod->cmd_q);
2168 return; 2163 return;
2169 } 2164 }
2170 2165
2171 /** 2166 /*
2172 * mailbox is free -- queue command to firmware 2167 * mailbox is free -- queue command to firmware
2173 */ 2168 */
2174 bfa_ioc_mbox_send(ioc, cmd->msg, sizeof(cmd->msg)); 2169 bfa_ioc_mbox_send(ioc, cmd->msg, sizeof(cmd->msg));
2175} 2170}
2176 2171
2177/** 2172/*
2178 * Handle mailbox interrupts 2173 * Handle mailbox interrupts
2179 */ 2174 */
2180void 2175void
@@ -2186,7 +2181,7 @@ bfa_ioc_mbox_isr(struct bfa_ioc_s *ioc)
2186 2181
2187 bfa_ioc_msgget(ioc, &m); 2182 bfa_ioc_msgget(ioc, &m);
2188 2183
2189 /** 2184 /*
2190 * Treat IOC message class as special. 2185 * Treat IOC message class as special.
2191 */ 2186 */
2192 mc = m.mh.msg_class; 2187 mc = m.mh.msg_class;
@@ -2214,7 +2209,7 @@ bfa_ioc_set_fcmode(struct bfa_ioc_s *ioc)
2214 ioc->port_id = bfa_ioc_pcifn(ioc); 2209 ioc->port_id = bfa_ioc_pcifn(ioc);
2215} 2210}
2216 2211
2217/** 2212/*
2218 * return true if IOC is disabled 2213 * return true if IOC is disabled
2219 */ 2214 */
2220bfa_boolean_t 2215bfa_boolean_t
@@ -2224,7 +2219,7 @@ bfa_ioc_is_disabled(struct bfa_ioc_s *ioc)
2224 bfa_fsm_cmp_state(ioc, bfa_ioc_sm_disabled); 2219 bfa_fsm_cmp_state(ioc, bfa_ioc_sm_disabled);
2225} 2220}
2226 2221
2227/** 2222/*
2228 * return true if IOC firmware is different. 2223 * return true if IOC firmware is different.
2229 */ 2224 */
2230bfa_boolean_t 2225bfa_boolean_t
@@ -2243,7 +2238,7 @@ bfa_ioc_fw_mismatch(struct bfa_ioc_s *ioc)
2243 ((__sm) == BFI_IOC_FAIL) || \ 2238 ((__sm) == BFI_IOC_FAIL) || \
2244 ((__sm) == BFI_IOC_CFG_DISABLED)) 2239 ((__sm) == BFI_IOC_CFG_DISABLED))
2245 2240
2246/** 2241/*
2247 * Check if adapter is disabled -- both IOCs should be in a disabled 2242 * Check if adapter is disabled -- both IOCs should be in a disabled
2248 * state. 2243 * state.
2249 */ 2244 */
@@ -2251,17 +2246,17 @@ bfa_boolean_t
2251bfa_ioc_adapter_is_disabled(struct bfa_ioc_s *ioc) 2246bfa_ioc_adapter_is_disabled(struct bfa_ioc_s *ioc)
2252{ 2247{
2253 u32 ioc_state; 2248 u32 ioc_state;
2254 bfa_os_addr_t rb = ioc->pcidev.pci_bar_kva; 2249 void __iomem *rb = ioc->pcidev.pci_bar_kva;
2255 2250
2256 if (!bfa_fsm_cmp_state(ioc, bfa_ioc_sm_disabled)) 2251 if (!bfa_fsm_cmp_state(ioc, bfa_ioc_sm_disabled))
2257 return BFA_FALSE; 2252 return BFA_FALSE;
2258 2253
2259 ioc_state = bfa_reg_read(rb + BFA_IOC0_STATE_REG); 2254 ioc_state = readl(rb + BFA_IOC0_STATE_REG);
2260 if (!bfa_ioc_state_disabled(ioc_state)) 2255 if (!bfa_ioc_state_disabled(ioc_state))
2261 return BFA_FALSE; 2256 return BFA_FALSE;
2262 2257
2263 if (ioc->pcidev.device_id != BFA_PCI_DEVICE_ID_FC_8G1P) { 2258 if (ioc->pcidev.device_id != BFA_PCI_DEVICE_ID_FC_8G1P) {
2264 ioc_state = bfa_reg_read(rb + BFA_IOC1_STATE_REG); 2259 ioc_state = readl(rb + BFA_IOC1_STATE_REG);
2265 if (!bfa_ioc_state_disabled(ioc_state)) 2260 if (!bfa_ioc_state_disabled(ioc_state))
2266 return BFA_FALSE; 2261 return BFA_FALSE;
2267 } 2262 }
@@ -2269,7 +2264,7 @@ bfa_ioc_adapter_is_disabled(struct bfa_ioc_s *ioc)
2269 return BFA_TRUE; 2264 return BFA_TRUE;
2270} 2265}
2271 2266
2272/** 2267/*
2273 * Add to IOC heartbeat failure notification queue. To be used by common 2268 * Add to IOC heartbeat failure notification queue. To be used by common
2274 * modules such as cee, port, diag. 2269 * modules such as cee, port, diag.
2275 */ 2270 */
@@ -2293,7 +2288,7 @@ bfa_ioc_get_adapter_attr(struct bfa_ioc_s *ioc,
2293 bfa_ioc_get_adapter_fw_ver(ioc, ad_attr->fw_ver); 2288 bfa_ioc_get_adapter_fw_ver(ioc, ad_attr->fw_ver);
2294 bfa_ioc_get_adapter_optrom_ver(ioc, ad_attr->optrom_ver); 2289 bfa_ioc_get_adapter_optrom_ver(ioc, ad_attr->optrom_ver);
2295 bfa_ioc_get_adapter_manufacturer(ioc, ad_attr->manufacturer); 2290 bfa_ioc_get_adapter_manufacturer(ioc, ad_attr->manufacturer);
2296 bfa_os_memcpy(&ad_attr->vpd, &ioc_attr->vpd, 2291 memcpy(&ad_attr->vpd, &ioc_attr->vpd,
2297 sizeof(struct bfa_mfg_vpd_s)); 2292 sizeof(struct bfa_mfg_vpd_s));
2298 2293
2299 ad_attr->nports = bfa_ioc_get_nports(ioc); 2294 ad_attr->nports = bfa_ioc_get_nports(ioc);
@@ -2343,8 +2338,8 @@ bfa_ioc_get_type(struct bfa_ioc_s *ioc)
2343void 2338void
2344bfa_ioc_get_adapter_serial_num(struct bfa_ioc_s *ioc, char *serial_num) 2339bfa_ioc_get_adapter_serial_num(struct bfa_ioc_s *ioc, char *serial_num)
2345{ 2340{
2346 bfa_os_memset((void *)serial_num, 0, BFA_ADAPTER_SERIAL_NUM_LEN); 2341 memset((void *)serial_num, 0, BFA_ADAPTER_SERIAL_NUM_LEN);
2347 bfa_os_memcpy((void *)serial_num, 2342 memcpy((void *)serial_num,
2348 (void *)ioc->attr->brcd_serialnum, 2343 (void *)ioc->attr->brcd_serialnum,
2349 BFA_ADAPTER_SERIAL_NUM_LEN); 2344 BFA_ADAPTER_SERIAL_NUM_LEN);
2350} 2345}
@@ -2352,8 +2347,8 @@ bfa_ioc_get_adapter_serial_num(struct bfa_ioc_s *ioc, char *serial_num)
2352void 2347void
2353bfa_ioc_get_adapter_fw_ver(struct bfa_ioc_s *ioc, char *fw_ver) 2348bfa_ioc_get_adapter_fw_ver(struct bfa_ioc_s *ioc, char *fw_ver)
2354{ 2349{
2355 bfa_os_memset((void *)fw_ver, 0, BFA_VERSION_LEN); 2350 memset((void *)fw_ver, 0, BFA_VERSION_LEN);
2356 bfa_os_memcpy(fw_ver, ioc->attr->fw_version, BFA_VERSION_LEN); 2351 memcpy(fw_ver, ioc->attr->fw_version, BFA_VERSION_LEN);
2357} 2352}
2358 2353
2359void 2354void
@@ -2361,7 +2356,7 @@ bfa_ioc_get_pci_chip_rev(struct bfa_ioc_s *ioc, char *chip_rev)
2361{ 2356{
2362 bfa_assert(chip_rev); 2357 bfa_assert(chip_rev);
2363 2358
2364 bfa_os_memset((void *)chip_rev, 0, BFA_IOC_CHIP_REV_LEN); 2359 memset((void *)chip_rev, 0, BFA_IOC_CHIP_REV_LEN);
2365 2360
2366 chip_rev[0] = 'R'; 2361 chip_rev[0] = 'R';
2367 chip_rev[1] = 'e'; 2362 chip_rev[1] = 'e';
@@ -2374,16 +2369,16 @@ bfa_ioc_get_pci_chip_rev(struct bfa_ioc_s *ioc, char *chip_rev)
2374void 2369void
2375bfa_ioc_get_adapter_optrom_ver(struct bfa_ioc_s *ioc, char *optrom_ver) 2370bfa_ioc_get_adapter_optrom_ver(struct bfa_ioc_s *ioc, char *optrom_ver)
2376{ 2371{
2377 bfa_os_memset((void *)optrom_ver, 0, BFA_VERSION_LEN); 2372 memset((void *)optrom_ver, 0, BFA_VERSION_LEN);
2378 bfa_os_memcpy(optrom_ver, ioc->attr->optrom_version, 2373 memcpy(optrom_ver, ioc->attr->optrom_version,
2379 BFA_VERSION_LEN); 2374 BFA_VERSION_LEN);
2380} 2375}
2381 2376
2382void 2377void
2383bfa_ioc_get_adapter_manufacturer(struct bfa_ioc_s *ioc, char *manufacturer) 2378bfa_ioc_get_adapter_manufacturer(struct bfa_ioc_s *ioc, char *manufacturer)
2384{ 2379{
2385 bfa_os_memset((void *)manufacturer, 0, BFA_ADAPTER_MFG_NAME_LEN); 2380 memset((void *)manufacturer, 0, BFA_ADAPTER_MFG_NAME_LEN);
2386 bfa_os_memcpy(manufacturer, BFA_MFG_NAME, BFA_ADAPTER_MFG_NAME_LEN); 2381 memcpy(manufacturer, BFA_MFG_NAME, BFA_ADAPTER_MFG_NAME_LEN);
2387} 2382}
2388 2383
2389void 2384void
@@ -2392,14 +2387,14 @@ bfa_ioc_get_adapter_model(struct bfa_ioc_s *ioc, char *model)
2392 struct bfi_ioc_attr_s *ioc_attr; 2387 struct bfi_ioc_attr_s *ioc_attr;
2393 2388
2394 bfa_assert(model); 2389 bfa_assert(model);
2395 bfa_os_memset((void *)model, 0, BFA_ADAPTER_MODEL_NAME_LEN); 2390 memset((void *)model, 0, BFA_ADAPTER_MODEL_NAME_LEN);
2396 2391
2397 ioc_attr = ioc->attr; 2392 ioc_attr = ioc->attr;
2398 2393
2399 /** 2394 /*
2400 * model name 2395 * model name
2401 */ 2396 */
2402 bfa_os_snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u", 2397 snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u",
2403 BFA_MFG_NAME, ioc_attr->card_type); 2398 BFA_MFG_NAME, ioc_attr->card_type);
2404} 2399}
2405 2400
@@ -2446,7 +2441,7 @@ bfa_ioc_get_state(struct bfa_ioc_s *ioc)
2446void 2441void
2447bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr) 2442bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr)
2448{ 2443{
2449 bfa_os_memset((void *)ioc_attr, 0, sizeof(struct bfa_ioc_attr_s)); 2444 memset((void *)ioc_attr, 0, sizeof(struct bfa_ioc_attr_s));
2450 2445
2451 ioc_attr->state = bfa_ioc_get_state(ioc); 2446 ioc_attr->state = bfa_ioc_get_state(ioc);
2452 ioc_attr->port_id = ioc->port_id; 2447 ioc_attr->port_id = ioc->port_id;
@@ -2460,7 +2455,7 @@ bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr)
2460 bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev); 2455 bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev);
2461} 2456}
2462 2457
2463/** 2458/*
2464 * hal_wwn_public 2459 * hal_wwn_public
2465 */ 2460 */
2466wwn_t 2461wwn_t
@@ -2526,7 +2521,7 @@ bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc)
2526 return ioc->fcmode || !bfa_asic_id_ct(ioc->pcidev.device_id); 2521 return ioc->fcmode || !bfa_asic_id_ct(ioc->pcidev.device_id);
2527} 2522}
2528 2523
2529/** 2524/*
2530 * Retrieve saved firmware trace from a prior IOC failure. 2525 * Retrieve saved firmware trace from a prior IOC failure.
2531 */ 2526 */
2532bfa_status_t 2527bfa_status_t
@@ -2541,12 +2536,12 @@ bfa_ioc_debug_fwsave(struct bfa_ioc_s *ioc, void *trcdata, int *trclen)
2541 if (tlen > ioc->dbg_fwsave_len) 2536 if (tlen > ioc->dbg_fwsave_len)
2542 tlen = ioc->dbg_fwsave_len; 2537 tlen = ioc->dbg_fwsave_len;
2543 2538
2544 bfa_os_memcpy(trcdata, ioc->dbg_fwsave, tlen); 2539 memcpy(trcdata, ioc->dbg_fwsave, tlen);
2545 *trclen = tlen; 2540 *trclen = tlen;
2546 return BFA_STATUS_OK; 2541 return BFA_STATUS_OK;
2547} 2542}
2548 2543
2549/** 2544/*
2550 * Clear saved firmware trace 2545 * Clear saved firmware trace
2551 */ 2546 */
2552void 2547void
@@ -2555,7 +2550,7 @@ bfa_ioc_debug_fwsave_clear(struct bfa_ioc_s *ioc)
2555 ioc->dbg_fwsave_once = BFA_TRUE; 2550 ioc->dbg_fwsave_once = BFA_TRUE;
2556} 2551}
2557 2552
2558/** 2553/*
2559 * Retrieve saved firmware trace from a prior IOC failure. 2554 * Retrieve saved firmware trace from a prior IOC failure.
2560 */ 2555 */
2561bfa_status_t 2556bfa_status_t
@@ -2595,7 +2590,7 @@ bfa_ioc_fwsync(struct bfa_ioc_s *ioc)
2595 2590
2596 bfa_ioc_send_fwsync(ioc); 2591 bfa_ioc_send_fwsync(ioc);
2597 2592
2598 /** 2593 /*
2599 * After sending a fw sync mbox command wait for it to 2594 * After sending a fw sync mbox command wait for it to
2600 * take effect. We will not wait for a response because 2595 * take effect. We will not wait for a response because
2601 * 1. fw_sync mbox cmd doesn't have a response. 2596 * 1. fw_sync mbox cmd doesn't have a response.
@@ -2610,7 +2605,7 @@ bfa_ioc_fwsync(struct bfa_ioc_s *ioc)
2610 fwsync_iter--; 2605 fwsync_iter--;
2611} 2606}
2612 2607
2613/** 2608/*
2614 * Dump firmware smem 2609 * Dump firmware smem
2615 */ 2610 */
2616bfa_status_t 2611bfa_status_t
@@ -2630,7 +2625,7 @@ bfa_ioc_debug_fwcore(struct bfa_ioc_s *ioc, void *buf,
2630 loff = *offset; 2625 loff = *offset;
2631 dlen = *buflen; 2626 dlen = *buflen;
2632 2627
2633 /** 2628 /*
2634 * First smem read, sync smem before proceeding 2629 * First smem read, sync smem before proceeding
2635 * No need to sync before reading every chunk. 2630 * No need to sync before reading every chunk.
2636 */ 2631 */
@@ -2657,7 +2652,7 @@ bfa_ioc_debug_fwcore(struct bfa_ioc_s *ioc, void *buf,
2657 return status; 2652 return status;
2658} 2653}
2659 2654
2660/** 2655/*
2661 * Firmware statistics 2656 * Firmware statistics
2662 */ 2657 */
2663bfa_status_t 2658bfa_status_t
@@ -2702,7 +2697,7 @@ bfa_ioc_fw_stats_clear(struct bfa_ioc_s *ioc)
2702 return status; 2697 return status;
2703} 2698}
2704 2699
2705/** 2700/*
2706 * Save firmware trace if configured. 2701 * Save firmware trace if configured.
2707 */ 2702 */
2708static void 2703static void
@@ -2716,7 +2711,7 @@ bfa_ioc_debug_save(struct bfa_ioc_s *ioc)
2716 } 2711 }
2717} 2712}
2718 2713
2719/** 2714/*
2720 * Firmware failure detected. Start recovery actions. 2715 * Firmware failure detected. Start recovery actions.
2721 */ 2716 */
2722static void 2717static void
@@ -2738,7 +2733,7 @@ bfa_ioc_check_attr_wwns(struct bfa_ioc_s *ioc)
2738 return; 2733 return;
2739} 2734}
2740 2735
2741/** 2736/*
2742 * hal_iocpf_pvt BFA IOC PF private functions 2737 * hal_iocpf_pvt BFA IOC PF private functions
2743 */ 2738 */
2744 2739
@@ -2795,7 +2790,7 @@ bfa_iocpf_sem_timeout(void *ioc_arg)
2795 bfa_ioc_hw_sem_get(ioc); 2790 bfa_ioc_hw_sem_get(ioc);
2796} 2791}
2797 2792
2798/** 2793/*
2799 * bfa timer function 2794 * bfa timer function
2800 */ 2795 */
2801void 2796void
@@ -2840,7 +2835,7 @@ bfa_timer_beat(struct bfa_timer_mod_s *mod)
2840 } 2835 }
2841} 2836}
2842 2837
2843/** 2838/*
2844 * Should be called with lock protection 2839 * Should be called with lock protection
2845 */ 2840 */
2846void 2841void
@@ -2858,7 +2853,7 @@ bfa_timer_begin(struct bfa_timer_mod_s *mod, struct bfa_timer_s *timer,
2858 list_add_tail(&timer->qe, &mod->timer_q); 2853 list_add_tail(&timer->qe, &mod->timer_q);
2859} 2854}
2860 2855
2861/** 2856/*
2862 * Should be called with lock protection 2857 * Should be called with lock protection
2863 */ 2858 */
2864void 2859void
diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h
index 288c5801aace..9c407a87a1a1 100644
--- a/drivers/scsi/bfa/bfa_ioc.h
+++ b/drivers/scsi/bfa/bfa_ioc.h
@@ -22,29 +22,29 @@
22#include "bfa_cs.h" 22#include "bfa_cs.h"
23#include "bfi.h" 23#include "bfi.h"
24 24
25/** 25/*
26 * BFA timer declarations 26 * BFA timer declarations
27 */ 27 */
28typedef void (*bfa_timer_cbfn_t)(void *); 28typedef void (*bfa_timer_cbfn_t)(void *);
29 29
30/** 30/*
31 * BFA timer data structure 31 * BFA timer data structure
32 */ 32 */
33struct bfa_timer_s { 33struct bfa_timer_s {
34 struct list_head qe; 34 struct list_head qe;
35 bfa_timer_cbfn_t timercb; 35 bfa_timer_cbfn_t timercb;
36 void *arg; 36 void *arg;
37 int timeout; /**< in millisecs. */ 37 int timeout; /* in millisecs */
38}; 38};
39 39
40/** 40/*
41 * Timer module structure 41 * Timer module structure
42 */ 42 */
43struct bfa_timer_mod_s { 43struct bfa_timer_mod_s {
44 struct list_head timer_q; 44 struct list_head timer_q;
45}; 45};
46 46
47#define BFA_TIMER_FREQ 200 /**< specified in millisecs */ 47#define BFA_TIMER_FREQ 200 /* specified in millisecs */
48 48
49void bfa_timer_beat(struct bfa_timer_mod_s *mod); 49void bfa_timer_beat(struct bfa_timer_mod_s *mod);
50void bfa_timer_init(struct bfa_timer_mod_s *mod); 50void bfa_timer_init(struct bfa_timer_mod_s *mod);
@@ -53,7 +53,7 @@ void bfa_timer_begin(struct bfa_timer_mod_s *mod, struct bfa_timer_s *timer,
53 unsigned int timeout); 53 unsigned int timeout);
54void bfa_timer_stop(struct bfa_timer_s *timer); 54void bfa_timer_stop(struct bfa_timer_s *timer);
55 55
56/** 56/*
57 * Generic Scatter Gather Element used by driver 57 * Generic Scatter Gather Element used by driver
58 */ 58 */
59struct bfa_sge_s { 59struct bfa_sge_s {
@@ -62,9 +62,9 @@ struct bfa_sge_s {
62}; 62};
63 63
64#define bfa_sge_word_swap(__sge) do { \ 64#define bfa_sge_word_swap(__sge) do { \
65 ((u32 *)(__sge))[0] = bfa_os_swap32(((u32 *)(__sge))[0]); \ 65 ((u32 *)(__sge))[0] = swab32(((u32 *)(__sge))[0]); \
66 ((u32 *)(__sge))[1] = bfa_os_swap32(((u32 *)(__sge))[1]); \ 66 ((u32 *)(__sge))[1] = swab32(((u32 *)(__sge))[1]); \
67 ((u32 *)(__sge))[2] = bfa_os_swap32(((u32 *)(__sge))[2]); \ 67 ((u32 *)(__sge))[2] = swab32(((u32 *)(__sge))[2]); \
68} while (0) 68} while (0)
69 69
70#define bfa_swap_words(_x) ( \ 70#define bfa_swap_words(_x) ( \
@@ -80,17 +80,17 @@ struct bfa_sge_s {
80#define bfa_sgaddr_le(_x) (_x) 80#define bfa_sgaddr_le(_x) (_x)
81#endif 81#endif
82 82
83/** 83/*
84 * PCI device information required by IOC 84 * PCI device information required by IOC
85 */ 85 */
86struct bfa_pcidev_s { 86struct bfa_pcidev_s {
87 int pci_slot; 87 int pci_slot;
88 u8 pci_func; 88 u8 pci_func;
89 u16 device_id; 89 u16 device_id;
90 bfa_os_addr_t pci_bar_kva; 90 void __iomem *pci_bar_kva;
91}; 91};
92 92
93/** 93/*
94 * Structure used to remember the DMA-able memory block's KVA and Physical 94 * Structure used to remember the DMA-able memory block's KVA and Physical
95 * Address 95 * Address
96 */ 96 */
@@ -102,7 +102,7 @@ struct bfa_dma_s {
102#define BFA_DMA_ALIGN_SZ 256 102#define BFA_DMA_ALIGN_SZ 256
103#define BFA_ROUNDUP(_l, _s) (((_l) + ((_s) - 1)) & ~((_s) - 1)) 103#define BFA_ROUNDUP(_l, _s) (((_l) + ((_s) - 1)) & ~((_s) - 1))
104 104
105/** 105/*
106 * smem size for Crossbow and Catapult 106 * smem size for Crossbow and Catapult
107 */ 107 */
108#define BFI_SMEM_CB_SIZE 0x200000U /* ! 2MB for crossbow */ 108#define BFI_SMEM_CB_SIZE 0x200000U /* ! 2MB for crossbow */
@@ -125,40 +125,38 @@ __bfa_dma_addr_set(union bfi_addr_u *dma_addr, u64 pa)
125static inline void 125static inline void
126__bfa_dma_be_addr_set(union bfi_addr_u *dma_addr, u64 pa) 126__bfa_dma_be_addr_set(union bfi_addr_u *dma_addr, u64 pa)
127{ 127{
128 dma_addr->a32.addr_lo = (u32) bfa_os_htonl(pa); 128 dma_addr->a32.addr_lo = (u32) cpu_to_be32(pa);
129 dma_addr->a32.addr_hi = (u32) bfa_os_htonl(bfa_os_u32(pa)); 129 dma_addr->a32.addr_hi = (u32) cpu_to_be32(bfa_os_u32(pa));
130} 130}
131 131
132struct bfa_ioc_regs_s { 132struct bfa_ioc_regs_s {
133 bfa_os_addr_t hfn_mbox_cmd; 133 void __iomem *hfn_mbox_cmd;
134 bfa_os_addr_t hfn_mbox; 134 void __iomem *hfn_mbox;
135 bfa_os_addr_t lpu_mbox_cmd; 135 void __iomem *lpu_mbox_cmd;
136 bfa_os_addr_t lpu_mbox; 136 void __iomem *lpu_mbox;
137 bfa_os_addr_t pss_ctl_reg; 137 void __iomem *pss_ctl_reg;
138 bfa_os_addr_t pss_err_status_reg; 138 void __iomem *pss_err_status_reg;
139 bfa_os_addr_t app_pll_fast_ctl_reg; 139 void __iomem *app_pll_fast_ctl_reg;
140 bfa_os_addr_t app_pll_slow_ctl_reg; 140 void __iomem *app_pll_slow_ctl_reg;
141 bfa_os_addr_t ioc_sem_reg; 141 void __iomem *ioc_sem_reg;
142 bfa_os_addr_t ioc_usage_sem_reg; 142 void __iomem *ioc_usage_sem_reg;
143 bfa_os_addr_t ioc_init_sem_reg; 143 void __iomem *ioc_init_sem_reg;
144 bfa_os_addr_t ioc_usage_reg; 144 void __iomem *ioc_usage_reg;
145 bfa_os_addr_t host_page_num_fn; 145 void __iomem *host_page_num_fn;
146 bfa_os_addr_t heartbeat; 146 void __iomem *heartbeat;
147 bfa_os_addr_t ioc_fwstate; 147 void __iomem *ioc_fwstate;
148 bfa_os_addr_t ll_halt; 148 void __iomem *ll_halt;
149 bfa_os_addr_t err_set; 149 void __iomem *err_set;
150 bfa_os_addr_t shirq_isr_next; 150 void __iomem *shirq_isr_next;
151 bfa_os_addr_t shirq_msk_next; 151 void __iomem *shirq_msk_next;
152 bfa_os_addr_t smem_page_start; 152 void __iomem *smem_page_start;
153 u32 smem_pg0; 153 u32 smem_pg0;
154}; 154};
155 155
156#define bfa_reg_read(_raddr) bfa_os_reg_read(_raddr) 156#define bfa_mem_read(_raddr, _off) swab32(readl(((_raddr) + (_off))))
157#define bfa_reg_write(_raddr, _val) bfa_os_reg_write(_raddr, _val)
158#define bfa_mem_read(_raddr, _off) bfa_os_mem_read(_raddr, _off)
159#define bfa_mem_write(_raddr, _off, _val) \ 157#define bfa_mem_write(_raddr, _off, _val) \
160 bfa_os_mem_write(_raddr, _off, _val) 158 writel(swab32((_val)), ((_raddr) + (_off)))
161/** 159/*
162 * IOC Mailbox structures 160 * IOC Mailbox structures
163 */ 161 */
164struct bfa_mbox_cmd_s { 162struct bfa_mbox_cmd_s {
@@ -166,7 +164,7 @@ struct bfa_mbox_cmd_s {
166 u32 msg[BFI_IOC_MSGSZ]; 164 u32 msg[BFI_IOC_MSGSZ];
167}; 165};
168 166
169/** 167/*
170 * IOC mailbox module 168 * IOC mailbox module
171 */ 169 */
172typedef void (*bfa_ioc_mbox_mcfunc_t)(void *cbarg, struct bfi_mbmsg_s *m); 170typedef void (*bfa_ioc_mbox_mcfunc_t)(void *cbarg, struct bfi_mbmsg_s *m);
@@ -179,7 +177,7 @@ struct bfa_ioc_mbox_mod_s {
179 } mbhdlr[BFI_MC_MAX]; 177 } mbhdlr[BFI_MC_MAX];
180}; 178};
181 179
182/** 180/*
183 * IOC callback function interfaces 181 * IOC callback function interfaces
184 */ 182 */
185typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status); 183typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status);
@@ -193,7 +191,7 @@ struct bfa_ioc_cbfn_s {
193 bfa_ioc_reset_cbfn_t reset_cbfn; 191 bfa_ioc_reset_cbfn_t reset_cbfn;
194}; 192};
195 193
196/** 194/*
197 * Heartbeat failure notification queue element. 195 * Heartbeat failure notification queue element.
198 */ 196 */
199struct bfa_ioc_hbfail_notify_s { 197struct bfa_ioc_hbfail_notify_s {
@@ -202,7 +200,7 @@ struct bfa_ioc_hbfail_notify_s {
202 void *cbarg; 200 void *cbarg;
203}; 201};
204 202
205/** 203/*
206 * Initialize a heartbeat failure notification structure 204 * Initialize a heartbeat failure notification structure
207 */ 205 */
208#define bfa_ioc_hbfail_init(__notify, __cbfn, __cbarg) do { \ 206#define bfa_ioc_hbfail_init(__notify, __cbfn, __cbarg) do { \
@@ -249,7 +247,7 @@ struct bfa_ioc_s {
249}; 247};
250 248
251struct bfa_ioc_hwif_s { 249struct bfa_ioc_hwif_s {
252 bfa_status_t (*ioc_pll_init) (bfa_os_addr_t rb, bfa_boolean_t fcmode); 250 bfa_status_t (*ioc_pll_init) (void __iomem *rb, bfa_boolean_t fcmode);
253 bfa_boolean_t (*ioc_firmware_lock) (struct bfa_ioc_s *ioc); 251 bfa_boolean_t (*ioc_firmware_lock) (struct bfa_ioc_s *ioc);
254 void (*ioc_firmware_unlock) (struct bfa_ioc_s *ioc); 252 void (*ioc_firmware_unlock) (struct bfa_ioc_s *ioc);
255 void (*ioc_reg_init) (struct bfa_ioc_s *ioc); 253 void (*ioc_reg_init) (struct bfa_ioc_s *ioc);
@@ -267,7 +265,7 @@ struct bfa_ioc_hwif_s {
267#define bfa_ioc_fetch_stats(__ioc, __stats) \ 265#define bfa_ioc_fetch_stats(__ioc, __stats) \
268 (((__stats)->drv_stats) = (__ioc)->stats) 266 (((__stats)->drv_stats) = (__ioc)->stats)
269#define bfa_ioc_clr_stats(__ioc) \ 267#define bfa_ioc_clr_stats(__ioc) \
270 bfa_os_memset(&(__ioc)->stats, 0, sizeof((__ioc)->stats)) 268 memset(&(__ioc)->stats, 0, sizeof((__ioc)->stats))
271#define bfa_ioc_maxfrsize(__ioc) ((__ioc)->attr->maxfrsize) 269#define bfa_ioc_maxfrsize(__ioc) ((__ioc)->attr->maxfrsize)
272#define bfa_ioc_rx_bbcredit(__ioc) ((__ioc)->attr->rx_bbcredit) 270#define bfa_ioc_rx_bbcredit(__ioc) ((__ioc)->attr->rx_bbcredit)
273#define bfa_ioc_speed_sup(__ioc) \ 271#define bfa_ioc_speed_sup(__ioc) \
@@ -287,7 +285,7 @@ struct bfa_ioc_hwif_s {
287#define BFA_IOC_FLASH_OFFSET_IN_CHUNK(off) (off % BFI_FLASH_CHUNK_SZ_WORDS) 285#define BFA_IOC_FLASH_OFFSET_IN_CHUNK(off) (off % BFI_FLASH_CHUNK_SZ_WORDS)
288#define BFA_IOC_FLASH_CHUNK_ADDR(chunkno) (chunkno * BFI_FLASH_CHUNK_SZ_WORDS) 286#define BFA_IOC_FLASH_CHUNK_ADDR(chunkno) (chunkno * BFI_FLASH_CHUNK_SZ_WORDS)
289 287
290/** 288/*
291 * IOC mailbox interface 289 * IOC mailbox interface
292 */ 290 */
293void bfa_ioc_mbox_queue(struct bfa_ioc_s *ioc, struct bfa_mbox_cmd_s *cmd); 291void bfa_ioc_mbox_queue(struct bfa_ioc_s *ioc, struct bfa_mbox_cmd_s *cmd);
@@ -299,7 +297,7 @@ void bfa_ioc_msgget(struct bfa_ioc_s *ioc, void *mbmsg);
299void bfa_ioc_mbox_regisr(struct bfa_ioc_s *ioc, enum bfi_mclass mc, 297void bfa_ioc_mbox_regisr(struct bfa_ioc_s *ioc, enum bfi_mclass mc,
300 bfa_ioc_mbox_mcfunc_t cbfn, void *cbarg); 298 bfa_ioc_mbox_mcfunc_t cbfn, void *cbarg);
301 299
302/** 300/*
303 * IOC interfaces 301 * IOC interfaces
304 */ 302 */
305 303
@@ -308,9 +306,9 @@ void bfa_ioc_mbox_regisr(struct bfa_ioc_s *ioc, enum bfi_mclass mc,
308 (__ioc)->fcmode)) 306 (__ioc)->fcmode))
309 307
310bfa_status_t bfa_ioc_pll_init(struct bfa_ioc_s *ioc); 308bfa_status_t bfa_ioc_pll_init(struct bfa_ioc_s *ioc);
311bfa_status_t bfa_ioc_cb_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode); 309bfa_status_t bfa_ioc_cb_pll_init(void __iomem *rb, bfa_boolean_t fcmode);
312bfa_boolean_t bfa_ioc_ct_pll_init_complete(bfa_os_addr_t rb); 310bfa_boolean_t bfa_ioc_ct_pll_init_complete(void __iomem *rb);
313bfa_status_t bfa_ioc_ct_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode); 311bfa_status_t bfa_ioc_ct_pll_init(void __iomem *rb, bfa_boolean_t fcmode);
314 312
315#define bfa_ioc_isr_mode_set(__ioc, __msix) \ 313#define bfa_ioc_isr_mode_set(__ioc, __msix) \
316 ((__ioc)->ioc_hwif->ioc_isr_mode_set(__ioc, __msix)) 314 ((__ioc)->ioc_hwif->ioc_isr_mode_set(__ioc, __msix))
@@ -370,8 +368,8 @@ void bfa_ioc_set_fcmode(struct bfa_ioc_s *ioc);
370bfa_boolean_t bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc); 368bfa_boolean_t bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc);
371void bfa_ioc_hbfail_register(struct bfa_ioc_s *ioc, 369void bfa_ioc_hbfail_register(struct bfa_ioc_s *ioc,
372 struct bfa_ioc_hbfail_notify_s *notify); 370 struct bfa_ioc_hbfail_notify_s *notify);
373bfa_boolean_t bfa_ioc_sem_get(bfa_os_addr_t sem_reg); 371bfa_boolean_t bfa_ioc_sem_get(void __iomem *sem_reg);
374void bfa_ioc_sem_release(bfa_os_addr_t sem_reg); 372void bfa_ioc_sem_release(void __iomem *sem_reg);
375void bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc); 373void bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc);
376void bfa_ioc_fwver_get(struct bfa_ioc_s *ioc, 374void bfa_ioc_fwver_get(struct bfa_ioc_s *ioc,
377 struct bfi_ioc_image_hdr_s *fwhdr); 375 struct bfi_ioc_image_hdr_s *fwhdr);
@@ -441,7 +439,7 @@ bfa_cb_image_get_size(int type)
441 } 439 }
442} 440}
443 441
444/** 442/*
445 * CNA TRCMOD declaration 443 * CNA TRCMOD declaration
446 */ 444 */
447/* 445/*
diff --git a/drivers/scsi/bfa/bfa_ioc_cb.c b/drivers/scsi/bfa/bfa_ioc_cb.c
index d7ac864d8539..909945043850 100644
--- a/drivers/scsi/bfa/bfa_ioc_cb.c
+++ b/drivers/scsi/bfa/bfa_ioc_cb.c
@@ -34,7 +34,7 @@ static void bfa_ioc_cb_ownership_reset(struct bfa_ioc_s *ioc);
34 34
35struct bfa_ioc_hwif_s hwif_cb; 35struct bfa_ioc_hwif_s hwif_cb;
36 36
37/** 37/*
38 * Called from bfa_ioc_attach() to map asic specific calls. 38 * Called from bfa_ioc_attach() to map asic specific calls.
39 */ 39 */
40void 40void
@@ -52,7 +52,7 @@ bfa_ioc_set_cb_hwif(struct bfa_ioc_s *ioc)
52 ioc->ioc_hwif = &hwif_cb; 52 ioc->ioc_hwif = &hwif_cb;
53} 53}
54 54
55/** 55/*
56 * Return true if firmware of current driver matches the running firmware. 56 * Return true if firmware of current driver matches the running firmware.
57 */ 57 */
58static bfa_boolean_t 58static bfa_boolean_t
@@ -66,17 +66,17 @@ bfa_ioc_cb_firmware_unlock(struct bfa_ioc_s *ioc)
66{ 66{
67} 67}
68 68
69/** 69/*
70 * Notify other functions on HB failure. 70 * Notify other functions on HB failure.
71 */ 71 */
72static void 72static void
73bfa_ioc_cb_notify_hbfail(struct bfa_ioc_s *ioc) 73bfa_ioc_cb_notify_hbfail(struct bfa_ioc_s *ioc)
74{ 74{
75 bfa_reg_write(ioc->ioc_regs.err_set, __PSS_ERR_STATUS_SET); 75 writel(__PSS_ERR_STATUS_SET, ioc->ioc_regs.err_set);
76 bfa_reg_read(ioc->ioc_regs.err_set); 76 readl(ioc->ioc_regs.err_set);
77} 77}
78 78
79/** 79/*
80 * Host to LPU mailbox message addresses 80 * Host to LPU mailbox message addresses
81 */ 81 */
82static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = { 82static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = {
@@ -84,7 +84,7 @@ static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = {
84 { HOSTFN1_LPU_MBOX0_8, LPU_HOSTFN1_MBOX0_8, HOST_PAGE_NUM_FN1 } 84 { HOSTFN1_LPU_MBOX0_8, LPU_HOSTFN1_MBOX0_8, HOST_PAGE_NUM_FN1 }
85}; 85};
86 86
87/** 87/*
88 * Host <-> LPU mailbox command/status registers 88 * Host <-> LPU mailbox command/status registers
89 */ 89 */
90static struct { u32 hfn, lpu; } iocreg_mbcmd[] = { 90static struct { u32 hfn, lpu; } iocreg_mbcmd[] = {
@@ -96,7 +96,7 @@ static struct { u32 hfn, lpu; } iocreg_mbcmd[] = {
96static void 96static void
97bfa_ioc_cb_reg_init(struct bfa_ioc_s *ioc) 97bfa_ioc_cb_reg_init(struct bfa_ioc_s *ioc)
98{ 98{
99 bfa_os_addr_t rb; 99 void __iomem *rb;
100 int pcifn = bfa_ioc_pcifn(ioc); 100 int pcifn = bfa_ioc_pcifn(ioc);
101 101
102 rb = bfa_ioc_bar0(ioc); 102 rb = bfa_ioc_bar0(ioc);
@@ -113,7 +113,7 @@ bfa_ioc_cb_reg_init(struct bfa_ioc_s *ioc)
113 ioc->ioc_regs.ioc_fwstate = (rb + BFA_IOC1_STATE_REG); 113 ioc->ioc_regs.ioc_fwstate = (rb + BFA_IOC1_STATE_REG);
114 } 114 }
115 115
116 /** 116 /*
117 * Host <-> LPU mailbox command/status registers 117 * Host <-> LPU mailbox command/status registers
118 */ 118 */
119 ioc->ioc_regs.hfn_mbox_cmd = rb + iocreg_mbcmd[pcifn].hfn; 119 ioc->ioc_regs.hfn_mbox_cmd = rb + iocreg_mbcmd[pcifn].hfn;
@@ -133,7 +133,7 @@ bfa_ioc_cb_reg_init(struct bfa_ioc_s *ioc)
133 ioc->ioc_regs.ioc_sem_reg = (rb + HOST_SEM0_REG); 133 ioc->ioc_regs.ioc_sem_reg = (rb + HOST_SEM0_REG);
134 ioc->ioc_regs.ioc_init_sem_reg = (rb + HOST_SEM2_REG); 134 ioc->ioc_regs.ioc_init_sem_reg = (rb + HOST_SEM2_REG);
135 135
136 /** 136 /*
137 * sram memory access 137 * sram memory access
138 */ 138 */
139 ioc->ioc_regs.smem_page_start = (rb + PSS_SMEM_PAGE_START); 139 ioc->ioc_regs.smem_page_start = (rb + PSS_SMEM_PAGE_START);
@@ -145,14 +145,14 @@ bfa_ioc_cb_reg_init(struct bfa_ioc_s *ioc)
145 ioc->ioc_regs.err_set = (rb + ERR_SET_REG); 145 ioc->ioc_regs.err_set = (rb + ERR_SET_REG);
146} 146}
147 147
148/** 148/*
149 * Initialize IOC to port mapping. 149 * Initialize IOC to port mapping.
150 */ 150 */
151 151
152static void 152static void
153bfa_ioc_cb_map_port(struct bfa_ioc_s *ioc) 153bfa_ioc_cb_map_port(struct bfa_ioc_s *ioc)
154{ 154{
155 /** 155 /*
156 * For crossbow, port id is same as pci function. 156 * For crossbow, port id is same as pci function.
157 */ 157 */
158 ioc->port_id = bfa_ioc_pcifn(ioc); 158 ioc->port_id = bfa_ioc_pcifn(ioc);
@@ -160,7 +160,7 @@ bfa_ioc_cb_map_port(struct bfa_ioc_s *ioc)
160 bfa_trc(ioc, ioc->port_id); 160 bfa_trc(ioc, ioc->port_id);
161} 161}
162 162
163/** 163/*
164 * Set interrupt mode for a function: INTX or MSIX 164 * Set interrupt mode for a function: INTX or MSIX
165 */ 165 */
166static void 166static void
@@ -168,7 +168,7 @@ bfa_ioc_cb_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix)
168{ 168{
169} 169}
170 170
171/** 171/*
172 * Cleanup hw semaphore and usecnt registers 172 * Cleanup hw semaphore and usecnt registers
173 */ 173 */
174static void 174static void
@@ -180,14 +180,14 @@ bfa_ioc_cb_ownership_reset(struct bfa_ioc_s *ioc)
180 * before we clear it. If it is not locked, writing 1 180 * before we clear it. If it is not locked, writing 1
181 * will lock it instead of clearing it. 181 * will lock it instead of clearing it.
182 */ 182 */
183 bfa_reg_read(ioc->ioc_regs.ioc_sem_reg); 183 readl(ioc->ioc_regs.ioc_sem_reg);
184 bfa_ioc_hw_sem_release(ioc); 184 bfa_ioc_hw_sem_release(ioc);
185} 185}
186 186
187 187
188 188
189bfa_status_t 189bfa_status_t
190bfa_ioc_cb_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode) 190bfa_ioc_cb_pll_init(void __iomem *rb, bfa_boolean_t fcmode)
191{ 191{
192 u32 pll_sclk, pll_fclk; 192 u32 pll_sclk, pll_fclk;
193 193
@@ -199,38 +199,32 @@ bfa_ioc_cb_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode)
199 __APP_PLL_400_RSEL200500 | __APP_PLL_400_P0_1(3U) | 199 __APP_PLL_400_RSEL200500 | __APP_PLL_400_P0_1(3U) |
200 __APP_PLL_400_JITLMT0_1(3U) | 200 __APP_PLL_400_JITLMT0_1(3U) |
201 __APP_PLL_400_CNTLMT0_1(3U); 201 __APP_PLL_400_CNTLMT0_1(3U);
202 bfa_reg_write((rb + BFA_IOC0_STATE_REG), BFI_IOC_UNINIT); 202 writel(BFI_IOC_UNINIT, (rb + BFA_IOC0_STATE_REG));
203 bfa_reg_write((rb + BFA_IOC1_STATE_REG), BFI_IOC_UNINIT); 203 writel(BFI_IOC_UNINIT, (rb + BFA_IOC1_STATE_REG));
204 bfa_reg_write((rb + HOSTFN0_INT_MSK), 0xffffffffU); 204 writel(0xffffffffU, (rb + HOSTFN0_INT_MSK));
205 bfa_reg_write((rb + HOSTFN1_INT_MSK), 0xffffffffU); 205 writel(0xffffffffU, (rb + HOSTFN1_INT_MSK));
206 bfa_reg_write((rb + HOSTFN0_INT_STATUS), 0xffffffffU); 206 writel(0xffffffffU, (rb + HOSTFN0_INT_STATUS));
207 bfa_reg_write((rb + HOSTFN1_INT_STATUS), 0xffffffffU); 207 writel(0xffffffffU, (rb + HOSTFN1_INT_STATUS));
208 bfa_reg_write((rb + HOSTFN0_INT_MSK), 0xffffffffU); 208 writel(0xffffffffU, (rb + HOSTFN0_INT_MSK));
209 bfa_reg_write((rb + HOSTFN1_INT_MSK), 0xffffffffU); 209 writel(0xffffffffU, (rb + HOSTFN1_INT_MSK));
210 bfa_reg_write(rb + APP_PLL_212_CTL_REG, 210 writel(__APP_PLL_212_LOGIC_SOFT_RESET, rb + APP_PLL_212_CTL_REG);
211 __APP_PLL_212_LOGIC_SOFT_RESET); 211 writel(__APP_PLL_212_BYPASS | __APP_PLL_212_LOGIC_SOFT_RESET,
212 bfa_reg_write(rb + APP_PLL_212_CTL_REG, 212 rb + APP_PLL_212_CTL_REG);
213 __APP_PLL_212_BYPASS | 213 writel(__APP_PLL_400_LOGIC_SOFT_RESET, rb + APP_PLL_400_CTL_REG);
214 __APP_PLL_212_LOGIC_SOFT_RESET); 214 writel(__APP_PLL_400_BYPASS | __APP_PLL_400_LOGIC_SOFT_RESET,
215 bfa_reg_write(rb + APP_PLL_400_CTL_REG, 215 rb + APP_PLL_400_CTL_REG);
216 __APP_PLL_400_LOGIC_SOFT_RESET); 216 udelay(2);
217 bfa_reg_write(rb + APP_PLL_400_CTL_REG, 217 writel(__APP_PLL_212_LOGIC_SOFT_RESET, rb + APP_PLL_212_CTL_REG);
218 __APP_PLL_400_BYPASS | 218 writel(__APP_PLL_400_LOGIC_SOFT_RESET, rb + APP_PLL_400_CTL_REG);
219 __APP_PLL_400_LOGIC_SOFT_RESET); 219 writel(pll_sclk | __APP_PLL_212_LOGIC_SOFT_RESET,
220 bfa_os_udelay(2); 220 rb + APP_PLL_212_CTL_REG);
221 bfa_reg_write(rb + APP_PLL_212_CTL_REG, 221 writel(pll_fclk | __APP_PLL_400_LOGIC_SOFT_RESET,
222 __APP_PLL_212_LOGIC_SOFT_RESET); 222 rb + APP_PLL_400_CTL_REG);
223 bfa_reg_write(rb + APP_PLL_400_CTL_REG, 223 udelay(2000);
224 __APP_PLL_400_LOGIC_SOFT_RESET); 224 writel(0xffffffffU, (rb + HOSTFN0_INT_STATUS));
225 bfa_reg_write(rb + APP_PLL_212_CTL_REG, 225 writel(0xffffffffU, (rb + HOSTFN1_INT_STATUS));
226 pll_sclk | __APP_PLL_212_LOGIC_SOFT_RESET); 226 writel(pll_sclk, (rb + APP_PLL_212_CTL_REG));
227 bfa_reg_write(rb + APP_PLL_400_CTL_REG, 227 writel(pll_fclk, (rb + APP_PLL_400_CTL_REG));
228 pll_fclk | __APP_PLL_400_LOGIC_SOFT_RESET);
229 bfa_os_udelay(2000);
230 bfa_reg_write((rb + HOSTFN0_INT_STATUS), 0xffffffffU);
231 bfa_reg_write((rb + HOSTFN1_INT_STATUS), 0xffffffffU);
232 bfa_reg_write((rb + APP_PLL_212_CTL_REG), pll_sclk);
233 bfa_reg_write((rb + APP_PLL_400_CTL_REG), pll_fclk);
234 228
235 return BFA_STATUS_OK; 229 return BFA_STATUS_OK;
236} 230}
diff --git a/drivers/scsi/bfa/bfa_ioc_ct.c b/drivers/scsi/bfa/bfa_ioc_ct.c
index f21b82c5f64c..115730c0aa77 100644
--- a/drivers/scsi/bfa/bfa_ioc_ct.c
+++ b/drivers/scsi/bfa/bfa_ioc_ct.c
@@ -34,7 +34,7 @@ static void bfa_ioc_ct_ownership_reset(struct bfa_ioc_s *ioc);
34 34
35struct bfa_ioc_hwif_s hwif_ct; 35struct bfa_ioc_hwif_s hwif_ct;
36 36
37/** 37/*
38 * Called from bfa_ioc_attach() to map asic specific calls. 38 * Called from bfa_ioc_attach() to map asic specific calls.
39 */ 39 */
40void 40void
@@ -52,7 +52,7 @@ bfa_ioc_set_ct_hwif(struct bfa_ioc_s *ioc)
52 ioc->ioc_hwif = &hwif_ct; 52 ioc->ioc_hwif = &hwif_ct;
53} 53}
54 54
55/** 55/*
56 * Return true if firmware of current driver matches the running firmware. 56 * Return true if firmware of current driver matches the running firmware.
57 */ 57 */
58static bfa_boolean_t 58static bfa_boolean_t
@@ -62,13 +62,13 @@ bfa_ioc_ct_firmware_lock(struct bfa_ioc_s *ioc)
62 u32 usecnt; 62 u32 usecnt;
63 struct bfi_ioc_image_hdr_s fwhdr; 63 struct bfi_ioc_image_hdr_s fwhdr;
64 64
65 /** 65 /*
66 * Firmware match check is relevant only for CNA. 66 * Firmware match check is relevant only for CNA.
67 */ 67 */
68 if (!ioc->cna) 68 if (!ioc->cna)
69 return BFA_TRUE; 69 return BFA_TRUE;
70 70
71 /** 71 /*
72 * If bios boot (flash based) -- do not increment usage count 72 * If bios boot (flash based) -- do not increment usage count
73 */ 73 */
74 if (bfa_cb_image_get_size(BFA_IOC_FWIMG_TYPE(ioc)) < 74 if (bfa_cb_image_get_size(BFA_IOC_FWIMG_TYPE(ioc)) <
@@ -76,27 +76,27 @@ bfa_ioc_ct_firmware_lock(struct bfa_ioc_s *ioc)
76 return BFA_TRUE; 76 return BFA_TRUE;
77 77
78 bfa_ioc_sem_get(ioc->ioc_regs.ioc_usage_sem_reg); 78 bfa_ioc_sem_get(ioc->ioc_regs.ioc_usage_sem_reg);
79 usecnt = bfa_reg_read(ioc->ioc_regs.ioc_usage_reg); 79 usecnt = readl(ioc->ioc_regs.ioc_usage_reg);
80 80
81 /** 81 /*
82 * If usage count is 0, always return TRUE. 82 * If usage count is 0, always return TRUE.
83 */ 83 */
84 if (usecnt == 0) { 84 if (usecnt == 0) {
85 bfa_reg_write(ioc->ioc_regs.ioc_usage_reg, 1); 85 writel(1, ioc->ioc_regs.ioc_usage_reg);
86 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg); 86 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg);
87 bfa_trc(ioc, usecnt); 87 bfa_trc(ioc, usecnt);
88 return BFA_TRUE; 88 return BFA_TRUE;
89 } 89 }
90 90
91 ioc_fwstate = bfa_reg_read(ioc->ioc_regs.ioc_fwstate); 91 ioc_fwstate = readl(ioc->ioc_regs.ioc_fwstate);
92 bfa_trc(ioc, ioc_fwstate); 92 bfa_trc(ioc, ioc_fwstate);
93 93
94 /** 94 /*
95 * Use count cannot be non-zero and chip in uninitialized state. 95 * Use count cannot be non-zero and chip in uninitialized state.
96 */ 96 */
97 bfa_assert(ioc_fwstate != BFI_IOC_UNINIT); 97 bfa_assert(ioc_fwstate != BFI_IOC_UNINIT);
98 98
99 /** 99 /*
100 * Check if another driver with a different firmware is active 100 * Check if another driver with a different firmware is active
101 */ 101 */
102 bfa_ioc_fwver_get(ioc, &fwhdr); 102 bfa_ioc_fwver_get(ioc, &fwhdr);
@@ -106,11 +106,11 @@ bfa_ioc_ct_firmware_lock(struct bfa_ioc_s *ioc)
106 return BFA_FALSE; 106 return BFA_FALSE;
107 } 107 }
108 108
109 /** 109 /*
110 * Same firmware version. Increment the reference count. 110 * Same firmware version. Increment the reference count.
111 */ 111 */
112 usecnt++; 112 usecnt++;
113 bfa_reg_write(ioc->ioc_regs.ioc_usage_reg, usecnt); 113 writel(usecnt, ioc->ioc_regs.ioc_usage_reg);
114 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg); 114 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg);
115 bfa_trc(ioc, usecnt); 115 bfa_trc(ioc, usecnt);
116 return BFA_TRUE; 116 return BFA_TRUE;
@@ -121,50 +121,50 @@ bfa_ioc_ct_firmware_unlock(struct bfa_ioc_s *ioc)
121{ 121{
122 u32 usecnt; 122 u32 usecnt;
123 123
124 /** 124 /*
125 * Firmware lock is relevant only for CNA. 125 * Firmware lock is relevant only for CNA.
126 */ 126 */
127 if (!ioc->cna) 127 if (!ioc->cna)
128 return; 128 return;
129 129
130 /** 130 /*
131 * If bios boot (flash based) -- do not decrement usage count 131 * If bios boot (flash based) -- do not decrement usage count
132 */ 132 */
133 if (bfa_cb_image_get_size(BFA_IOC_FWIMG_TYPE(ioc)) < 133 if (bfa_cb_image_get_size(BFA_IOC_FWIMG_TYPE(ioc)) <
134 BFA_IOC_FWIMG_MINSZ) 134 BFA_IOC_FWIMG_MINSZ)
135 return; 135 return;
136 136
137 /** 137 /*
138 * decrement usage count 138 * decrement usage count
139 */ 139 */
140 bfa_ioc_sem_get(ioc->ioc_regs.ioc_usage_sem_reg); 140 bfa_ioc_sem_get(ioc->ioc_regs.ioc_usage_sem_reg);
141 usecnt = bfa_reg_read(ioc->ioc_regs.ioc_usage_reg); 141 usecnt = readl(ioc->ioc_regs.ioc_usage_reg);
142 bfa_assert(usecnt > 0); 142 bfa_assert(usecnt > 0);
143 143
144 usecnt--; 144 usecnt--;
145 bfa_reg_write(ioc->ioc_regs.ioc_usage_reg, usecnt); 145 writel(usecnt, ioc->ioc_regs.ioc_usage_reg);
146 bfa_trc(ioc, usecnt); 146 bfa_trc(ioc, usecnt);
147 147
148 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg); 148 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg);
149} 149}
150 150
151/** 151/*
152 * Notify other functions on HB failure. 152 * Notify other functions on HB failure.
153 */ 153 */
154static void 154static void
155bfa_ioc_ct_notify_hbfail(struct bfa_ioc_s *ioc) 155bfa_ioc_ct_notify_hbfail(struct bfa_ioc_s *ioc)
156{ 156{
157 if (ioc->cna) { 157 if (ioc->cna) {
158 bfa_reg_write(ioc->ioc_regs.ll_halt, __FW_INIT_HALT_P); 158 writel(__FW_INIT_HALT_P, ioc->ioc_regs.ll_halt);
159 /* Wait for halt to take effect */ 159 /* Wait for halt to take effect */
160 bfa_reg_read(ioc->ioc_regs.ll_halt); 160 readl(ioc->ioc_regs.ll_halt);
161 } else { 161 } else {
162 bfa_reg_write(ioc->ioc_regs.err_set, __PSS_ERR_STATUS_SET); 162 writel(__PSS_ERR_STATUS_SET, ioc->ioc_regs.err_set);
163 bfa_reg_read(ioc->ioc_regs.err_set); 163 readl(ioc->ioc_regs.err_set);
164 } 164 }
165} 165}
166 166
167/** 167/*
168 * Host to LPU mailbox message addresses 168 * Host to LPU mailbox message addresses
169 */ 169 */
170static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = { 170static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = {
@@ -174,7 +174,7 @@ static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = {
174 { HOSTFN3_LPU_MBOX0_8, LPU_HOSTFN3_MBOX0_8, HOST_PAGE_NUM_FN3 } 174 { HOSTFN3_LPU_MBOX0_8, LPU_HOSTFN3_MBOX0_8, HOST_PAGE_NUM_FN3 }
175}; 175};
176 176
177/** 177/*
178 * Host <-> LPU mailbox command/status registers - port 0 178 * Host <-> LPU mailbox command/status registers - port 0
179 */ 179 */
180static struct { u32 hfn, lpu; } iocreg_mbcmd_p0[] = { 180static struct { u32 hfn, lpu; } iocreg_mbcmd_p0[] = {
@@ -184,7 +184,7 @@ static struct { u32 hfn, lpu; } iocreg_mbcmd_p0[] = {
184 { HOSTFN3_LPU0_MBOX0_CMD_STAT, LPU0_HOSTFN3_MBOX0_CMD_STAT } 184 { HOSTFN3_LPU0_MBOX0_CMD_STAT, LPU0_HOSTFN3_MBOX0_CMD_STAT }
185}; 185};
186 186
187/** 187/*
188 * Host <-> LPU mailbox command/status registers - port 1 188 * Host <-> LPU mailbox command/status registers - port 1
189 */ 189 */
190static struct { u32 hfn, lpu; } iocreg_mbcmd_p1[] = { 190static struct { u32 hfn, lpu; } iocreg_mbcmd_p1[] = {
@@ -197,7 +197,7 @@ static struct { u32 hfn, lpu; } iocreg_mbcmd_p1[] = {
197static void 197static void
198bfa_ioc_ct_reg_init(struct bfa_ioc_s *ioc) 198bfa_ioc_ct_reg_init(struct bfa_ioc_s *ioc)
199{ 199{
200 bfa_os_addr_t rb; 200 void __iomem *rb;
201 int pcifn = bfa_ioc_pcifn(ioc); 201 int pcifn = bfa_ioc_pcifn(ioc);
202 202
203 rb = bfa_ioc_bar0(ioc); 203 rb = bfa_ioc_bar0(ioc);
@@ -236,7 +236,7 @@ bfa_ioc_ct_reg_init(struct bfa_ioc_s *ioc)
236 ioc->ioc_regs.ioc_init_sem_reg = (rb + HOST_SEM2_REG); 236 ioc->ioc_regs.ioc_init_sem_reg = (rb + HOST_SEM2_REG);
237 ioc->ioc_regs.ioc_usage_reg = (rb + BFA_FW_USE_COUNT); 237 ioc->ioc_regs.ioc_usage_reg = (rb + BFA_FW_USE_COUNT);
238 238
239 /** 239 /*
240 * sram memory access 240 * sram memory access
241 */ 241 */
242 ioc->ioc_regs.smem_page_start = (rb + PSS_SMEM_PAGE_START); 242 ioc->ioc_regs.smem_page_start = (rb + PSS_SMEM_PAGE_START);
@@ -248,7 +248,7 @@ bfa_ioc_ct_reg_init(struct bfa_ioc_s *ioc)
248 ioc->ioc_regs.err_set = (rb + ERR_SET_REG); 248 ioc->ioc_regs.err_set = (rb + ERR_SET_REG);
249} 249}
250 250
251/** 251/*
252 * Initialize IOC to port mapping. 252 * Initialize IOC to port mapping.
253 */ 253 */
254 254
@@ -256,13 +256,13 @@ bfa_ioc_ct_reg_init(struct bfa_ioc_s *ioc)
256static void 256static void
257bfa_ioc_ct_map_port(struct bfa_ioc_s *ioc) 257bfa_ioc_ct_map_port(struct bfa_ioc_s *ioc)
258{ 258{
259 bfa_os_addr_t rb = ioc->pcidev.pci_bar_kva; 259 void __iomem *rb = ioc->pcidev.pci_bar_kva;
260 u32 r32; 260 u32 r32;
261 261
262 /** 262 /*
263 * For catapult, base port id on personality register and IOC type 263 * For catapult, base port id on personality register and IOC type
264 */ 264 */
265 r32 = bfa_reg_read(rb + FNC_PERS_REG); 265 r32 = readl(rb + FNC_PERS_REG);
266 r32 >>= FNC_PERS_FN_SHIFT(bfa_ioc_pcifn(ioc)); 266 r32 >>= FNC_PERS_FN_SHIFT(bfa_ioc_pcifn(ioc));
267 ioc->port_id = (r32 & __F0_PORT_MAP_MK) >> __F0_PORT_MAP_SH; 267 ioc->port_id = (r32 & __F0_PORT_MAP_MK) >> __F0_PORT_MAP_SH;
268 268
@@ -270,22 +270,22 @@ bfa_ioc_ct_map_port(struct bfa_ioc_s *ioc)
270 bfa_trc(ioc, ioc->port_id); 270 bfa_trc(ioc, ioc->port_id);
271} 271}
272 272
273/** 273/*
274 * Set interrupt mode for a function: INTX or MSIX 274 * Set interrupt mode for a function: INTX or MSIX
275 */ 275 */
276static void 276static void
277bfa_ioc_ct_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix) 277bfa_ioc_ct_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix)
278{ 278{
279 bfa_os_addr_t rb = ioc->pcidev.pci_bar_kva; 279 void __iomem *rb = ioc->pcidev.pci_bar_kva;
280 u32 r32, mode; 280 u32 r32, mode;
281 281
282 r32 = bfa_reg_read(rb + FNC_PERS_REG); 282 r32 = readl(rb + FNC_PERS_REG);
283 bfa_trc(ioc, r32); 283 bfa_trc(ioc, r32);
284 284
285 mode = (r32 >> FNC_PERS_FN_SHIFT(bfa_ioc_pcifn(ioc))) & 285 mode = (r32 >> FNC_PERS_FN_SHIFT(bfa_ioc_pcifn(ioc))) &
286 __F0_INTX_STATUS; 286 __F0_INTX_STATUS;
287 287
288 /** 288 /*
289 * If already in desired mode, do not change anything 289 * If already in desired mode, do not change anything
290 */ 290 */
291 if (!msix && mode) 291 if (!msix && mode)
@@ -300,10 +300,10 @@ bfa_ioc_ct_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix)
300 r32 |= (mode << FNC_PERS_FN_SHIFT(bfa_ioc_pcifn(ioc))); 300 r32 |= (mode << FNC_PERS_FN_SHIFT(bfa_ioc_pcifn(ioc)));
301 bfa_trc(ioc, r32); 301 bfa_trc(ioc, r32);
302 302
303 bfa_reg_write(rb + FNC_PERS_REG, r32); 303 writel(r32, rb + FNC_PERS_REG);
304} 304}
305 305
306/** 306/*
307 * Cleanup hw semaphore and usecnt registers 307 * Cleanup hw semaphore and usecnt registers
308 */ 308 */
309static void 309static void
@@ -312,7 +312,7 @@ bfa_ioc_ct_ownership_reset(struct bfa_ioc_s *ioc)
312 312
313 if (ioc->cna) { 313 if (ioc->cna) {
314 bfa_ioc_sem_get(ioc->ioc_regs.ioc_usage_sem_reg); 314 bfa_ioc_sem_get(ioc->ioc_regs.ioc_usage_sem_reg);
315 bfa_reg_write(ioc->ioc_regs.ioc_usage_reg, 0); 315 writel(0, ioc->ioc_regs.ioc_usage_reg);
316 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg); 316 bfa_ioc_sem_release(ioc->ioc_regs.ioc_usage_sem_reg);
317 } 317 }
318 318
@@ -321,7 +321,7 @@ bfa_ioc_ct_ownership_reset(struct bfa_ioc_s *ioc)
321 * before we clear it. If it is not locked, writing 1 321 * before we clear it. If it is not locked, writing 1
322 * will lock it instead of clearing it. 322 * will lock it instead of clearing it.
323 */ 323 */
324 bfa_reg_read(ioc->ioc_regs.ioc_sem_reg); 324 readl(ioc->ioc_regs.ioc_sem_reg);
325 bfa_ioc_hw_sem_release(ioc); 325 bfa_ioc_hw_sem_release(ioc);
326} 326}
327 327
@@ -331,17 +331,17 @@ bfa_ioc_ct_ownership_reset(struct bfa_ioc_s *ioc)
331 * Check the firmware state to know if pll_init has been completed already 331 * Check the firmware state to know if pll_init has been completed already
332 */ 332 */
333bfa_boolean_t 333bfa_boolean_t
334bfa_ioc_ct_pll_init_complete(bfa_os_addr_t rb) 334bfa_ioc_ct_pll_init_complete(void __iomem *rb)
335{ 335{
336 if ((bfa_reg_read(rb + BFA_IOC0_STATE_REG) == BFI_IOC_OP) || 336 if ((readl(rb + BFA_IOC0_STATE_REG) == BFI_IOC_OP) ||
337 (bfa_reg_read(rb + BFA_IOC1_STATE_REG) == BFI_IOC_OP)) 337 (readl(rb + BFA_IOC1_STATE_REG) == BFI_IOC_OP))
338 return BFA_TRUE; 338 return BFA_TRUE;
339 339
340 return BFA_FALSE; 340 return BFA_FALSE;
341} 341}
342 342
343bfa_status_t 343bfa_status_t
344bfa_ioc_ct_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode) 344bfa_ioc_ct_pll_init(void __iomem *rb, bfa_boolean_t fcmode)
345{ 345{
346 u32 pll_sclk, pll_fclk, r32; 346 u32 pll_sclk, pll_fclk, r32;
347 347
@@ -354,56 +354,51 @@ bfa_ioc_ct_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode)
354 __APP_PLL_425_JITLMT0_1(3U) | 354 __APP_PLL_425_JITLMT0_1(3U) |
355 __APP_PLL_425_CNTLMT0_1(1U); 355 __APP_PLL_425_CNTLMT0_1(1U);
356 if (fcmode) { 356 if (fcmode) {
357 bfa_reg_write((rb + OP_MODE), 0); 357 writel(0, (rb + OP_MODE));
358 bfa_reg_write((rb + ETH_MAC_SER_REG), 358 writel(__APP_EMS_CMLCKSEL | __APP_EMS_REFCKBUFEN2 |
359 __APP_EMS_CMLCKSEL | 359 __APP_EMS_CHANNEL_SEL, (rb + ETH_MAC_SER_REG));
360 __APP_EMS_REFCKBUFEN2 |
361 __APP_EMS_CHANNEL_SEL);
362 } else { 360 } else {
363 bfa_reg_write((rb + OP_MODE), __GLOBAL_FCOE_MODE); 361 writel(__GLOBAL_FCOE_MODE, (rb + OP_MODE));
364 bfa_reg_write((rb + ETH_MAC_SER_REG), 362 writel(__APP_EMS_REFCKBUFEN1, (rb + ETH_MAC_SER_REG));
365 __APP_EMS_REFCKBUFEN1);
366 } 363 }
367 bfa_reg_write((rb + BFA_IOC0_STATE_REG), BFI_IOC_UNINIT); 364 writel(BFI_IOC_UNINIT, (rb + BFA_IOC0_STATE_REG));
368 bfa_reg_write((rb + BFA_IOC1_STATE_REG), BFI_IOC_UNINIT); 365 writel(BFI_IOC_UNINIT, (rb + BFA_IOC1_STATE_REG));
369 bfa_reg_write((rb + HOSTFN0_INT_MSK), 0xffffffffU); 366 writel(0xffffffffU, (rb + HOSTFN0_INT_MSK));
370 bfa_reg_write((rb + HOSTFN1_INT_MSK), 0xffffffffU); 367 writel(0xffffffffU, (rb + HOSTFN1_INT_MSK));
371 bfa_reg_write((rb + HOSTFN0_INT_STATUS), 0xffffffffU); 368 writel(0xffffffffU, (rb + HOSTFN0_INT_STATUS));
372 bfa_reg_write((rb + HOSTFN1_INT_STATUS), 0xffffffffU); 369 writel(0xffffffffU, (rb + HOSTFN1_INT_STATUS));
373 bfa_reg_write((rb + HOSTFN0_INT_MSK), 0xffffffffU); 370 writel(0xffffffffU, (rb + HOSTFN0_INT_MSK));
374 bfa_reg_write((rb + HOSTFN1_INT_MSK), 0xffffffffU); 371 writel(0xffffffffU, (rb + HOSTFN1_INT_MSK));
375 bfa_reg_write(rb + APP_PLL_312_CTL_REG, pll_sclk | 372 writel(pll_sclk | __APP_PLL_312_LOGIC_SOFT_RESET,
376 __APP_PLL_312_LOGIC_SOFT_RESET); 373 rb + APP_PLL_312_CTL_REG);
377 bfa_reg_write(rb + APP_PLL_425_CTL_REG, pll_fclk | 374 writel(pll_fclk | __APP_PLL_425_LOGIC_SOFT_RESET,
378 __APP_PLL_425_LOGIC_SOFT_RESET); 375 rb + APP_PLL_425_CTL_REG);
379 bfa_reg_write(rb + APP_PLL_312_CTL_REG, pll_sclk | 376 writel(pll_sclk | __APP_PLL_312_LOGIC_SOFT_RESET | __APP_PLL_312_ENABLE,
380 __APP_PLL_312_LOGIC_SOFT_RESET | __APP_PLL_312_ENABLE); 377 rb + APP_PLL_312_CTL_REG);
381 bfa_reg_write(rb + APP_PLL_425_CTL_REG, pll_fclk | 378 writel(pll_fclk | __APP_PLL_425_LOGIC_SOFT_RESET | __APP_PLL_425_ENABLE,
382 __APP_PLL_425_LOGIC_SOFT_RESET | __APP_PLL_425_ENABLE); 379 rb + APP_PLL_425_CTL_REG);
383 bfa_reg_read(rb + HOSTFN0_INT_MSK); 380 readl(rb + HOSTFN0_INT_MSK);
384 bfa_os_udelay(2000); 381 udelay(2000);
385 bfa_reg_write((rb + HOSTFN0_INT_STATUS), 0xffffffffU); 382 writel(0xffffffffU, (rb + HOSTFN0_INT_STATUS));
386 bfa_reg_write((rb + HOSTFN1_INT_STATUS), 0xffffffffU); 383 writel(0xffffffffU, (rb + HOSTFN1_INT_STATUS));
387 bfa_reg_write(rb + APP_PLL_312_CTL_REG, pll_sclk | 384 writel(pll_sclk | __APP_PLL_312_ENABLE, rb + APP_PLL_312_CTL_REG);
388 __APP_PLL_312_ENABLE); 385 writel(pll_fclk | __APP_PLL_425_ENABLE, rb + APP_PLL_425_CTL_REG);
389 bfa_reg_write(rb + APP_PLL_425_CTL_REG, pll_fclk |
390 __APP_PLL_425_ENABLE);
391 if (!fcmode) { 386 if (!fcmode) {
392 bfa_reg_write((rb + PMM_1T_RESET_REG_P0), __PMM_1T_RESET_P); 387 writel(__PMM_1T_RESET_P, (rb + PMM_1T_RESET_REG_P0));
393 bfa_reg_write((rb + PMM_1T_RESET_REG_P1), __PMM_1T_RESET_P); 388 writel(__PMM_1T_RESET_P, (rb + PMM_1T_RESET_REG_P1));
394 } 389 }
395 r32 = bfa_reg_read((rb + PSS_CTL_REG)); 390 r32 = readl((rb + PSS_CTL_REG));
396 r32 &= ~__PSS_LMEM_RESET; 391 r32 &= ~__PSS_LMEM_RESET;
397 bfa_reg_write((rb + PSS_CTL_REG), r32); 392 writel(r32, (rb + PSS_CTL_REG));
398 bfa_os_udelay(1000); 393 udelay(1000);
399 if (!fcmode) { 394 if (!fcmode) {
400 bfa_reg_write((rb + PMM_1T_RESET_REG_P0), 0); 395 writel(0, (rb + PMM_1T_RESET_REG_P0));
401 bfa_reg_write((rb + PMM_1T_RESET_REG_P1), 0); 396 writel(0, (rb + PMM_1T_RESET_REG_P1));
402 } 397 }
403 398
404 bfa_reg_write((rb + MBIST_CTL_REG), __EDRAM_BISTR_START); 399 writel(__EDRAM_BISTR_START, (rb + MBIST_CTL_REG));
405 bfa_os_udelay(1000); 400 udelay(1000);
406 r32 = bfa_reg_read((rb + MBIST_STAT_REG)); 401 r32 = readl((rb + MBIST_STAT_REG));
407 bfa_reg_write((rb + MBIST_CTL_REG), 0); 402 writel(0, (rb + MBIST_CTL_REG));
408 return BFA_STATUS_OK; 403 return BFA_STATUS_OK;
409} 404}
diff --git a/drivers/scsi/bfa/bfa_modules.h b/drivers/scsi/bfa/bfa_modules.h
index 2cd527338677..15407ab39e77 100644
--- a/drivers/scsi/bfa/bfa_modules.h
+++ b/drivers/scsi/bfa/bfa_modules.h
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * bfa_modules.h BFA modules 19 * bfa_modules.h BFA modules
20 */ 20 */
21 21
@@ -52,7 +52,7 @@ enum {
52}; 52};
53 53
54 54
55/** 55/*
56 * Macro to define a new BFA module 56 * Macro to define a new BFA module
57 */ 57 */
58#define BFA_MODULE(__mod) \ 58#define BFA_MODULE(__mod) \
@@ -80,7 +80,7 @@ enum {
80 80
81#define BFA_CACHELINE_SZ (256) 81#define BFA_CACHELINE_SZ (256)
82 82
83/** 83/*
84 * Structure used to interact between different BFA sub modules 84 * Structure used to interact between different BFA sub modules
85 * 85 *
86 * Each sub module needs to implement only the entry points relevant to it (and 86 * Each sub module needs to implement only the entry points relevant to it (and
diff --git a/drivers/scsi/bfa/bfa_os_inc.h b/drivers/scsi/bfa/bfa_os_inc.h
index 788a250ffb8a..65df62ef437f 100644
--- a/drivers/scsi/bfa/bfa_os_inc.h
+++ b/drivers/scsi/bfa/bfa_os_inc.h
@@ -15,10 +15,6 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/**
19 * Contains declarations all OS Specific files needed for BFA layer
20 */
21
22#ifndef __BFA_OS_INC_H__ 18#ifndef __BFA_OS_INC_H__
23#define __BFA_OS_INC_H__ 19#define __BFA_OS_INC_H__
24 20
@@ -44,11 +40,6 @@
44#define __BIGENDIAN 40#define __BIGENDIAN
45#endif 41#endif
46 42
47static inline u64 bfa_os_get_clock(void)
48{
49 return jiffies;
50}
51
52static inline u64 bfa_os_get_log_time(void) 43static inline u64 bfa_os_get_log_time(void)
53{ 44{
54 u64 system_time = 0; 45 u64 system_time = 0;
@@ -63,13 +54,6 @@ static inline u64 bfa_os_get_log_time(void)
63#define bfa_io_lat_clock_res_div HZ 54#define bfa_io_lat_clock_res_div HZ
64#define bfa_io_lat_clock_res_mul 1000 55#define bfa_io_lat_clock_res_mul 1000
65 56
66#define BFA_ASSERT(p) do { \
67 if (!(p)) { \
68 printk(KERN_ERR "assert(%s) failed at %s:%d\n", \
69 #p, __FILE__, __LINE__); \
70 } \
71} while (0)
72
73#define BFA_LOG(level, bfad, mask, fmt, arg...) \ 57#define BFA_LOG(level, bfad, mask, fmt, arg...) \
74do { \ 58do { \
75 if (((mask) == 4) || (level[1] <= '4')) \ 59 if (((mask) == 4) || (level[1] <= '4')) \
@@ -81,22 +65,6 @@ do { \
81 ((_x) & 0x00ff00) | \ 65 ((_x) & 0x00ff00) | \
82 (((_x) & 0xff0000) >> 16)) 66 (((_x) & 0xff0000) >> 16))
83 67
84#define bfa_swap_8b(_x) \
85 ((((_x) & 0xff00000000000000ull) >> 56) \
86 | (((_x) & 0x00ff000000000000ull) >> 40) \
87 | (((_x) & 0x0000ff0000000000ull) >> 24) \
88 | (((_x) & 0x000000ff00000000ull) >> 8) \
89 | (((_x) & 0x00000000ff000000ull) << 8) \
90 | (((_x) & 0x0000000000ff0000ull) << 24) \
91 | (((_x) & 0x000000000000ff00ull) << 40) \
92 | (((_x) & 0x00000000000000ffull) << 56))
93
94#define bfa_os_swap32(_x) \
95 ((((_x) & 0xff) << 24) | \
96 (((_x) & 0x0000ff00) << 8) | \
97 (((_x) & 0x00ff0000) >> 8) | \
98 (((_x) & 0xff000000) >> 24))
99
100#define bfa_os_swap_sgaddr(_x) ((u64)( \ 68#define bfa_os_swap_sgaddr(_x) ((u64)( \
101 (((u64)(_x) & (u64)0x00000000000000ffull) << 32) | \ 69 (((u64)(_x) & (u64)0x00000000000000ffull) << 32) | \
102 (((u64)(_x) & (u64)0x000000000000ff00ull) << 32) | \ 70 (((u64)(_x) & (u64)0x000000000000ff00ull) << 32) | \
@@ -108,59 +76,27 @@ do { \
108 (((u64)(_x) & (u64)0xff00000000000000ull) >> 32))) 76 (((u64)(_x) & (u64)0xff00000000000000ull) >> 32)))
109 77
110#ifndef __BIGENDIAN 78#ifndef __BIGENDIAN
111#define bfa_os_htons(_x) ((u16)((((_x) & 0xff00) >> 8) | \ 79#define bfa_os_hton3b(_x) bfa_swap_3b(_x)
112 (((_x) & 0x00ff) << 8)))
113#define bfa_os_htonl(_x) bfa_os_swap32(_x)
114#define bfa_os_htonll(_x) bfa_swap_8b(_x)
115#define bfa_os_hton3b(_x) bfa_swap_3b(_x)
116#define bfa_os_wtole(_x) (_x)
117#define bfa_os_sgaddr(_x) (_x) 80#define bfa_os_sgaddr(_x) (_x)
118
119#else 81#else
120
121#define bfa_os_htons(_x) (_x)
122#define bfa_os_htonl(_x) (_x)
123#define bfa_os_hton3b(_x) (_x) 82#define bfa_os_hton3b(_x) (_x)
124#define bfa_os_htonll(_x) (_x)
125#define bfa_os_wtole(_x) bfa_os_swap32(_x)
126#define bfa_os_sgaddr(_x) bfa_os_swap_sgaddr(_x) 83#define bfa_os_sgaddr(_x) bfa_os_swap_sgaddr(_x)
127
128#endif 84#endif
129 85
130#define bfa_os_ntohs(_x) bfa_os_htons(_x)
131#define bfa_os_ntohl(_x) bfa_os_htonl(_x)
132#define bfa_os_ntohll(_x) bfa_os_htonll(_x)
133#define bfa_os_ntoh3b(_x) bfa_os_hton3b(_x) 86#define bfa_os_ntoh3b(_x) bfa_os_hton3b(_x)
134
135#define bfa_os_u32(__pa64) ((__pa64) >> 32) 87#define bfa_os_u32(__pa64) ((__pa64) >> 32)
136 88
137#define bfa_os_memset memset 89#define BFA_TRC_TS(_trcm) \
138#define bfa_os_memcpy memcpy 90 ({ \
139#define bfa_os_udelay udelay 91 struct timeval tv; \
140#define bfa_os_vsprintf vsprintf 92 \
141#define bfa_os_snprintf snprintf 93 do_gettimeofday(&tv); \
142 94 (tv.tv_sec*1000000+tv.tv_usec); \
143#define bfa_os_assign(__t, __s) __t = __s 95 })
144#define bfa_os_addr_t void __iomem *
145
146#define bfa_os_reg_read(_raddr) readl(_raddr)
147#define bfa_os_reg_write(_raddr, _val) writel((_val), (_raddr))
148#define bfa_os_mem_read(_raddr, _off) \
149 bfa_os_swap32(readl(((_raddr) + (_off))))
150#define bfa_os_mem_write(_raddr, _off, _val) \
151 writel(bfa_os_swap32((_val)), ((_raddr) + (_off)))
152
153#define BFA_TRC_TS(_trcm) \
154 ({ \
155 struct timeval tv; \
156 \
157 do_gettimeofday(&tv); \
158 (tv.tv_sec*1000000+tv.tv_usec); \
159 })
160 96
161#define boolean_t int 97#define boolean_t int
162 98
163/** 99/*
164 * For current time stamp, OS API will fill-in 100 * For current time stamp, OS API will fill-in
165 */ 101 */
166struct bfa_timeval_s { 102struct bfa_timeval_s {
diff --git a/drivers/scsi/bfa/bfa_port.c b/drivers/scsi/bfa/bfa_port.c
index b6d170a13bea..fff96226a383 100644
--- a/drivers/scsi/bfa/bfa_port.c
+++ b/drivers/scsi/bfa/bfa_port.c
@@ -37,16 +37,16 @@ bfa_port_stats_swap(struct bfa_port_s *port, union bfa_port_stats_u *stats)
37 t0 = dip[i]; 37 t0 = dip[i];
38 t1 = dip[i + 1]; 38 t1 = dip[i + 1];
39#ifdef __BIGENDIAN 39#ifdef __BIGENDIAN
40 dip[i] = bfa_os_ntohl(t0); 40 dip[i] = be32_to_cpu(t0);
41 dip[i + 1] = bfa_os_ntohl(t1); 41 dip[i + 1] = be32_to_cpu(t1);
42#else 42#else
43 dip[i] = bfa_os_ntohl(t1); 43 dip[i] = be32_to_cpu(t1);
44 dip[i + 1] = bfa_os_ntohl(t0); 44 dip[i + 1] = be32_to_cpu(t0);
45#endif 45#endif
46 } 46 }
47} 47}
48 48
49/** 49/*
50 * bfa_port_enable_isr() 50 * bfa_port_enable_isr()
51 * 51 *
52 * 52 *
@@ -63,7 +63,7 @@ bfa_port_enable_isr(struct bfa_port_s *port, bfa_status_t status)
63 port->endis_cbfn(port->endis_cbarg, status); 63 port->endis_cbfn(port->endis_cbarg, status);
64} 64}
65 65
66/** 66/*
67 * bfa_port_disable_isr() 67 * bfa_port_disable_isr()
68 * 68 *
69 * 69 *
@@ -80,7 +80,7 @@ bfa_port_disable_isr(struct bfa_port_s *port, bfa_status_t status)
80 port->endis_cbfn(port->endis_cbarg, status); 80 port->endis_cbfn(port->endis_cbarg, status);
81} 81}
82 82
83/** 83/*
84 * bfa_port_get_stats_isr() 84 * bfa_port_get_stats_isr()
85 * 85 *
86 * 86 *
@@ -112,7 +112,7 @@ bfa_port_get_stats_isr(struct bfa_port_s *port, bfa_status_t status)
112 } 112 }
113} 113}
114 114
115/** 115/*
116 * bfa_port_clear_stats_isr() 116 * bfa_port_clear_stats_isr()
117 * 117 *
118 * 118 *
@@ -129,7 +129,7 @@ bfa_port_clear_stats_isr(struct bfa_port_s *port, bfa_status_t status)
129 port->stats_status = status; 129 port->stats_status = status;
130 port->stats_busy = BFA_FALSE; 130 port->stats_busy = BFA_FALSE;
131 131
132 /** 132 /*
133 * re-initialize time stamp for stats reset 133 * re-initialize time stamp for stats reset
134 */ 134 */
135 bfa_os_gettimeofday(&tv); 135 bfa_os_gettimeofday(&tv);
@@ -141,7 +141,7 @@ bfa_port_clear_stats_isr(struct bfa_port_s *port, bfa_status_t status)
141 } 141 }
142} 142}
143 143
144/** 144/*
145 * bfa_port_isr() 145 * bfa_port_isr()
146 * 146 *
147 * 147 *
@@ -189,7 +189,7 @@ bfa_port_isr(void *cbarg, struct bfi_mbmsg_s *m)
189 } 189 }
190} 190}
191 191
192/** 192/*
193 * bfa_port_meminfo() 193 * bfa_port_meminfo()
194 * 194 *
195 * 195 *
@@ -203,7 +203,7 @@ bfa_port_meminfo(void)
203 return BFA_ROUNDUP(sizeof(union bfa_port_stats_u), BFA_DMA_ALIGN_SZ); 203 return BFA_ROUNDUP(sizeof(union bfa_port_stats_u), BFA_DMA_ALIGN_SZ);
204} 204}
205 205
206/** 206/*
207 * bfa_port_mem_claim() 207 * bfa_port_mem_claim()
208 * 208 *
209 * 209 *
@@ -220,7 +220,7 @@ bfa_port_mem_claim(struct bfa_port_s *port, u8 *dma_kva, u64 dma_pa)
220 port->stats_dma.pa = dma_pa; 220 port->stats_dma.pa = dma_pa;
221} 221}
222 222
223/** 223/*
224 * bfa_port_enable() 224 * bfa_port_enable()
225 * 225 *
226 * Send the Port enable request to the f/w 226 * Send the Port enable request to the f/w
@@ -264,7 +264,7 @@ bfa_port_enable(struct bfa_port_s *port, bfa_port_endis_cbfn_t cbfn,
264 return BFA_STATUS_OK; 264 return BFA_STATUS_OK;
265} 265}
266 266
267/** 267/*
268 * bfa_port_disable() 268 * bfa_port_disable()
269 * 269 *
270 * Send the Port disable request to the f/w 270 * Send the Port disable request to the f/w
@@ -308,7 +308,7 @@ bfa_port_disable(struct bfa_port_s *port, bfa_port_endis_cbfn_t cbfn,
308 return BFA_STATUS_OK; 308 return BFA_STATUS_OK;
309} 309}
310 310
311/** 311/*
312 * bfa_port_get_stats() 312 * bfa_port_get_stats()
313 * 313 *
314 * Send the request to the f/w to fetch Port statistics. 314 * Send the request to the f/w to fetch Port statistics.
@@ -348,7 +348,7 @@ bfa_port_get_stats(struct bfa_port_s *port, union bfa_port_stats_u *stats,
348 return BFA_STATUS_OK; 348 return BFA_STATUS_OK;
349} 349}
350 350
351/** 351/*
352 * bfa_port_clear_stats() 352 * bfa_port_clear_stats()
353 * 353 *
354 * 354 *
@@ -385,7 +385,7 @@ bfa_port_clear_stats(struct bfa_port_s *port, bfa_port_stats_cbfn_t cbfn,
385 return BFA_STATUS_OK; 385 return BFA_STATUS_OK;
386} 386}
387 387
388/** 388/*
389 * bfa_port_hbfail() 389 * bfa_port_hbfail()
390 * 390 *
391 * 391 *
@@ -415,7 +415,7 @@ bfa_port_hbfail(void *arg)
415 } 415 }
416} 416}
417 417
418/** 418/*
419 * bfa_port_attach() 419 * bfa_port_attach()
420 * 420 *
421 * 421 *
@@ -449,7 +449,7 @@ bfa_port_attach(struct bfa_port_s *port, struct bfa_ioc_s *ioc,
449 bfa_ioc_hbfail_init(&port->hbfail, bfa_port_hbfail, port); 449 bfa_ioc_hbfail_init(&port->hbfail, bfa_port_hbfail, port);
450 bfa_ioc_hbfail_register(port->ioc, &port->hbfail); 450 bfa_ioc_hbfail_register(port->ioc, &port->hbfail);
451 451
452 /** 452 /*
453 * initialize time stamp for stats reset 453 * initialize time stamp for stats reset
454 */ 454 */
455 bfa_os_gettimeofday(&tv); 455 bfa_os_gettimeofday(&tv);
@@ -458,7 +458,7 @@ bfa_port_attach(struct bfa_port_s *port, struct bfa_ioc_s *ioc,
458 bfa_trc(port, 0); 458 bfa_trc(port, 0);
459} 459}
460 460
461/** 461/*
462 * bfa_port_detach() 462 * bfa_port_detach()
463 * 463 *
464 * 464 *
diff --git a/drivers/scsi/bfa/bfa_svc.c b/drivers/scsi/bfa/bfa_svc.c
index aa1dc749b281..c768143f4805 100644
--- a/drivers/scsi/bfa/bfa_svc.c
+++ b/drivers/scsi/bfa/bfa_svc.c
@@ -29,7 +29,7 @@ BFA_MODULE(fcport);
29BFA_MODULE(rport); 29BFA_MODULE(rport);
30BFA_MODULE(uf); 30BFA_MODULE(uf);
31 31
32/** 32/*
33 * LPS related definitions 33 * LPS related definitions
34 */ 34 */
35#define BFA_LPS_MIN_LPORTS (1) 35#define BFA_LPS_MIN_LPORTS (1)
@@ -41,7 +41,7 @@ BFA_MODULE(uf);
41#define BFA_LPS_MAX_VPORTS_SUPP_CB 255 41#define BFA_LPS_MAX_VPORTS_SUPP_CB 255
42#define BFA_LPS_MAX_VPORTS_SUPP_CT 190 42#define BFA_LPS_MAX_VPORTS_SUPP_CT 190
43 43
44/** 44/*
45 * lps_pvt BFA LPS private functions 45 * lps_pvt BFA LPS private functions
46 */ 46 */
47 47
@@ -55,7 +55,7 @@ enum bfa_lps_event {
55 BFA_LPS_SM_RX_CVL = 7, /* Rx clear virtual link */ 55 BFA_LPS_SM_RX_CVL = 7, /* Rx clear virtual link */
56}; 56};
57 57
58/** 58/*
59 * FC PORT related definitions 59 * FC PORT related definitions
60 */ 60 */
61/* 61/*
@@ -67,7 +67,7 @@ enum bfa_lps_event {
67 (bfa_ioc_is_disabled(&bfa->ioc) == BFA_TRUE)) 67 (bfa_ioc_is_disabled(&bfa->ioc) == BFA_TRUE))
68 68
69 69
70/** 70/*
71 * BFA port state machine events 71 * BFA port state machine events
72 */ 72 */
73enum bfa_fcport_sm_event { 73enum bfa_fcport_sm_event {
@@ -82,7 +82,7 @@ enum bfa_fcport_sm_event {
82 BFA_FCPORT_SM_HWFAIL = 9, /* IOC h/w failure */ 82 BFA_FCPORT_SM_HWFAIL = 9, /* IOC h/w failure */
83}; 83};
84 84
85/** 85/*
86 * BFA port link notification state machine events 86 * BFA port link notification state machine events
87 */ 87 */
88 88
@@ -92,7 +92,7 @@ enum bfa_fcport_ln_sm_event {
92 BFA_FCPORT_LN_SM_NOTIFICATION = 3 /* done notification */ 92 BFA_FCPORT_LN_SM_NOTIFICATION = 3 /* done notification */
93}; 93};
94 94
95/** 95/*
96 * RPORT related definitions 96 * RPORT related definitions
97 */ 97 */
98#define bfa_rport_offline_cb(__rp) do { \ 98#define bfa_rport_offline_cb(__rp) do { \
@@ -126,7 +126,7 @@ enum bfa_rport_event {
126 BFA_RPORT_SM_QRESUME = 9, /* space in requeue queue */ 126 BFA_RPORT_SM_QRESUME = 9, /* space in requeue queue */
127}; 127};
128 128
129/** 129/*
130 * forward declarations FCXP related functions 130 * forward declarations FCXP related functions
131 */ 131 */
132static void __bfa_fcxp_send_cbfn(void *cbarg, bfa_boolean_t complete); 132static void __bfa_fcxp_send_cbfn(void *cbarg, bfa_boolean_t complete);
@@ -138,7 +138,7 @@ static void bfa_fcxp_qresume(void *cbarg);
138static void bfa_fcxp_queue(struct bfa_fcxp_s *fcxp, 138static void bfa_fcxp_queue(struct bfa_fcxp_s *fcxp,
139 struct bfi_fcxp_send_req_s *send_req); 139 struct bfi_fcxp_send_req_s *send_req);
140 140
141/** 141/*
142 * forward declarations for LPS functions 142 * forward declarations for LPS functions
143 */ 143 */
144static void bfa_lps_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *ndm_len, 144static void bfa_lps_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *ndm_len,
@@ -163,7 +163,7 @@ static void bfa_lps_login_comp(struct bfa_lps_s *lps);
163static void bfa_lps_logout_comp(struct bfa_lps_s *lps); 163static void bfa_lps_logout_comp(struct bfa_lps_s *lps);
164static void bfa_lps_cvl_event(struct bfa_lps_s *lps); 164static void bfa_lps_cvl_event(struct bfa_lps_s *lps);
165 165
166/** 166/*
167 * forward declaration for LPS state machine 167 * forward declaration for LPS state machine
168 */ 168 */
169static void bfa_lps_sm_init(struct bfa_lps_s *lps, enum bfa_lps_event event); 169static void bfa_lps_sm_init(struct bfa_lps_s *lps, enum bfa_lps_event event);
@@ -175,7 +175,7 @@ static void bfa_lps_sm_logout(struct bfa_lps_s *lps, enum bfa_lps_event event);
175static void bfa_lps_sm_logowait(struct bfa_lps_s *lps, enum bfa_lps_event 175static void bfa_lps_sm_logowait(struct bfa_lps_s *lps, enum bfa_lps_event
176 event); 176 event);
177 177
178/** 178/*
179 * forward declaration for FC Port functions 179 * forward declaration for FC Port functions
180 */ 180 */
181static bfa_boolean_t bfa_fcport_send_enable(struct bfa_fcport_s *fcport); 181static bfa_boolean_t bfa_fcport_send_enable(struct bfa_fcport_s *fcport);
@@ -193,7 +193,7 @@ static void bfa_fcport_stats_get_timeout(void *cbarg);
193static void bfa_fcport_stats_clr_timeout(void *cbarg); 193static void bfa_fcport_stats_clr_timeout(void *cbarg);
194static void bfa_trunk_iocdisable(struct bfa_s *bfa); 194static void bfa_trunk_iocdisable(struct bfa_s *bfa);
195 195
196/** 196/*
197 * forward declaration for FC PORT state machine 197 * forward declaration for FC PORT state machine
198 */ 198 */
199static void bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport, 199static void bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport,
@@ -252,7 +252,7 @@ static struct bfa_sm_table_s hal_port_sm_table[] = {
252}; 252};
253 253
254 254
255/** 255/*
256 * forward declaration for RPORT related functions 256 * forward declaration for RPORT related functions
257 */ 257 */
258static struct bfa_rport_s *bfa_rport_alloc(struct bfa_rport_mod_s *rp_mod); 258static struct bfa_rport_s *bfa_rport_alloc(struct bfa_rport_mod_s *rp_mod);
@@ -265,7 +265,7 @@ static void __bfa_cb_rport_online(void *cbarg,
265static void __bfa_cb_rport_offline(void *cbarg, 265static void __bfa_cb_rport_offline(void *cbarg,
266 bfa_boolean_t complete); 266 bfa_boolean_t complete);
267 267
268/** 268/*
269 * forward declaration for RPORT state machine 269 * forward declaration for RPORT state machine
270 */ 270 */
271static void bfa_rport_sm_uninit(struct bfa_rport_s *rp, 271static void bfa_rport_sm_uninit(struct bfa_rport_s *rp,
@@ -295,7 +295,7 @@ static void bfa_rport_sm_fwdelete_qfull(struct bfa_rport_s *rp,
295static void bfa_rport_sm_deleting_qfull(struct bfa_rport_s *rp, 295static void bfa_rport_sm_deleting_qfull(struct bfa_rport_s *rp,
296 enum bfa_rport_event event); 296 enum bfa_rport_event event);
297 297
298/** 298/*
299 * PLOG related definitions 299 * PLOG related definitions
300 */ 300 */
301static int 301static int
@@ -330,7 +330,7 @@ bfa_plog_add(struct bfa_plog_s *plog, struct bfa_plog_rec_s *pl_rec)
330 330
331 pl_recp = &(plog->plog_recs[tail]); 331 pl_recp = &(plog->plog_recs[tail]);
332 332
333 bfa_os_memcpy(pl_recp, pl_rec, sizeof(struct bfa_plog_rec_s)); 333 memcpy(pl_recp, pl_rec, sizeof(struct bfa_plog_rec_s));
334 334
335 pl_recp->tv = bfa_os_get_log_time(); 335 pl_recp->tv = bfa_os_get_log_time();
336 BFA_PL_LOG_REC_INCR(plog->tail); 336 BFA_PL_LOG_REC_INCR(plog->tail);
@@ -342,9 +342,9 @@ bfa_plog_add(struct bfa_plog_s *plog, struct bfa_plog_rec_s *pl_rec)
342void 342void
343bfa_plog_init(struct bfa_plog_s *plog) 343bfa_plog_init(struct bfa_plog_s *plog)
344{ 344{
345 bfa_os_memset((char *)plog, 0, sizeof(struct bfa_plog_s)); 345 memset((char *)plog, 0, sizeof(struct bfa_plog_s));
346 346
347 bfa_os_memcpy(plog->plog_sig, BFA_PL_SIG_STR, BFA_PL_SIG_LEN); 347 memcpy(plog->plog_sig, BFA_PL_SIG_STR, BFA_PL_SIG_LEN);
348 plog->head = plog->tail = 0; 348 plog->head = plog->tail = 0;
349 plog->plog_enabled = 1; 349 plog->plog_enabled = 1;
350} 350}
@@ -357,7 +357,7 @@ bfa_plog_str(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
357 struct bfa_plog_rec_s lp; 357 struct bfa_plog_rec_s lp;
358 358
359 if (plog->plog_enabled) { 359 if (plog->plog_enabled) {
360 bfa_os_memset(&lp, 0, sizeof(struct bfa_plog_rec_s)); 360 memset(&lp, 0, sizeof(struct bfa_plog_rec_s));
361 lp.mid = mid; 361 lp.mid = mid;
362 lp.eid = event; 362 lp.eid = event;
363 lp.log_type = BFA_PL_LOG_TYPE_STRING; 363 lp.log_type = BFA_PL_LOG_TYPE_STRING;
@@ -381,15 +381,14 @@ bfa_plog_intarr(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
381 num_ints = BFA_PL_INT_LOG_SZ; 381 num_ints = BFA_PL_INT_LOG_SZ;
382 382
383 if (plog->plog_enabled) { 383 if (plog->plog_enabled) {
384 bfa_os_memset(&lp, 0, sizeof(struct bfa_plog_rec_s)); 384 memset(&lp, 0, sizeof(struct bfa_plog_rec_s));
385 lp.mid = mid; 385 lp.mid = mid;
386 lp.eid = event; 386 lp.eid = event;
387 lp.log_type = BFA_PL_LOG_TYPE_INT; 387 lp.log_type = BFA_PL_LOG_TYPE_INT;
388 lp.misc = misc; 388 lp.misc = misc;
389 389
390 for (i = 0; i < num_ints; i++) 390 for (i = 0; i < num_ints; i++)
391 bfa_os_assign(lp.log_entry.int_log[i], 391 lp.log_entry.int_log[i] = intarr[i];
392 intarr[i]);
393 392
394 lp.log_num_ints = (u8) num_ints; 393 lp.log_num_ints = (u8) num_ints;
395 394
@@ -407,7 +406,7 @@ bfa_plog_fchdr(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
407 u32 ints[BFA_PL_INT_LOG_SZ]; 406 u32 ints[BFA_PL_INT_LOG_SZ];
408 407
409 if (plog->plog_enabled) { 408 if (plog->plog_enabled) {
410 bfa_os_memset(&lp, 0, sizeof(struct bfa_plog_rec_s)); 409 memset(&lp, 0, sizeof(struct bfa_plog_rec_s));
411 410
412 ints[0] = tmp_int[0]; 411 ints[0] = tmp_int[0];
413 ints[1] = tmp_int[1]; 412 ints[1] = tmp_int[1];
@@ -427,7 +426,7 @@ bfa_plog_fchdr_and_pl(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
427 u32 ints[BFA_PL_INT_LOG_SZ]; 426 u32 ints[BFA_PL_INT_LOG_SZ];
428 427
429 if (plog->plog_enabled) { 428 if (plog->plog_enabled) {
430 bfa_os_memset(&lp, 0, sizeof(struct bfa_plog_rec_s)); 429 memset(&lp, 0, sizeof(struct bfa_plog_rec_s));
431 430
432 ints[0] = tmp_int[0]; 431 ints[0] = tmp_int[0];
433 ints[1] = tmp_int[1]; 432 ints[1] = tmp_int[1];
@@ -462,7 +461,7 @@ bfa_plog_get_setting(struct bfa_plog_s *plog)
462 return (bfa_boolean_t)plog->plog_enabled; 461 return (bfa_boolean_t)plog->plog_enabled;
463} 462}
464 463
465/** 464/*
466 * fcxp_pvt BFA FCXP private functions 465 * fcxp_pvt BFA FCXP private functions
467 */ 466 */
468 467
@@ -485,7 +484,7 @@ claim_fcxp_req_rsp_mem(struct bfa_fcxp_mod_s *mod, struct bfa_meminfo_s *mi)
485 mod->req_pld_list_pa = dm_pa; 484 mod->req_pld_list_pa = dm_pa;
486 dm_kva += buf_pool_sz; 485 dm_kva += buf_pool_sz;
487 dm_pa += buf_pool_sz; 486 dm_pa += buf_pool_sz;
488 bfa_os_memset(mod->req_pld_list_kva, 0, buf_pool_sz); 487 memset(mod->req_pld_list_kva, 0, buf_pool_sz);
489 488
490 /* 489 /*
491 * Initialize the fcxp rsp payload list 490 * Initialize the fcxp rsp payload list
@@ -495,7 +494,7 @@ claim_fcxp_req_rsp_mem(struct bfa_fcxp_mod_s *mod, struct bfa_meminfo_s *mi)
495 mod->rsp_pld_list_pa = dm_pa; 494 mod->rsp_pld_list_pa = dm_pa;
496 dm_kva += buf_pool_sz; 495 dm_kva += buf_pool_sz;
497 dm_pa += buf_pool_sz; 496 dm_pa += buf_pool_sz;
498 bfa_os_memset(mod->rsp_pld_list_kva, 0, buf_pool_sz); 497 memset(mod->rsp_pld_list_kva, 0, buf_pool_sz);
499 498
500 bfa_meminfo_dma_virt(mi) = dm_kva; 499 bfa_meminfo_dma_virt(mi) = dm_kva;
501 bfa_meminfo_dma_phys(mi) = dm_pa; 500 bfa_meminfo_dma_phys(mi) = dm_pa;
@@ -508,7 +507,7 @@ claim_fcxps_mem(struct bfa_fcxp_mod_s *mod, struct bfa_meminfo_s *mi)
508 struct bfa_fcxp_s *fcxp; 507 struct bfa_fcxp_s *fcxp;
509 508
510 fcxp = (struct bfa_fcxp_s *) bfa_meminfo_kva(mi); 509 fcxp = (struct bfa_fcxp_s *) bfa_meminfo_kva(mi);
511 bfa_os_memset(fcxp, 0, sizeof(struct bfa_fcxp_s) * mod->num_fcxps); 510 memset(fcxp, 0, sizeof(struct bfa_fcxp_s) * mod->num_fcxps);
512 511
513 INIT_LIST_HEAD(&mod->fcxp_free_q); 512 INIT_LIST_HEAD(&mod->fcxp_free_q);
514 INIT_LIST_HEAD(&mod->fcxp_active_q); 513 INIT_LIST_HEAD(&mod->fcxp_active_q);
@@ -559,11 +558,11 @@ bfa_fcxp_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
559{ 558{
560 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa); 559 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
561 560
562 bfa_os_memset(mod, 0, sizeof(struct bfa_fcxp_mod_s)); 561 memset(mod, 0, sizeof(struct bfa_fcxp_mod_s));
563 mod->bfa = bfa; 562 mod->bfa = bfa;
564 mod->num_fcxps = cfg->fwcfg.num_fcxp_reqs; 563 mod->num_fcxps = cfg->fwcfg.num_fcxp_reqs;
565 564
566 /** 565 /*
567 * Initialize FCXP request and response payload sizes. 566 * Initialize FCXP request and response payload sizes.
568 */ 567 */
569 mod->req_pld_sz = mod->rsp_pld_sz = BFA_FCXP_MAX_IBUF_SZ; 568 mod->req_pld_sz = mod->rsp_pld_sz = BFA_FCXP_MAX_IBUF_SZ;
@@ -741,20 +740,20 @@ hal_fcxp_send_comp(struct bfa_s *bfa, struct bfi_fcxp_send_rsp_s *fcxp_rsp)
741{ 740{
742 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa); 741 struct bfa_fcxp_mod_s *mod = BFA_FCXP_MOD(bfa);
743 struct bfa_fcxp_s *fcxp; 742 struct bfa_fcxp_s *fcxp;
744 u16 fcxp_tag = bfa_os_ntohs(fcxp_rsp->fcxp_tag); 743 u16 fcxp_tag = be16_to_cpu(fcxp_rsp->fcxp_tag);
745 744
746 bfa_trc(bfa, fcxp_tag); 745 bfa_trc(bfa, fcxp_tag);
747 746
748 fcxp_rsp->rsp_len = bfa_os_ntohl(fcxp_rsp->rsp_len); 747 fcxp_rsp->rsp_len = be32_to_cpu(fcxp_rsp->rsp_len);
749 748
750 /** 749 /*
751 * @todo f/w should not set residue to non-0 when everything 750 * @todo f/w should not set residue to non-0 when everything
752 * is received. 751 * is received.
753 */ 752 */
754 if (fcxp_rsp->req_status == BFA_STATUS_OK) 753 if (fcxp_rsp->req_status == BFA_STATUS_OK)
755 fcxp_rsp->residue_len = 0; 754 fcxp_rsp->residue_len = 0;
756 else 755 else
757 fcxp_rsp->residue_len = bfa_os_ntohl(fcxp_rsp->residue_len); 756 fcxp_rsp->residue_len = be32_to_cpu(fcxp_rsp->residue_len);
758 757
759 fcxp = BFA_FCXP_FROM_TAG(mod, fcxp_tag); 758 fcxp = BFA_FCXP_FROM_TAG(mod, fcxp_tag);
760 759
@@ -856,7 +855,7 @@ hal_fcxp_rx_plog(struct bfa_s *bfa, struct bfa_fcxp_s *fcxp,
856 } 855 }
857} 856}
858 857
859/** 858/*
860 * Handler to resume sending fcxp when space in available in cpe queue. 859 * Handler to resume sending fcxp when space in available in cpe queue.
861 */ 860 */
862static void 861static void
@@ -871,7 +870,7 @@ bfa_fcxp_qresume(void *cbarg)
871 bfa_fcxp_queue(fcxp, send_req); 870 bfa_fcxp_queue(fcxp, send_req);
872} 871}
873 872
874/** 873/*
875 * Queue fcxp send request to foimrware. 874 * Queue fcxp send request to foimrware.
876 */ 875 */
877static void 876static void
@@ -885,26 +884,26 @@ bfa_fcxp_queue(struct bfa_fcxp_s *fcxp, struct bfi_fcxp_send_req_s *send_req)
885 bfi_h2i_set(send_req->mh, BFI_MC_FCXP, BFI_FCXP_H2I_SEND_REQ, 884 bfi_h2i_set(send_req->mh, BFI_MC_FCXP, BFI_FCXP_H2I_SEND_REQ,
886 bfa_lpuid(bfa)); 885 bfa_lpuid(bfa));
887 886
888 send_req->fcxp_tag = bfa_os_htons(fcxp->fcxp_tag); 887 send_req->fcxp_tag = cpu_to_be16(fcxp->fcxp_tag);
889 if (rport) { 888 if (rport) {
890 send_req->rport_fw_hndl = rport->fw_handle; 889 send_req->rport_fw_hndl = rport->fw_handle;
891 send_req->max_frmsz = bfa_os_htons(rport->rport_info.max_frmsz); 890 send_req->max_frmsz = cpu_to_be16(rport->rport_info.max_frmsz);
892 if (send_req->max_frmsz == 0) 891 if (send_req->max_frmsz == 0)
893 send_req->max_frmsz = bfa_os_htons(FC_MAX_PDUSZ); 892 send_req->max_frmsz = cpu_to_be16(FC_MAX_PDUSZ);
894 } else { 893 } else {
895 send_req->rport_fw_hndl = 0; 894 send_req->rport_fw_hndl = 0;
896 send_req->max_frmsz = bfa_os_htons(FC_MAX_PDUSZ); 895 send_req->max_frmsz = cpu_to_be16(FC_MAX_PDUSZ);
897 } 896 }
898 897
899 send_req->vf_id = bfa_os_htons(reqi->vf_id); 898 send_req->vf_id = cpu_to_be16(reqi->vf_id);
900 send_req->lp_tag = reqi->lp_tag; 899 send_req->lp_tag = reqi->lp_tag;
901 send_req->class = reqi->class; 900 send_req->class = reqi->class;
902 send_req->rsp_timeout = rspi->rsp_timeout; 901 send_req->rsp_timeout = rspi->rsp_timeout;
903 send_req->cts = reqi->cts; 902 send_req->cts = reqi->cts;
904 send_req->fchs = reqi->fchs; 903 send_req->fchs = reqi->fchs;
905 904
906 send_req->req_len = bfa_os_htonl(reqi->req_tot_len); 905 send_req->req_len = cpu_to_be32(reqi->req_tot_len);
907 send_req->rsp_maxlen = bfa_os_htonl(rspi->rsp_maxlen); 906 send_req->rsp_maxlen = cpu_to_be32(rspi->rsp_maxlen);
908 907
909 /* 908 /*
910 * setup req sgles 909 * setup req sgles
@@ -955,11 +954,11 @@ bfa_fcxp_queue(struct bfa_fcxp_s *fcxp, struct bfi_fcxp_send_req_s *send_req)
955 bfa_trc(bfa, bfa_reqq_ci(bfa, BFA_REQQ_FCXP)); 954 bfa_trc(bfa, bfa_reqq_ci(bfa, BFA_REQQ_FCXP));
956} 955}
957 956
958/** 957/*
959 * hal_fcxp_api BFA FCXP API 958 * hal_fcxp_api BFA FCXP API
960 */ 959 */
961 960
962/** 961/*
963 * Allocate an FCXP instance to send a response or to send a request 962 * Allocate an FCXP instance to send a response or to send a request
964 * that has a response. Request/response buffers are allocated by caller. 963 * that has a response. Request/response buffers are allocated by caller.
965 * 964 *
@@ -1005,7 +1004,7 @@ bfa_fcxp_alloc(void *caller, struct bfa_s *bfa, int nreq_sgles,
1005 return fcxp; 1004 return fcxp;
1006} 1005}
1007 1006
1008/** 1007/*
1009 * Get the internal request buffer pointer 1008 * Get the internal request buffer pointer
1010 * 1009 *
1011 * @param[in] fcxp BFA fcxp pointer 1010 * @param[in] fcxp BFA fcxp pointer
@@ -1032,7 +1031,7 @@ bfa_fcxp_get_reqbufsz(struct bfa_fcxp_s *fcxp)
1032 return mod->req_pld_sz; 1031 return mod->req_pld_sz;
1033} 1032}
1034 1033
1035/** 1034/*
1036 * Get the internal response buffer pointer 1035 * Get the internal response buffer pointer
1037 * 1036 *
1038 * @param[in] fcxp BFA fcxp pointer 1037 * @param[in] fcxp BFA fcxp pointer
@@ -1052,7 +1051,7 @@ bfa_fcxp_get_rspbuf(struct bfa_fcxp_s *fcxp)
1052 return rspbuf; 1051 return rspbuf;
1053} 1052}
1054 1053
1055/** 1054/*
1056 * Free the BFA FCXP 1055 * Free the BFA FCXP
1057 * 1056 *
1058 * @param[in] fcxp BFA fcxp pointer 1057 * @param[in] fcxp BFA fcxp pointer
@@ -1069,7 +1068,7 @@ bfa_fcxp_free(struct bfa_fcxp_s *fcxp)
1069 bfa_fcxp_put(fcxp); 1068 bfa_fcxp_put(fcxp);
1070} 1069}
1071 1070
1072/** 1071/*
1073 * Send a FCXP request 1072 * Send a FCXP request
1074 * 1073 *
1075 * @param[in] fcxp BFA fcxp pointer 1074 * @param[in] fcxp BFA fcxp pointer
@@ -1103,7 +1102,7 @@ bfa_fcxp_send(struct bfa_fcxp_s *fcxp, struct bfa_rport_s *rport,
1103 1102
1104 bfa_trc(bfa, fcxp->fcxp_tag); 1103 bfa_trc(bfa, fcxp->fcxp_tag);
1105 1104
1106 /** 1105 /*
1107 * setup request/response info 1106 * setup request/response info
1108 */ 1107 */
1109 reqi->bfa_rport = rport; 1108 reqi->bfa_rport = rport;
@@ -1118,7 +1117,7 @@ bfa_fcxp_send(struct bfa_fcxp_s *fcxp, struct bfa_rport_s *rport,
1118 fcxp->send_cbfn = cbfn ? cbfn : bfa_fcxp_null_comp; 1117 fcxp->send_cbfn = cbfn ? cbfn : bfa_fcxp_null_comp;
1119 fcxp->send_cbarg = cbarg; 1118 fcxp->send_cbarg = cbarg;
1120 1119
1121 /** 1120 /*
1122 * If no room in CPE queue, wait for space in request queue 1121 * If no room in CPE queue, wait for space in request queue
1123 */ 1122 */
1124 send_req = bfa_reqq_next(bfa, BFA_REQQ_FCXP); 1123 send_req = bfa_reqq_next(bfa, BFA_REQQ_FCXP);
@@ -1132,7 +1131,7 @@ bfa_fcxp_send(struct bfa_fcxp_s *fcxp, struct bfa_rport_s *rport,
1132 bfa_fcxp_queue(fcxp, send_req); 1131 bfa_fcxp_queue(fcxp, send_req);
1133} 1132}
1134 1133
1135/** 1134/*
1136 * Abort a BFA FCXP 1135 * Abort a BFA FCXP
1137 * 1136 *
1138 * @param[in] fcxp BFA fcxp pointer 1137 * @param[in] fcxp BFA fcxp pointer
@@ -1186,7 +1185,7 @@ bfa_fcxp_walloc_cancel(struct bfa_s *bfa, struct bfa_fcxp_wqe_s *wqe)
1186void 1185void
1187bfa_fcxp_discard(struct bfa_fcxp_s *fcxp) 1186bfa_fcxp_discard(struct bfa_fcxp_s *fcxp)
1188{ 1187{
1189 /** 1188 /*
1190 * If waiting for room in request queue, cancel reqq wait 1189 * If waiting for room in request queue, cancel reqq wait
1191 * and free fcxp. 1190 * and free fcxp.
1192 */ 1191 */
@@ -1202,7 +1201,7 @@ bfa_fcxp_discard(struct bfa_fcxp_s *fcxp)
1202 1201
1203 1202
1204 1203
1205/** 1204/*
1206 * hal_fcxp_public BFA FCXP public functions 1205 * hal_fcxp_public BFA FCXP public functions
1207 */ 1206 */
1208 1207
@@ -1229,11 +1228,11 @@ bfa_fcxp_get_maxrsp(struct bfa_s *bfa)
1229} 1228}
1230 1229
1231 1230
1232/** 1231/*
1233 * BFA LPS state machine functions 1232 * BFA LPS state machine functions
1234 */ 1233 */
1235 1234
1236/** 1235/*
1237 * Init state -- no login 1236 * Init state -- no login
1238 */ 1237 */
1239static void 1238static void
@@ -1285,7 +1284,7 @@ bfa_lps_sm_init(struct bfa_lps_s *lps, enum bfa_lps_event event)
1285 } 1284 }
1286} 1285}
1287 1286
1288/** 1287/*
1289 * login is in progress -- awaiting response from firmware 1288 * login is in progress -- awaiting response from firmware
1290 */ 1289 */
1291static void 1290static void
@@ -1327,7 +1326,7 @@ bfa_lps_sm_login(struct bfa_lps_s *lps, enum bfa_lps_event event)
1327 } 1326 }
1328} 1327}
1329 1328
1330/** 1329/*
1331 * login pending - awaiting space in request queue 1330 * login pending - awaiting space in request queue
1332 */ 1331 */
1333static void 1332static void
@@ -1359,7 +1358,7 @@ bfa_lps_sm_loginwait(struct bfa_lps_s *lps, enum bfa_lps_event event)
1359 } 1358 }
1360} 1359}
1361 1360
1362/** 1361/*
1363 * login complete 1362 * login complete
1364 */ 1363 */
1365static void 1364static void
@@ -1400,7 +1399,7 @@ bfa_lps_sm_online(struct bfa_lps_s *lps, enum bfa_lps_event event)
1400 } 1399 }
1401} 1400}
1402 1401
1403/** 1402/*
1404 * logout in progress - awaiting firmware response 1403 * logout in progress - awaiting firmware response
1405 */ 1404 */
1406static void 1405static void
@@ -1424,7 +1423,7 @@ bfa_lps_sm_logout(struct bfa_lps_s *lps, enum bfa_lps_event event)
1424 } 1423 }
1425} 1424}
1426 1425
1427/** 1426/*
1428 * logout pending -- awaiting space in request queue 1427 * logout pending -- awaiting space in request queue
1429 */ 1428 */
1430static void 1429static void
@@ -1451,11 +1450,11 @@ bfa_lps_sm_logowait(struct bfa_lps_s *lps, enum bfa_lps_event event)
1451 1450
1452 1451
1453 1452
1454/** 1453/*
1455 * lps_pvt BFA LPS private functions 1454 * lps_pvt BFA LPS private functions
1456 */ 1455 */
1457 1456
1458/** 1457/*
1459 * return memory requirement 1458 * return memory requirement
1460 */ 1459 */
1461static void 1460static void
@@ -1468,7 +1467,7 @@ bfa_lps_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *ndm_len,
1468 *ndm_len += sizeof(struct bfa_lps_s) * BFA_LPS_MAX_LPORTS; 1467 *ndm_len += sizeof(struct bfa_lps_s) * BFA_LPS_MAX_LPORTS;
1469} 1468}
1470 1469
1471/** 1470/*
1472 * bfa module attach at initialization time 1471 * bfa module attach at initialization time
1473 */ 1472 */
1474static void 1473static void
@@ -1479,7 +1478,7 @@ bfa_lps_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
1479 struct bfa_lps_s *lps; 1478 struct bfa_lps_s *lps;
1480 int i; 1479 int i;
1481 1480
1482 bfa_os_memset(mod, 0, sizeof(struct bfa_lps_mod_s)); 1481 memset(mod, 0, sizeof(struct bfa_lps_mod_s));
1483 mod->num_lps = BFA_LPS_MAX_LPORTS; 1482 mod->num_lps = BFA_LPS_MAX_LPORTS;
1484 if (cfg->drvcfg.min_cfg) 1483 if (cfg->drvcfg.min_cfg)
1485 mod->num_lps = BFA_LPS_MIN_LPORTS; 1484 mod->num_lps = BFA_LPS_MIN_LPORTS;
@@ -1516,7 +1515,7 @@ bfa_lps_stop(struct bfa_s *bfa)
1516{ 1515{
1517} 1516}
1518 1517
1519/** 1518/*
1520 * IOC in disabled state -- consider all lps offline 1519 * IOC in disabled state -- consider all lps offline
1521 */ 1520 */
1522static void 1521static void
@@ -1532,7 +1531,7 @@ bfa_lps_iocdisable(struct bfa_s *bfa)
1532 } 1531 }
1533} 1532}
1534 1533
1535/** 1534/*
1536 * Firmware login response 1535 * Firmware login response
1537 */ 1536 */
1538static void 1537static void
@@ -1550,7 +1549,7 @@ bfa_lps_login_rsp(struct bfa_s *bfa, struct bfi_lps_login_rsp_s *rsp)
1550 lps->fport = rsp->f_port; 1549 lps->fport = rsp->f_port;
1551 lps->npiv_en = rsp->npiv_en; 1550 lps->npiv_en = rsp->npiv_en;
1552 lps->lp_pid = rsp->lp_pid; 1551 lps->lp_pid = rsp->lp_pid;
1553 lps->pr_bbcred = bfa_os_ntohs(rsp->bb_credit); 1552 lps->pr_bbcred = be16_to_cpu(rsp->bb_credit);
1554 lps->pr_pwwn = rsp->port_name; 1553 lps->pr_pwwn = rsp->port_name;
1555 lps->pr_nwwn = rsp->node_name; 1554 lps->pr_nwwn = rsp->node_name;
1556 lps->auth_req = rsp->auth_req; 1555 lps->auth_req = rsp->auth_req;
@@ -1579,7 +1578,7 @@ bfa_lps_login_rsp(struct bfa_s *bfa, struct bfi_lps_login_rsp_s *rsp)
1579 bfa_sm_send_event(lps, BFA_LPS_SM_FWRSP); 1578 bfa_sm_send_event(lps, BFA_LPS_SM_FWRSP);
1580} 1579}
1581 1580
1582/** 1581/*
1583 * Firmware logout response 1582 * Firmware logout response
1584 */ 1583 */
1585static void 1584static void
@@ -1594,7 +1593,7 @@ bfa_lps_logout_rsp(struct bfa_s *bfa, struct bfi_lps_logout_rsp_s *rsp)
1594 bfa_sm_send_event(lps, BFA_LPS_SM_FWRSP); 1593 bfa_sm_send_event(lps, BFA_LPS_SM_FWRSP);
1595} 1594}
1596 1595
1597/** 1596/*
1598 * Firmware received a Clear virtual link request (for FCoE) 1597 * Firmware received a Clear virtual link request (for FCoE)
1599 */ 1598 */
1600static void 1599static void
@@ -1608,7 +1607,7 @@ bfa_lps_rx_cvl_event(struct bfa_s *bfa, struct bfi_lps_cvl_event_s *cvl)
1608 bfa_sm_send_event(lps, BFA_LPS_SM_RX_CVL); 1607 bfa_sm_send_event(lps, BFA_LPS_SM_RX_CVL);
1609} 1608}
1610 1609
1611/** 1610/*
1612 * Space is available in request queue, resume queueing request to firmware. 1611 * Space is available in request queue, resume queueing request to firmware.
1613 */ 1612 */
1614static void 1613static void
@@ -1619,7 +1618,7 @@ bfa_lps_reqq_resume(void *lps_arg)
1619 bfa_sm_send_event(lps, BFA_LPS_SM_RESUME); 1618 bfa_sm_send_event(lps, BFA_LPS_SM_RESUME);
1620} 1619}
1621 1620
1622/** 1621/*
1623 * lps is freed -- triggered by vport delete 1622 * lps is freed -- triggered by vport delete
1624 */ 1623 */
1625static void 1624static void
@@ -1632,7 +1631,7 @@ bfa_lps_free(struct bfa_lps_s *lps)
1632 list_add_tail(&lps->qe, &mod->lps_free_q); 1631 list_add_tail(&lps->qe, &mod->lps_free_q);
1633} 1632}
1634 1633
1635/** 1634/*
1636 * send login request to firmware 1635 * send login request to firmware
1637 */ 1636 */
1638static void 1637static void
@@ -1648,7 +1647,7 @@ bfa_lps_send_login(struct bfa_lps_s *lps)
1648 1647
1649 m->lp_tag = lps->lp_tag; 1648 m->lp_tag = lps->lp_tag;
1650 m->alpa = lps->alpa; 1649 m->alpa = lps->alpa;
1651 m->pdu_size = bfa_os_htons(lps->pdusz); 1650 m->pdu_size = cpu_to_be16(lps->pdusz);
1652 m->pwwn = lps->pwwn; 1651 m->pwwn = lps->pwwn;
1653 m->nwwn = lps->nwwn; 1652 m->nwwn = lps->nwwn;
1654 m->fdisc = lps->fdisc; 1653 m->fdisc = lps->fdisc;
@@ -1657,7 +1656,7 @@ bfa_lps_send_login(struct bfa_lps_s *lps)
1657 bfa_reqq_produce(lps->bfa, lps->reqq); 1656 bfa_reqq_produce(lps->bfa, lps->reqq);
1658} 1657}
1659 1658
1660/** 1659/*
1661 * send logout request to firmware 1660 * send logout request to firmware
1662 */ 1661 */
1663static void 1662static void
@@ -1676,7 +1675,7 @@ bfa_lps_send_logout(struct bfa_lps_s *lps)
1676 bfa_reqq_produce(lps->bfa, lps->reqq); 1675 bfa_reqq_produce(lps->bfa, lps->reqq);
1677} 1676}
1678 1677
1679/** 1678/*
1680 * Indirect login completion handler for non-fcs 1679 * Indirect login completion handler for non-fcs
1681 */ 1680 */
1682static void 1681static void
@@ -1693,7 +1692,7 @@ bfa_lps_login_comp_cb(void *arg, bfa_boolean_t complete)
1693 bfa_cb_lps_flogi_comp(lps->bfa->bfad, lps->uarg, lps->status); 1692 bfa_cb_lps_flogi_comp(lps->bfa->bfad, lps->uarg, lps->status);
1694} 1693}
1695 1694
1696/** 1695/*
1697 * Login completion handler -- direct call for fcs, queue for others 1696 * Login completion handler -- direct call for fcs, queue for others
1698 */ 1697 */
1699static void 1698static void
@@ -1711,7 +1710,7 @@ bfa_lps_login_comp(struct bfa_lps_s *lps)
1711 bfa_cb_lps_flogi_comp(lps->bfa->bfad, lps->uarg, lps->status); 1710 bfa_cb_lps_flogi_comp(lps->bfa->bfad, lps->uarg, lps->status);
1712} 1711}
1713 1712
1714/** 1713/*
1715 * Indirect logout completion handler for non-fcs 1714 * Indirect logout completion handler for non-fcs
1716 */ 1715 */
1717static void 1716static void
@@ -1726,7 +1725,7 @@ bfa_lps_logout_comp_cb(void *arg, bfa_boolean_t complete)
1726 bfa_cb_lps_fdisclogo_comp(lps->bfa->bfad, lps->uarg); 1725 bfa_cb_lps_fdisclogo_comp(lps->bfa->bfad, lps->uarg);
1727} 1726}
1728 1727
1729/** 1728/*
1730 * Logout completion handler -- direct call for fcs, queue for others 1729 * Logout completion handler -- direct call for fcs, queue for others
1731 */ 1730 */
1732static void 1731static void
@@ -1741,7 +1740,7 @@ bfa_lps_logout_comp(struct bfa_lps_s *lps)
1741 bfa_cb_lps_fdisclogo_comp(lps->bfa->bfad, lps->uarg); 1740 bfa_cb_lps_fdisclogo_comp(lps->bfa->bfad, lps->uarg);
1742} 1741}
1743 1742
1744/** 1743/*
1745 * Clear virtual link completion handler for non-fcs 1744 * Clear virtual link completion handler for non-fcs
1746 */ 1745 */
1747static void 1746static void
@@ -1757,7 +1756,7 @@ bfa_lps_cvl_event_cb(void *arg, bfa_boolean_t complete)
1757 bfa_cb_lps_cvl_event(lps->bfa->bfad, lps->uarg); 1756 bfa_cb_lps_cvl_event(lps->bfa->bfad, lps->uarg);
1758} 1757}
1759 1758
1760/** 1759/*
1761 * Received Clear virtual link event --direct call for fcs, 1760 * Received Clear virtual link event --direct call for fcs,
1762 * queue for others 1761 * queue for others
1763 */ 1762 */
@@ -1777,7 +1776,7 @@ bfa_lps_cvl_event(struct bfa_lps_s *lps)
1777 1776
1778 1777
1779 1778
1780/** 1779/*
1781 * lps_public BFA LPS public functions 1780 * lps_public BFA LPS public functions
1782 */ 1781 */
1783 1782
@@ -1790,7 +1789,7 @@ bfa_lps_get_max_vport(struct bfa_s *bfa)
1790 return BFA_LPS_MAX_VPORTS_SUPP_CB; 1789 return BFA_LPS_MAX_VPORTS_SUPP_CB;
1791} 1790}
1792 1791
1793/** 1792/*
1794 * Allocate a lport srvice tag. 1793 * Allocate a lport srvice tag.
1795 */ 1794 */
1796struct bfa_lps_s * 1795struct bfa_lps_s *
@@ -1810,7 +1809,7 @@ bfa_lps_alloc(struct bfa_s *bfa)
1810 return lps; 1809 return lps;
1811} 1810}
1812 1811
1813/** 1812/*
1814 * Free lport service tag. This can be called anytime after an alloc. 1813 * Free lport service tag. This can be called anytime after an alloc.
1815 * No need to wait for any pending login/logout completions. 1814 * No need to wait for any pending login/logout completions.
1816 */ 1815 */
@@ -1820,7 +1819,7 @@ bfa_lps_delete(struct bfa_lps_s *lps)
1820 bfa_sm_send_event(lps, BFA_LPS_SM_DELETE); 1819 bfa_sm_send_event(lps, BFA_LPS_SM_DELETE);
1821} 1820}
1822 1821
1823/** 1822/*
1824 * Initiate a lport login. 1823 * Initiate a lport login.
1825 */ 1824 */
1826void 1825void
@@ -1837,7 +1836,7 @@ bfa_lps_flogi(struct bfa_lps_s *lps, void *uarg, u8 alpa, u16 pdusz,
1837 bfa_sm_send_event(lps, BFA_LPS_SM_LOGIN); 1836 bfa_sm_send_event(lps, BFA_LPS_SM_LOGIN);
1838} 1837}
1839 1838
1840/** 1839/*
1841 * Initiate a lport fdisc login. 1840 * Initiate a lport fdisc login.
1842 */ 1841 */
1843void 1842void
@@ -1854,7 +1853,7 @@ bfa_lps_fdisc(struct bfa_lps_s *lps, void *uarg, u16 pdusz, wwn_t pwwn,
1854 bfa_sm_send_event(lps, BFA_LPS_SM_LOGIN); 1853 bfa_sm_send_event(lps, BFA_LPS_SM_LOGIN);
1855} 1854}
1856 1855
1857/** 1856/*
1858 * Initiate a lport logout (flogi). 1857 * Initiate a lport logout (flogi).
1859 */ 1858 */
1860void 1859void
@@ -1863,7 +1862,7 @@ bfa_lps_flogo(struct bfa_lps_s *lps)
1863 bfa_sm_send_event(lps, BFA_LPS_SM_LOGOUT); 1862 bfa_sm_send_event(lps, BFA_LPS_SM_LOGOUT);
1864} 1863}
1865 1864
1866/** 1865/*
1867 * Initiate a lport FDSIC logout. 1866 * Initiate a lport FDSIC logout.
1868 */ 1867 */
1869void 1868void
@@ -1872,7 +1871,7 @@ bfa_lps_fdisclogo(struct bfa_lps_s *lps)
1872 bfa_sm_send_event(lps, BFA_LPS_SM_LOGOUT); 1871 bfa_sm_send_event(lps, BFA_LPS_SM_LOGOUT);
1873} 1872}
1874 1873
1875/** 1874/*
1876 * Discard a pending login request -- should be called only for 1875 * Discard a pending login request -- should be called only for
1877 * link down handling. 1876 * link down handling.
1878 */ 1877 */
@@ -1882,7 +1881,7 @@ bfa_lps_discard(struct bfa_lps_s *lps)
1882 bfa_sm_send_event(lps, BFA_LPS_SM_OFFLINE); 1881 bfa_sm_send_event(lps, BFA_LPS_SM_OFFLINE);
1883} 1882}
1884 1883
1885/** 1884/*
1886 * Return lport services tag 1885 * Return lport services tag
1887 */ 1886 */
1888u8 1887u8
@@ -1891,7 +1890,7 @@ bfa_lps_get_tag(struct bfa_lps_s *lps)
1891 return lps->lp_tag; 1890 return lps->lp_tag;
1892} 1891}
1893 1892
1894/** 1893/*
1895 * Return lport services tag given the pid 1894 * Return lport services tag given the pid
1896 */ 1895 */
1897u8 1896u8
@@ -1910,7 +1909,7 @@ bfa_lps_get_tag_from_pid(struct bfa_s *bfa, u32 pid)
1910 return 0; 1909 return 0;
1911} 1910}
1912 1911
1913/** 1912/*
1914 * return if fabric login indicates support for NPIV 1913 * return if fabric login indicates support for NPIV
1915 */ 1914 */
1916bfa_boolean_t 1915bfa_boolean_t
@@ -1919,7 +1918,7 @@ bfa_lps_is_npiv_en(struct bfa_lps_s *lps)
1919 return lps->npiv_en; 1918 return lps->npiv_en;
1920} 1919}
1921 1920
1922/** 1921/*
1923 * Return TRUE if attached to F-Port, else return FALSE 1922 * Return TRUE if attached to F-Port, else return FALSE
1924 */ 1923 */
1925bfa_boolean_t 1924bfa_boolean_t
@@ -1928,7 +1927,7 @@ bfa_lps_is_fport(struct bfa_lps_s *lps)
1928 return lps->fport; 1927 return lps->fport;
1929} 1928}
1930 1929
1931/** 1930/*
1932 * Return TRUE if attached to a Brocade Fabric 1931 * Return TRUE if attached to a Brocade Fabric
1933 */ 1932 */
1934bfa_boolean_t 1933bfa_boolean_t
@@ -1936,7 +1935,7 @@ bfa_lps_is_brcd_fabric(struct bfa_lps_s *lps)
1936{ 1935{
1937 return lps->brcd_switch; 1936 return lps->brcd_switch;
1938} 1937}
1939/** 1938/*
1940 * return TRUE if authentication is required 1939 * return TRUE if authentication is required
1941 */ 1940 */
1942bfa_boolean_t 1941bfa_boolean_t
@@ -1951,7 +1950,7 @@ bfa_lps_get_extstatus(struct bfa_lps_s *lps)
1951 return lps->ext_status; 1950 return lps->ext_status;
1952} 1951}
1953 1952
1954/** 1953/*
1955 * return port id assigned to the lport 1954 * return port id assigned to the lport
1956 */ 1955 */
1957u32 1956u32
@@ -1960,7 +1959,7 @@ bfa_lps_get_pid(struct bfa_lps_s *lps)
1960 return lps->lp_pid; 1959 return lps->lp_pid;
1961} 1960}
1962 1961
1963/** 1962/*
1964 * return port id assigned to the base lport 1963 * return port id assigned to the base lport
1965 */ 1964 */
1966u32 1965u32
@@ -1971,7 +1970,7 @@ bfa_lps_get_base_pid(struct bfa_s *bfa)
1971 return BFA_LPS_FROM_TAG(mod, 0)->lp_pid; 1970 return BFA_LPS_FROM_TAG(mod, 0)->lp_pid;
1972} 1971}
1973 1972
1974/** 1973/*
1975 * Return bb_credit assigned in FLOGI response 1974 * Return bb_credit assigned in FLOGI response
1976 */ 1975 */
1977u16 1976u16
@@ -1980,7 +1979,7 @@ bfa_lps_get_peer_bbcredit(struct bfa_lps_s *lps)
1980 return lps->pr_bbcred; 1979 return lps->pr_bbcred;
1981} 1980}
1982 1981
1983/** 1982/*
1984 * Return peer port name 1983 * Return peer port name
1985 */ 1984 */
1986wwn_t 1985wwn_t
@@ -1989,7 +1988,7 @@ bfa_lps_get_peer_pwwn(struct bfa_lps_s *lps)
1989 return lps->pr_pwwn; 1988 return lps->pr_pwwn;
1990} 1989}
1991 1990
1992/** 1991/*
1993 * Return peer node name 1992 * Return peer node name
1994 */ 1993 */
1995wwn_t 1994wwn_t
@@ -1998,7 +1997,7 @@ bfa_lps_get_peer_nwwn(struct bfa_lps_s *lps)
1998 return lps->pr_nwwn; 1997 return lps->pr_nwwn;
1999} 1998}
2000 1999
2001/** 2000/*
2002 * return reason code if login request is rejected 2001 * return reason code if login request is rejected
2003 */ 2002 */
2004u8 2003u8
@@ -2007,7 +2006,7 @@ bfa_lps_get_lsrjt_rsn(struct bfa_lps_s *lps)
2007 return lps->lsrjt_rsn; 2006 return lps->lsrjt_rsn;
2008} 2007}
2009 2008
2010/** 2009/*
2011 * return explanation code if login request is rejected 2010 * return explanation code if login request is rejected
2012 */ 2011 */
2013u8 2012u8
@@ -2016,7 +2015,7 @@ bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps)
2016 return lps->lsrjt_expl; 2015 return lps->lsrjt_expl;
2017} 2016}
2018 2017
2019/** 2018/*
2020 * Return fpma/spma MAC for lport 2019 * Return fpma/spma MAC for lport
2021 */ 2020 */
2022mac_t 2021mac_t
@@ -2025,7 +2024,7 @@ bfa_lps_get_lp_mac(struct bfa_lps_s *lps)
2025 return lps->lp_mac; 2024 return lps->lp_mac;
2026} 2025}
2027 2026
2028/** 2027/*
2029 * LPS firmware message class handler. 2028 * LPS firmware message class handler.
2030 */ 2029 */
2031void 2030void
@@ -2055,7 +2054,7 @@ bfa_lps_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
2055 } 2054 }
2056} 2055}
2057 2056
2058/** 2057/*
2059 * FC PORT state machine functions 2058 * FC PORT state machine functions
2060 */ 2059 */
2061static void 2060static void
@@ -2066,7 +2065,7 @@ bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport,
2066 2065
2067 switch (event) { 2066 switch (event) {
2068 case BFA_FCPORT_SM_START: 2067 case BFA_FCPORT_SM_START:
2069 /** 2068 /*
2070 * Start event after IOC is configured and BFA is started. 2069 * Start event after IOC is configured and BFA is started.
2071 */ 2070 */
2072 if (bfa_fcport_send_enable(fcport)) { 2071 if (bfa_fcport_send_enable(fcport)) {
@@ -2080,7 +2079,7 @@ bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport,
2080 break; 2079 break;
2081 2080
2082 case BFA_FCPORT_SM_ENABLE: 2081 case BFA_FCPORT_SM_ENABLE:
2083 /** 2082 /*
2084 * Port is persistently configured to be in enabled state. Do 2083 * Port is persistently configured to be in enabled state. Do
2085 * not change state. Port enabling is done when START event is 2084 * not change state. Port enabling is done when START event is
2086 * received. 2085 * received.
@@ -2088,7 +2087,7 @@ bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport,
2088 break; 2087 break;
2089 2088
2090 case BFA_FCPORT_SM_DISABLE: 2089 case BFA_FCPORT_SM_DISABLE:
2091 /** 2090 /*
2092 * If a port is persistently configured to be disabled, the 2091 * If a port is persistently configured to be disabled, the
2093 * first event will a port disable request. 2092 * first event will a port disable request.
2094 */ 2093 */
@@ -2124,13 +2123,13 @@ bfa_fcport_sm_enabling_qwait(struct bfa_fcport_s *fcport,
2124 break; 2123 break;
2125 2124
2126 case BFA_FCPORT_SM_ENABLE: 2125 case BFA_FCPORT_SM_ENABLE:
2127 /** 2126 /*
2128 * Already enable is in progress. 2127 * Already enable is in progress.
2129 */ 2128 */
2130 break; 2129 break;
2131 2130
2132 case BFA_FCPORT_SM_DISABLE: 2131 case BFA_FCPORT_SM_DISABLE:
2133 /** 2132 /*
2134 * Just send disable request to firmware when room becomes 2133 * Just send disable request to firmware when room becomes
2135 * available in request queue. 2134 * available in request queue.
2136 */ 2135 */
@@ -2145,7 +2144,7 @@ bfa_fcport_sm_enabling_qwait(struct bfa_fcport_s *fcport,
2145 2144
2146 case BFA_FCPORT_SM_LINKUP: 2145 case BFA_FCPORT_SM_LINKUP:
2147 case BFA_FCPORT_SM_LINKDOWN: 2146 case BFA_FCPORT_SM_LINKDOWN:
2148 /** 2147 /*
2149 * Possible to get link events when doing back-to-back 2148 * Possible to get link events when doing back-to-back
2150 * enable/disables. 2149 * enable/disables.
2151 */ 2150 */
@@ -2184,7 +2183,7 @@ bfa_fcport_sm_enabling(struct bfa_fcport_s *fcport,
2184 break; 2183 break;
2185 2184
2186 case BFA_FCPORT_SM_ENABLE: 2185 case BFA_FCPORT_SM_ENABLE:
2187 /** 2186 /*
2188 * Already being enabled. 2187 * Already being enabled.
2189 */ 2188 */
2190 break; 2189 break;
@@ -2257,13 +2256,13 @@ bfa_fcport_sm_linkdown(struct bfa_fcport_s *fcport,
2257 break; 2256 break;
2258 2257
2259 case BFA_FCPORT_SM_LINKDOWN: 2258 case BFA_FCPORT_SM_LINKDOWN:
2260 /** 2259 /*
2261 * Possible to get link down event. 2260 * Possible to get link down event.
2262 */ 2261 */
2263 break; 2262 break;
2264 2263
2265 case BFA_FCPORT_SM_ENABLE: 2264 case BFA_FCPORT_SM_ENABLE:
2266 /** 2265 /*
2267 * Already enabled. 2266 * Already enabled.
2268 */ 2267 */
2269 break; 2268 break;
@@ -2306,7 +2305,7 @@ bfa_fcport_sm_linkup(struct bfa_fcport_s *fcport,
2306 2305
2307 switch (event) { 2306 switch (event) {
2308 case BFA_FCPORT_SM_ENABLE: 2307 case BFA_FCPORT_SM_ENABLE:
2309 /** 2308 /*
2310 * Already enabled. 2309 * Already enabled.
2311 */ 2310 */
2312 break; 2311 break;
@@ -2399,14 +2398,14 @@ bfa_fcport_sm_disabling_qwait(struct bfa_fcport_s *fcport,
2399 break; 2398 break;
2400 2399
2401 case BFA_FCPORT_SM_DISABLE: 2400 case BFA_FCPORT_SM_DISABLE:
2402 /** 2401 /*
2403 * Already being disabled. 2402 * Already being disabled.
2404 */ 2403 */
2405 break; 2404 break;
2406 2405
2407 case BFA_FCPORT_SM_LINKUP: 2406 case BFA_FCPORT_SM_LINKUP:
2408 case BFA_FCPORT_SM_LINKDOWN: 2407 case BFA_FCPORT_SM_LINKDOWN:
2409 /** 2408 /*
2410 * Possible to get link events when doing back-to-back 2409 * Possible to get link events when doing back-to-back
2411 * enable/disables. 2410 * enable/disables.
2412 */ 2411 */
@@ -2453,7 +2452,7 @@ bfa_fcport_sm_toggling_qwait(struct bfa_fcport_s *fcport,
2453 2452
2454 case BFA_FCPORT_SM_LINKUP: 2453 case BFA_FCPORT_SM_LINKUP:
2455 case BFA_FCPORT_SM_LINKDOWN: 2454 case BFA_FCPORT_SM_LINKDOWN:
2456 /** 2455 /*
2457 * Possible to get link events when doing back-to-back 2456 * Possible to get link events when doing back-to-back
2458 * enable/disables. 2457 * enable/disables.
2459 */ 2458 */
@@ -2483,7 +2482,7 @@ bfa_fcport_sm_disabling(struct bfa_fcport_s *fcport,
2483 break; 2482 break;
2484 2483
2485 case BFA_FCPORT_SM_DISABLE: 2484 case BFA_FCPORT_SM_DISABLE:
2486 /** 2485 /*
2487 * Already being disabled. 2486 * Already being disabled.
2488 */ 2487 */
2489 break; 2488 break;
@@ -2508,7 +2507,7 @@ bfa_fcport_sm_disabling(struct bfa_fcport_s *fcport,
2508 2507
2509 case BFA_FCPORT_SM_LINKUP: 2508 case BFA_FCPORT_SM_LINKUP:
2510 case BFA_FCPORT_SM_LINKDOWN: 2509 case BFA_FCPORT_SM_LINKDOWN:
2511 /** 2510 /*
2512 * Possible to get link events when doing back-to-back 2511 * Possible to get link events when doing back-to-back
2513 * enable/disables. 2512 * enable/disables.
2514 */ 2513 */
@@ -2533,7 +2532,7 @@ bfa_fcport_sm_disabled(struct bfa_fcport_s *fcport,
2533 2532
2534 switch (event) { 2533 switch (event) {
2535 case BFA_FCPORT_SM_START: 2534 case BFA_FCPORT_SM_START:
2536 /** 2535 /*
2537 * Ignore start event for a port that is disabled. 2536 * Ignore start event for a port that is disabled.
2538 */ 2537 */
2539 break; 2538 break;
@@ -2557,7 +2556,7 @@ bfa_fcport_sm_disabled(struct bfa_fcport_s *fcport,
2557 break; 2556 break;
2558 2557
2559 case BFA_FCPORT_SM_DISABLE: 2558 case BFA_FCPORT_SM_DISABLE:
2560 /** 2559 /*
2561 * Already disabled. 2560 * Already disabled.
2562 */ 2561 */
2563 break; 2562 break;
@@ -2587,14 +2586,14 @@ bfa_fcport_sm_stopped(struct bfa_fcport_s *fcport,
2587 break; 2586 break;
2588 2587
2589 default: 2588 default:
2590 /** 2589 /*
2591 * Ignore all other events. 2590 * Ignore all other events.
2592 */ 2591 */
2593 ; 2592 ;
2594 } 2593 }
2595} 2594}
2596 2595
2597/** 2596/*
2598 * Port is enabled. IOC is down/failed. 2597 * Port is enabled. IOC is down/failed.
2599 */ 2598 */
2600static void 2599static void
@@ -2613,14 +2612,14 @@ bfa_fcport_sm_iocdown(struct bfa_fcport_s *fcport,
2613 break; 2612 break;
2614 2613
2615 default: 2614 default:
2616 /** 2615 /*
2617 * Ignore all events. 2616 * Ignore all events.
2618 */ 2617 */
2619 ; 2618 ;
2620 } 2619 }
2621} 2620}
2622 2621
2623/** 2622/*
2624 * Port is disabled. IOC is down/failed. 2623 * Port is disabled. IOC is down/failed.
2625 */ 2624 */
2626static void 2625static void
@@ -2639,14 +2638,14 @@ bfa_fcport_sm_iocfail(struct bfa_fcport_s *fcport,
2639 break; 2638 break;
2640 2639
2641 default: 2640 default:
2642 /** 2641 /*
2643 * Ignore all events. 2642 * Ignore all events.
2644 */ 2643 */
2645 ; 2644 ;
2646 } 2645 }
2647} 2646}
2648 2647
2649/** 2648/*
2650 * Link state is down 2649 * Link state is down
2651 */ 2650 */
2652static void 2651static void
@@ -2666,7 +2665,7 @@ bfa_fcport_ln_sm_dn(struct bfa_fcport_ln_s *ln,
2666 } 2665 }
2667} 2666}
2668 2667
2669/** 2668/*
2670 * Link state is waiting for down notification 2669 * Link state is waiting for down notification
2671 */ 2670 */
2672static void 2671static void
@@ -2689,7 +2688,7 @@ bfa_fcport_ln_sm_dn_nf(struct bfa_fcport_ln_s *ln,
2689 } 2688 }
2690} 2689}
2691 2690
2692/** 2691/*
2693 * Link state is waiting for down notification and there is a pending up 2692 * Link state is waiting for down notification and there is a pending up
2694 */ 2693 */
2695static void 2694static void
@@ -2713,7 +2712,7 @@ bfa_fcport_ln_sm_dn_up_nf(struct bfa_fcport_ln_s *ln,
2713 } 2712 }
2714} 2713}
2715 2714
2716/** 2715/*
2717 * Link state is up 2716 * Link state is up
2718 */ 2717 */
2719static void 2718static void
@@ -2733,7 +2732,7 @@ bfa_fcport_ln_sm_up(struct bfa_fcport_ln_s *ln,
2733 } 2732 }
2734} 2733}
2735 2734
2736/** 2735/*
2737 * Link state is waiting for up notification 2736 * Link state is waiting for up notification
2738 */ 2737 */
2739static void 2738static void
@@ -2756,7 +2755,7 @@ bfa_fcport_ln_sm_up_nf(struct bfa_fcport_ln_s *ln,
2756 } 2755 }
2757} 2756}
2758 2757
2759/** 2758/*
2760 * Link state is waiting for up notification and there is a pending down 2759 * Link state is waiting for up notification and there is a pending down
2761 */ 2760 */
2762static void 2761static void
@@ -2780,7 +2779,7 @@ bfa_fcport_ln_sm_up_dn_nf(struct bfa_fcport_ln_s *ln,
2780 } 2779 }
2781} 2780}
2782 2781
2783/** 2782/*
2784 * Link state is waiting for up notification and there are pending down and up 2783 * Link state is waiting for up notification and there are pending down and up
2785 */ 2784 */
2786static void 2785static void
@@ -2806,7 +2805,7 @@ bfa_fcport_ln_sm_up_dn_up_nf(struct bfa_fcport_ln_s *ln,
2806 2805
2807 2806
2808 2807
2809/** 2808/*
2810 * hal_port_private 2809 * hal_port_private
2811 */ 2810 */
2812 2811
@@ -2821,7 +2820,7 @@ __bfa_cb_fcport_event(void *cbarg, bfa_boolean_t complete)
2821 bfa_sm_send_event(ln, BFA_FCPORT_LN_SM_NOTIFICATION); 2820 bfa_sm_send_event(ln, BFA_FCPORT_LN_SM_NOTIFICATION);
2822} 2821}
2823 2822
2824/** 2823/*
2825 * Send SCN notification to upper layers. 2824 * Send SCN notification to upper layers.
2826 * trunk - false if caller is fcport to ignore fcport event in trunked mode 2825 * trunk - false if caller is fcport to ignore fcport event in trunked mode
2827 */ 2826 */
@@ -2897,7 +2896,7 @@ bfa_fcport_mem_claim(struct bfa_fcport_s *fcport, struct bfa_meminfo_s *meminfo)
2897 bfa_meminfo_dma_phys(meminfo) = dm_pa; 2896 bfa_meminfo_dma_phys(meminfo) = dm_pa;
2898} 2897}
2899 2898
2900/** 2899/*
2901 * Memory initialization. 2900 * Memory initialization.
2902 */ 2901 */
2903static void 2902static void
@@ -2909,7 +2908,7 @@ bfa_fcport_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
2909 struct bfa_fcport_ln_s *ln = &fcport->ln; 2908 struct bfa_fcport_ln_s *ln = &fcport->ln;
2910 struct bfa_timeval_s tv; 2909 struct bfa_timeval_s tv;
2911 2910
2912 bfa_os_memset(fcport, 0, sizeof(struct bfa_fcport_s)); 2911 memset(fcport, 0, sizeof(struct bfa_fcport_s));
2913 fcport->bfa = bfa; 2912 fcport->bfa = bfa;
2914 ln->fcport = fcport; 2913 ln->fcport = fcport;
2915 2914
@@ -2918,13 +2917,13 @@ bfa_fcport_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
2918 bfa_sm_set_state(fcport, bfa_fcport_sm_uninit); 2917 bfa_sm_set_state(fcport, bfa_fcport_sm_uninit);
2919 bfa_sm_set_state(ln, bfa_fcport_ln_sm_dn); 2918 bfa_sm_set_state(ln, bfa_fcport_ln_sm_dn);
2920 2919
2921 /** 2920 /*
2922 * initialize time stamp for stats reset 2921 * initialize time stamp for stats reset
2923 */ 2922 */
2924 bfa_os_gettimeofday(&tv); 2923 bfa_os_gettimeofday(&tv);
2925 fcport->stats_reset_time = tv.tv_sec; 2924 fcport->stats_reset_time = tv.tv_sec;
2926 2925
2927 /** 2926 /*
2928 * initialize and set default configuration 2927 * initialize and set default configuration
2929 */ 2928 */
2930 port_cfg->topology = BFA_PORT_TOPOLOGY_P2P; 2929 port_cfg->topology = BFA_PORT_TOPOLOGY_P2P;
@@ -2942,7 +2941,7 @@ bfa_fcport_detach(struct bfa_s *bfa)
2942{ 2941{
2943} 2942}
2944 2943
2945/** 2944/*
2946 * Called when IOC is ready. 2945 * Called when IOC is ready.
2947 */ 2946 */
2948static void 2947static void
@@ -2951,7 +2950,7 @@ bfa_fcport_start(struct bfa_s *bfa)
2951 bfa_sm_send_event(BFA_FCPORT_MOD(bfa), BFA_FCPORT_SM_START); 2950 bfa_sm_send_event(BFA_FCPORT_MOD(bfa), BFA_FCPORT_SM_START);
2952} 2951}
2953 2952
2954/** 2953/*
2955 * Called before IOC is stopped. 2954 * Called before IOC is stopped.
2956 */ 2955 */
2957static void 2956static void
@@ -2961,7 +2960,7 @@ bfa_fcport_stop(struct bfa_s *bfa)
2961 bfa_trunk_iocdisable(bfa); 2960 bfa_trunk_iocdisable(bfa);
2962} 2961}
2963 2962
2964/** 2963/*
2965 * Called when IOC failure is detected. 2964 * Called when IOC failure is detected.
2966 */ 2965 */
2967static void 2966static void
@@ -2986,18 +2985,17 @@ bfa_fcport_update_linkinfo(struct bfa_fcport_s *fcport)
2986 fcport->myalpa = 0; 2985 fcport->myalpa = 0;
2987 2986
2988 /* QoS Details */ 2987 /* QoS Details */
2989 bfa_os_assign(fcport->qos_attr, pevent->link_state.qos_attr); 2988 fcport->qos_attr = pevent->link_state.qos_attr;
2990 bfa_os_assign(fcport->qos_vc_attr, 2989 fcport->qos_vc_attr = pevent->link_state.vc_fcf.qos_vc_attr;
2991 pevent->link_state.vc_fcf.qos_vc_attr);
2992 2990
2993 /** 2991 /*
2994 * update trunk state if applicable 2992 * update trunk state if applicable
2995 */ 2993 */
2996 if (!fcport->cfg.trunked) 2994 if (!fcport->cfg.trunked)
2997 trunk->attr.state = BFA_TRUNK_DISABLED; 2995 trunk->attr.state = BFA_TRUNK_DISABLED;
2998 2996
2999 /* update FCoE specific */ 2997 /* update FCoE specific */
3000 fcport->fcoe_vlan = bfa_os_ntohs(pevent->link_state.vc_fcf.fcf.vlan); 2998 fcport->fcoe_vlan = be16_to_cpu(pevent->link_state.vc_fcf.fcf.vlan);
3001 2999
3002 bfa_trc(fcport->bfa, fcport->speed); 3000 bfa_trc(fcport->bfa, fcport->speed);
3003 bfa_trc(fcport->bfa, fcport->topology); 3001 bfa_trc(fcport->bfa, fcport->topology);
@@ -3010,7 +3008,7 @@ bfa_fcport_reset_linkinfo(struct bfa_fcport_s *fcport)
3010 fcport->topology = BFA_PORT_TOPOLOGY_NONE; 3008 fcport->topology = BFA_PORT_TOPOLOGY_NONE;
3011} 3009}
3012 3010
3013/** 3011/*
3014 * Send port enable message to firmware. 3012 * Send port enable message to firmware.
3015 */ 3013 */
3016static bfa_boolean_t 3014static bfa_boolean_t
@@ -3018,13 +3016,13 @@ bfa_fcport_send_enable(struct bfa_fcport_s *fcport)
3018{ 3016{
3019 struct bfi_fcport_enable_req_s *m; 3017 struct bfi_fcport_enable_req_s *m;
3020 3018
3021 /** 3019 /*
3022 * Increment message tag before queue check, so that responses to old 3020 * Increment message tag before queue check, so that responses to old
3023 * requests are discarded. 3021 * requests are discarded.
3024 */ 3022 */
3025 fcport->msgtag++; 3023 fcport->msgtag++;
3026 3024
3027 /** 3025 /*
3028 * check for room in queue to send request now 3026 * check for room in queue to send request now
3029 */ 3027 */
3030 m = bfa_reqq_next(fcport->bfa, BFA_REQQ_PORT); 3028 m = bfa_reqq_next(fcport->bfa, BFA_REQQ_PORT);
@@ -3040,19 +3038,19 @@ bfa_fcport_send_enable(struct bfa_fcport_s *fcport)
3040 m->pwwn = fcport->pwwn; 3038 m->pwwn = fcport->pwwn;
3041 m->port_cfg = fcport->cfg; 3039 m->port_cfg = fcport->cfg;
3042 m->msgtag = fcport->msgtag; 3040 m->msgtag = fcport->msgtag;
3043 m->port_cfg.maxfrsize = bfa_os_htons(fcport->cfg.maxfrsize); 3041 m->port_cfg.maxfrsize = cpu_to_be16(fcport->cfg.maxfrsize);
3044 bfa_dma_be_addr_set(m->stats_dma_addr, fcport->stats_pa); 3042 bfa_dma_be_addr_set(m->stats_dma_addr, fcport->stats_pa);
3045 bfa_trc(fcport->bfa, m->stats_dma_addr.a32.addr_lo); 3043 bfa_trc(fcport->bfa, m->stats_dma_addr.a32.addr_lo);
3046 bfa_trc(fcport->bfa, m->stats_dma_addr.a32.addr_hi); 3044 bfa_trc(fcport->bfa, m->stats_dma_addr.a32.addr_hi);
3047 3045
3048 /** 3046 /*
3049 * queue I/O message to firmware 3047 * queue I/O message to firmware
3050 */ 3048 */
3051 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT); 3049 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
3052 return BFA_TRUE; 3050 return BFA_TRUE;
3053} 3051}
3054 3052
3055/** 3053/*
3056 * Send port disable message to firmware. 3054 * Send port disable message to firmware.
3057 */ 3055 */
3058static bfa_boolean_t 3056static bfa_boolean_t
@@ -3060,13 +3058,13 @@ bfa_fcport_send_disable(struct bfa_fcport_s *fcport)
3060{ 3058{
3061 struct bfi_fcport_req_s *m; 3059 struct bfi_fcport_req_s *m;
3062 3060
3063 /** 3061 /*
3064 * Increment message tag before queue check, so that responses to old 3062 * Increment message tag before queue check, so that responses to old
3065 * requests are discarded. 3063 * requests are discarded.
3066 */ 3064 */
3067 fcport->msgtag++; 3065 fcport->msgtag++;
3068 3066
3069 /** 3067 /*
3070 * check for room in queue to send request now 3068 * check for room in queue to send request now
3071 */ 3069 */
3072 m = bfa_reqq_next(fcport->bfa, BFA_REQQ_PORT); 3070 m = bfa_reqq_next(fcport->bfa, BFA_REQQ_PORT);
@@ -3080,7 +3078,7 @@ bfa_fcport_send_disable(struct bfa_fcport_s *fcport)
3080 bfa_lpuid(fcport->bfa)); 3078 bfa_lpuid(fcport->bfa));
3081 m->msgtag = fcport->msgtag; 3079 m->msgtag = fcport->msgtag;
3082 3080
3083 /** 3081 /*
3084 * queue I/O message to firmware 3082 * queue I/O message to firmware
3085 */ 3083 */
3086 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT); 3084 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
@@ -3105,7 +3103,7 @@ bfa_fcport_send_txcredit(void *port_cbarg)
3105 struct bfa_fcport_s *fcport = port_cbarg; 3103 struct bfa_fcport_s *fcport = port_cbarg;
3106 struct bfi_fcport_set_svc_params_req_s *m; 3104 struct bfi_fcport_set_svc_params_req_s *m;
3107 3105
3108 /** 3106 /*
3109 * check for room in queue to send request now 3107 * check for room in queue to send request now
3110 */ 3108 */
3111 m = bfa_reqq_next(fcport->bfa, BFA_REQQ_PORT); 3109 m = bfa_reqq_next(fcport->bfa, BFA_REQQ_PORT);
@@ -3116,9 +3114,9 @@ bfa_fcport_send_txcredit(void *port_cbarg)
3116 3114
3117 bfi_h2i_set(m->mh, BFI_MC_FCPORT, BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ, 3115 bfi_h2i_set(m->mh, BFI_MC_FCPORT, BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ,
3118 bfa_lpuid(fcport->bfa)); 3116 bfa_lpuid(fcport->bfa));
3119 m->tx_bbcredit = bfa_os_htons((u16)fcport->cfg.tx_bbcredit); 3117 m->tx_bbcredit = cpu_to_be16((u16)fcport->cfg.tx_bbcredit);
3120 3118
3121 /** 3119 /*
3122 * queue I/O message to firmware 3120 * queue I/O message to firmware
3123 */ 3121 */
3124 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT); 3122 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
@@ -3134,7 +3132,7 @@ bfa_fcport_qos_stats_swap(struct bfa_qos_stats_s *d,
3134 3132
3135 /* Now swap the 32 bit fields */ 3133 /* Now swap the 32 bit fields */
3136 for (i = 0; i < (sizeof(struct bfa_qos_stats_s)/sizeof(u32)); ++i) 3134 for (i = 0; i < (sizeof(struct bfa_qos_stats_s)/sizeof(u32)); ++i)
3137 dip[i] = bfa_os_ntohl(sip[i]); 3135 dip[i] = be32_to_cpu(sip[i]);
3138} 3136}
3139 3137
3140static void 3138static void
@@ -3148,11 +3146,11 @@ bfa_fcport_fcoe_stats_swap(struct bfa_fcoe_stats_s *d,
3148 for (i = 0; i < ((sizeof(struct bfa_fcoe_stats_s))/sizeof(u32)); 3146 for (i = 0; i < ((sizeof(struct bfa_fcoe_stats_s))/sizeof(u32));
3149 i = i + 2) { 3147 i = i + 2) {
3150#ifdef __BIGENDIAN 3148#ifdef __BIGENDIAN
3151 dip[i] = bfa_os_ntohl(sip[i]); 3149 dip[i] = be32_to_cpu(sip[i]);
3152 dip[i + 1] = bfa_os_ntohl(sip[i + 1]); 3150 dip[i + 1] = be32_to_cpu(sip[i + 1]);
3153#else 3151#else
3154 dip[i] = bfa_os_ntohl(sip[i + 1]); 3152 dip[i] = be32_to_cpu(sip[i + 1]);
3155 dip[i + 1] = bfa_os_ntohl(sip[i]); 3153 dip[i + 1] = be32_to_cpu(sip[i]);
3156#endif 3154#endif
3157 } 3155 }
3158} 3156}
@@ -3223,7 +3221,7 @@ bfa_fcport_send_stats_get(void *cbarg)
3223 } 3221 }
3224 fcport->stats_qfull = BFA_FALSE; 3222 fcport->stats_qfull = BFA_FALSE;
3225 3223
3226 bfa_os_memset(msg, 0, sizeof(struct bfi_fcport_req_s)); 3224 memset(msg, 0, sizeof(struct bfi_fcport_req_s));
3227 bfi_h2i_set(msg->mh, BFI_MC_FCPORT, BFI_FCPORT_H2I_STATS_GET_REQ, 3225 bfi_h2i_set(msg->mh, BFI_MC_FCPORT, BFI_FCPORT_H2I_STATS_GET_REQ,
3228 bfa_lpuid(fcport->bfa)); 3226 bfa_lpuid(fcport->bfa));
3229 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT); 3227 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
@@ -3237,7 +3235,7 @@ __bfa_cb_fcport_stats_clr(void *cbarg, bfa_boolean_t complete)
3237 if (complete) { 3235 if (complete) {
3238 struct bfa_timeval_s tv; 3236 struct bfa_timeval_s tv;
3239 3237
3240 /** 3238 /*
3241 * re-initialize time stamp for stats reset 3239 * re-initialize time stamp for stats reset
3242 */ 3240 */
3243 bfa_os_gettimeofday(&tv); 3241 bfa_os_gettimeofday(&tv);
@@ -3285,13 +3283,13 @@ bfa_fcport_send_stats_clear(void *cbarg)
3285 } 3283 }
3286 fcport->stats_qfull = BFA_FALSE; 3284 fcport->stats_qfull = BFA_FALSE;
3287 3285
3288 bfa_os_memset(msg, 0, sizeof(struct bfi_fcport_req_s)); 3286 memset(msg, 0, sizeof(struct bfi_fcport_req_s));
3289 bfi_h2i_set(msg->mh, BFI_MC_FCPORT, BFI_FCPORT_H2I_STATS_CLEAR_REQ, 3287 bfi_h2i_set(msg->mh, BFI_MC_FCPORT, BFI_FCPORT_H2I_STATS_CLEAR_REQ,
3290 bfa_lpuid(fcport->bfa)); 3288 bfa_lpuid(fcport->bfa));
3291 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT); 3289 bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
3292} 3290}
3293 3291
3294/** 3292/*
3295 * Handle trunk SCN event from firmware. 3293 * Handle trunk SCN event from firmware.
3296 */ 3294 */
3297static void 3295static void
@@ -3312,7 +3310,7 @@ bfa_trunk_scn(struct bfa_fcport_s *fcport, struct bfi_fcport_trunk_scn_s *scn)
3312 bfa_trc(fcport->bfa, scn->trunk_state); 3310 bfa_trc(fcport->bfa, scn->trunk_state);
3313 bfa_trc(fcport->bfa, scn->trunk_speed); 3311 bfa_trc(fcport->bfa, scn->trunk_speed);
3314 3312
3315 /** 3313 /*
3316 * Save off new state for trunk attribute query 3314 * Save off new state for trunk attribute query
3317 */ 3315 */
3318 state_prev = trunk->attr.state; 3316 state_prev = trunk->attr.state;
@@ -3327,7 +3325,7 @@ bfa_trunk_scn(struct bfa_fcport_s *fcport, struct bfi_fcport_trunk_scn_s *scn)
3327 lattr->trunk_wwn = tlink->trunk_wwn; 3325 lattr->trunk_wwn = tlink->trunk_wwn;
3328 lattr->fctl = tlink->fctl; 3326 lattr->fctl = tlink->fctl;
3329 lattr->speed = tlink->speed; 3327 lattr->speed = tlink->speed;
3330 lattr->deskew = bfa_os_ntohl(tlink->deskew); 3328 lattr->deskew = be32_to_cpu(tlink->deskew);
3331 3329
3332 if (tlink->state == BFA_TRUNK_LINK_STATE_UP) { 3330 if (tlink->state == BFA_TRUNK_LINK_STATE_UP) {
3333 fcport->speed = tlink->speed; 3331 fcport->speed = tlink->speed;
@@ -3360,7 +3358,7 @@ bfa_trunk_scn(struct bfa_fcport_s *fcport, struct bfi_fcport_trunk_scn_s *scn)
3360 BFA_PL_EID_TRUNK_SCN, 0, "Trunk down"); 3358 BFA_PL_EID_TRUNK_SCN, 0, "Trunk down");
3361 } 3359 }
3362 3360
3363 /** 3361 /*
3364 * Notify upper layers if trunk state changed. 3362 * Notify upper layers if trunk state changed.
3365 */ 3363 */
3366 if ((state_prev != trunk->attr.state) || 3364 if ((state_prev != trunk->attr.state) ||
@@ -3376,7 +3374,7 @@ bfa_trunk_iocdisable(struct bfa_s *bfa)
3376 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 3374 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3377 int i = 0; 3375 int i = 0;
3378 3376
3379 /** 3377 /*
3380 * In trunked mode, notify upper layers that link is down 3378 * In trunked mode, notify upper layers that link is down
3381 */ 3379 */
3382 if (fcport->cfg.trunked) { 3380 if (fcport->cfg.trunked) {
@@ -3400,11 +3398,11 @@ bfa_trunk_iocdisable(struct bfa_s *bfa)
3400 3398
3401 3399
3402 3400
3403/** 3401/*
3404 * hal_port_public 3402 * hal_port_public
3405 */ 3403 */
3406 3404
3407/** 3405/*
3408 * Called to initialize port attributes 3406 * Called to initialize port attributes
3409 */ 3407 */
3410void 3408void
@@ -3412,7 +3410,7 @@ bfa_fcport_init(struct bfa_s *bfa)
3412{ 3410{
3413 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 3411 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3414 3412
3415 /** 3413 /*
3416 * Initialize port attributes from IOC hardware data. 3414 * Initialize port attributes from IOC hardware data.
3417 */ 3415 */
3418 bfa_fcport_set_wwns(fcport); 3416 bfa_fcport_set_wwns(fcport);
@@ -3426,7 +3424,7 @@ bfa_fcport_init(struct bfa_s *bfa)
3426 bfa_assert(fcport->speed_sup); 3424 bfa_assert(fcport->speed_sup);
3427} 3425}
3428 3426
3429/** 3427/*
3430 * Firmware message handler. 3428 * Firmware message handler.
3431 */ 3429 */
3432void 3430void
@@ -3507,11 +3505,11 @@ bfa_fcport_isr(struct bfa_s *bfa, struct bfi_msg_s *msg)
3507 3505
3508 3506
3509 3507
3510/** 3508/*
3511 * hal_port_api 3509 * hal_port_api
3512 */ 3510 */
3513 3511
3514/** 3512/*
3515 * Registered callback for port events. 3513 * Registered callback for port events.
3516 */ 3514 */
3517void 3515void
@@ -3552,7 +3550,7 @@ bfa_fcport_disable(struct bfa_s *bfa)
3552 return BFA_STATUS_OK; 3550 return BFA_STATUS_OK;
3553} 3551}
3554 3552
3555/** 3553/*
3556 * Configure port speed. 3554 * Configure port speed.
3557 */ 3555 */
3558bfa_status_t 3556bfa_status_t
@@ -3574,7 +3572,7 @@ bfa_fcport_cfg_speed(struct bfa_s *bfa, enum bfa_port_speed speed)
3574 return BFA_STATUS_OK; 3572 return BFA_STATUS_OK;
3575} 3573}
3576 3574
3577/** 3575/*
3578 * Get current speed. 3576 * Get current speed.
3579 */ 3577 */
3580enum bfa_port_speed 3578enum bfa_port_speed
@@ -3585,7 +3583,7 @@ bfa_fcport_get_speed(struct bfa_s *bfa)
3585 return fcport->speed; 3583 return fcport->speed;
3586} 3584}
3587 3585
3588/** 3586/*
3589 * Configure port topology. 3587 * Configure port topology.
3590 */ 3588 */
3591bfa_status_t 3589bfa_status_t
@@ -3610,7 +3608,7 @@ bfa_fcport_cfg_topology(struct bfa_s *bfa, enum bfa_port_topology topology)
3610 return BFA_STATUS_OK; 3608 return BFA_STATUS_OK;
3611} 3609}
3612 3610
3613/** 3611/*
3614 * Get current topology. 3612 * Get current topology.
3615 */ 3613 */
3616enum bfa_port_topology 3614enum bfa_port_topology
@@ -3710,7 +3708,7 @@ bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit)
3710 bfa_fcport_send_txcredit(fcport); 3708 bfa_fcport_send_txcredit(fcport);
3711} 3709}
3712 3710
3713/** 3711/*
3714 * Get port attributes. 3712 * Get port attributes.
3715 */ 3713 */
3716 3714
@@ -3729,7 +3727,7 @@ bfa_fcport_get_attr(struct bfa_s *bfa, struct bfa_port_attr_s *attr)
3729{ 3727{
3730 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 3728 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3731 3729
3732 bfa_os_memset(attr, 0, sizeof(struct bfa_port_attr_s)); 3730 memset(attr, 0, sizeof(struct bfa_port_attr_s));
3733 3731
3734 attr->nwwn = fcport->nwwn; 3732 attr->nwwn = fcport->nwwn;
3735 attr->pwwn = fcport->pwwn; 3733 attr->pwwn = fcport->pwwn;
@@ -3737,7 +3735,7 @@ bfa_fcport_get_attr(struct bfa_s *bfa, struct bfa_port_attr_s *attr)
3737 attr->factorypwwn = bfa_ioc_get_mfg_pwwn(&bfa->ioc); 3735 attr->factorypwwn = bfa_ioc_get_mfg_pwwn(&bfa->ioc);
3738 attr->factorynwwn = bfa_ioc_get_mfg_nwwn(&bfa->ioc); 3736 attr->factorynwwn = bfa_ioc_get_mfg_nwwn(&bfa->ioc);
3739 3737
3740 bfa_os_memcpy(&attr->pport_cfg, &fcport->cfg, 3738 memcpy(&attr->pport_cfg, &fcport->cfg,
3741 sizeof(struct bfa_port_cfg_s)); 3739 sizeof(struct bfa_port_cfg_s));
3742 /* speed attributes */ 3740 /* speed attributes */
3743 attr->pport_cfg.speed = fcport->cfg.speed; 3741 attr->pport_cfg.speed = fcport->cfg.speed;
@@ -3770,7 +3768,7 @@ bfa_fcport_get_attr(struct bfa_s *bfa, struct bfa_port_attr_s *attr)
3770 3768
3771#define BFA_FCPORT_STATS_TOV 1000 3769#define BFA_FCPORT_STATS_TOV 1000
3772 3770
3773/** 3771/*
3774 * Fetch port statistics (FCQoS or FCoE). 3772 * Fetch port statistics (FCQoS or FCoE).
3775 */ 3773 */
3776bfa_status_t 3774bfa_status_t
@@ -3796,7 +3794,7 @@ bfa_fcport_get_stats(struct bfa_s *bfa, union bfa_fcport_stats_u *stats,
3796 return BFA_STATUS_OK; 3794 return BFA_STATUS_OK;
3797} 3795}
3798 3796
3799/** 3797/*
3800 * Reset port statistics (FCQoS or FCoE). 3798 * Reset port statistics (FCQoS or FCoE).
3801 */ 3799 */
3802bfa_status_t 3800bfa_status_t
@@ -3820,7 +3818,7 @@ bfa_fcport_clear_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn, void *cbarg)
3820 return BFA_STATUS_OK; 3818 return BFA_STATUS_OK;
3821} 3819}
3822 3820
3823/** 3821/*
3824 * Fetch FCQoS port statistics 3822 * Fetch FCQoS port statistics
3825 */ 3823 */
3826bfa_status_t 3824bfa_status_t
@@ -3833,7 +3831,7 @@ bfa_fcport_get_qos_stats(struct bfa_s *bfa, union bfa_fcport_stats_u *stats,
3833 return bfa_fcport_get_stats(bfa, stats, cbfn, cbarg); 3831 return bfa_fcport_get_stats(bfa, stats, cbfn, cbarg);
3834} 3832}
3835 3833
3836/** 3834/*
3837 * Reset FCoE port statistics 3835 * Reset FCoE port statistics
3838 */ 3836 */
3839bfa_status_t 3837bfa_status_t
@@ -3845,7 +3843,7 @@ bfa_fcport_clear_qos_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn, void *cbarg)
3845 return bfa_fcport_clear_stats(bfa, cbfn, cbarg); 3843 return bfa_fcport_clear_stats(bfa, cbfn, cbarg);
3846} 3844}
3847 3845
3848/** 3846/*
3849 * Fetch FCQoS port statistics 3847 * Fetch FCQoS port statistics
3850 */ 3848 */
3851bfa_status_t 3849bfa_status_t
@@ -3858,7 +3856,7 @@ bfa_fcport_get_fcoe_stats(struct bfa_s *bfa, union bfa_fcport_stats_u *stats,
3858 return bfa_fcport_get_stats(bfa, stats, cbfn, cbarg); 3856 return bfa_fcport_get_stats(bfa, stats, cbfn, cbarg);
3859} 3857}
3860 3858
3861/** 3859/*
3862 * Reset FCoE port statistics 3860 * Reset FCoE port statistics
3863 */ 3861 */
3864bfa_status_t 3862bfa_status_t
@@ -3876,7 +3874,7 @@ bfa_fcport_qos_get_attr(struct bfa_s *bfa, struct bfa_qos_attr_s *qos_attr)
3876 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 3874 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3877 3875
3878 qos_attr->state = fcport->qos_attr.state; 3876 qos_attr->state = fcport->qos_attr.state;
3879 qos_attr->total_bb_cr = bfa_os_ntohl(fcport->qos_attr.total_bb_cr); 3877 qos_attr->total_bb_cr = be32_to_cpu(fcport->qos_attr.total_bb_cr);
3880} 3878}
3881 3879
3882void 3880void
@@ -3887,10 +3885,10 @@ bfa_fcport_qos_get_vc_attr(struct bfa_s *bfa,
3887 struct bfa_qos_vc_attr_s *bfa_vc_attr = &fcport->qos_vc_attr; 3885 struct bfa_qos_vc_attr_s *bfa_vc_attr = &fcport->qos_vc_attr;
3888 u32 i = 0; 3886 u32 i = 0;
3889 3887
3890 qos_vc_attr->total_vc_count = bfa_os_ntohs(bfa_vc_attr->total_vc_count); 3888 qos_vc_attr->total_vc_count = be16_to_cpu(bfa_vc_attr->total_vc_count);
3891 qos_vc_attr->shared_credit = bfa_os_ntohs(bfa_vc_attr->shared_credit); 3889 qos_vc_attr->shared_credit = be16_to_cpu(bfa_vc_attr->shared_credit);
3892 qos_vc_attr->elp_opmode_flags = 3890 qos_vc_attr->elp_opmode_flags =
3893 bfa_os_ntohl(bfa_vc_attr->elp_opmode_flags); 3891 be32_to_cpu(bfa_vc_attr->elp_opmode_flags);
3894 3892
3895 /* Individual VC info */ 3893 /* Individual VC info */
3896 while (i < qos_vc_attr->total_vc_count) { 3894 while (i < qos_vc_attr->total_vc_count) {
@@ -3904,7 +3902,7 @@ bfa_fcport_qos_get_vc_attr(struct bfa_s *bfa,
3904 } 3902 }
3905} 3903}
3906 3904
3907/** 3905/*
3908 * Fetch port attributes. 3906 * Fetch port attributes.
3909 */ 3907 */
3910bfa_boolean_t 3908bfa_boolean_t
@@ -3939,7 +3937,7 @@ bfa_fcport_cfg_qos(struct bfa_s *bfa, bfa_boolean_t on_off)
3939 3937
3940 if (ioc_type == BFA_IOC_TYPE_FC) { 3938 if (ioc_type == BFA_IOC_TYPE_FC) {
3941 fcport->cfg.qos_enabled = on_off; 3939 fcport->cfg.qos_enabled = on_off;
3942 /** 3940 /*
3943 * Notify fcpim of the change in QoS state 3941 * Notify fcpim of the change in QoS state
3944 */ 3942 */
3945 bfa_fcpim_update_ioredirect(bfa); 3943 bfa_fcpim_update_ioredirect(bfa);
@@ -3959,7 +3957,7 @@ bfa_fcport_cfg_ratelim(struct bfa_s *bfa, bfa_boolean_t on_off)
3959 fcport->cfg.trl_def_speed = BFA_PORT_SPEED_1GBPS; 3957 fcport->cfg.trl_def_speed = BFA_PORT_SPEED_1GBPS;
3960} 3958}
3961 3959
3962/** 3960/*
3963 * Configure default minimum ratelim speed 3961 * Configure default minimum ratelim speed
3964 */ 3962 */
3965bfa_status_t 3963bfa_status_t
@@ -3980,7 +3978,7 @@ bfa_fcport_cfg_ratelim_speed(struct bfa_s *bfa, enum bfa_port_speed speed)
3980 return BFA_STATUS_OK; 3978 return BFA_STATUS_OK;
3981} 3979}
3982 3980
3983/** 3981/*
3984 * Get default minimum ratelim speed 3982 * Get default minimum ratelim speed
3985 */ 3983 */
3986enum bfa_port_speed 3984enum bfa_port_speed
@@ -4095,10 +4093,10 @@ bfa_trunk_disable(struct bfa_s *bfa)
4095} 4093}
4096 4094
4097 4095
4098/** 4096/*
4099 * Rport State machine functions 4097 * Rport State machine functions
4100 */ 4098 */
4101/** 4099/*
4102 * Beginning state, only online event expected. 4100 * Beginning state, only online event expected.
4103 */ 4101 */
4104static void 4102static void
@@ -4151,7 +4149,7 @@ bfa_rport_sm_created(struct bfa_rport_s *rp, enum bfa_rport_event event)
4151 } 4149 }
4152} 4150}
4153 4151
4154/** 4152/*
4155 * Waiting for rport create response from firmware. 4153 * Waiting for rport create response from firmware.
4156 */ 4154 */
4157static void 4155static void
@@ -4188,7 +4186,7 @@ bfa_rport_sm_fwcreate(struct bfa_rport_s *rp, enum bfa_rport_event event)
4188 } 4186 }
4189} 4187}
4190 4188
4191/** 4189/*
4192 * Request queue is full, awaiting queue resume to send create request. 4190 * Request queue is full, awaiting queue resume to send create request.
4193 */ 4191 */
4194static void 4192static void
@@ -4229,7 +4227,7 @@ bfa_rport_sm_fwcreate_qfull(struct bfa_rport_s *rp, enum bfa_rport_event event)
4229 } 4227 }
4230} 4228}
4231 4229
4232/** 4230/*
4233 * Online state - normal parking state. 4231 * Online state - normal parking state.
4234 */ 4232 */
4235static void 4233static void
@@ -4275,9 +4273,9 @@ bfa_rport_sm_online(struct bfa_rport_s *rp, enum bfa_rport_event event)
4275 bfa_trc(rp->bfa, qos_scn->new_qos_attr.qos_priority); 4273 bfa_trc(rp->bfa, qos_scn->new_qos_attr.qos_priority);
4276 4274
4277 qos_scn->old_qos_attr.qos_flow_id = 4275 qos_scn->old_qos_attr.qos_flow_id =
4278 bfa_os_ntohl(qos_scn->old_qos_attr.qos_flow_id); 4276 be32_to_cpu(qos_scn->old_qos_attr.qos_flow_id);
4279 qos_scn->new_qos_attr.qos_flow_id = 4277 qos_scn->new_qos_attr.qos_flow_id =
4280 bfa_os_ntohl(qos_scn->new_qos_attr.qos_flow_id); 4278 be32_to_cpu(qos_scn->new_qos_attr.qos_flow_id);
4281 4279
4282 if (qos_scn->old_qos_attr.qos_flow_id != 4280 if (qos_scn->old_qos_attr.qos_flow_id !=
4283 qos_scn->new_qos_attr.qos_flow_id) 4281 qos_scn->new_qos_attr.qos_flow_id)
@@ -4297,7 +4295,7 @@ bfa_rport_sm_online(struct bfa_rport_s *rp, enum bfa_rport_event event)
4297 } 4295 }
4298} 4296}
4299 4297
4300/** 4298/*
4301 * Firmware rport is being deleted - awaiting f/w response. 4299 * Firmware rport is being deleted - awaiting f/w response.
4302 */ 4300 */
4303static void 4301static void
@@ -4360,7 +4358,7 @@ bfa_rport_sm_fwdelete_qfull(struct bfa_rport_s *rp, enum bfa_rport_event event)
4360 } 4358 }
4361} 4359}
4362 4360
4363/** 4361/*
4364 * Offline state. 4362 * Offline state.
4365 */ 4363 */
4366static void 4364static void
@@ -4395,7 +4393,7 @@ bfa_rport_sm_offline(struct bfa_rport_s *rp, enum bfa_rport_event event)
4395 } 4393 }
4396} 4394}
4397 4395
4398/** 4396/*
4399 * Rport is deleted, waiting for firmware response to delete. 4397 * Rport is deleted, waiting for firmware response to delete.
4400 */ 4398 */
4401static void 4399static void
@@ -4447,7 +4445,7 @@ bfa_rport_sm_deleting_qfull(struct bfa_rport_s *rp, enum bfa_rport_event event)
4447 } 4445 }
4448} 4446}
4449 4447
4450/** 4448/*
4451 * Waiting for rport create response from firmware. A delete is pending. 4449 * Waiting for rport create response from firmware. A delete is pending.
4452 */ 4450 */
4453static void 4451static void
@@ -4478,7 +4476,7 @@ bfa_rport_sm_delete_pending(struct bfa_rport_s *rp,
4478 } 4476 }
4479} 4477}
4480 4478
4481/** 4479/*
4482 * Waiting for rport create response from firmware. Rport offline is pending. 4480 * Waiting for rport create response from firmware. Rport offline is pending.
4483 */ 4481 */
4484static void 4482static void
@@ -4513,7 +4511,7 @@ bfa_rport_sm_offline_pending(struct bfa_rport_s *rp,
4513 } 4511 }
4514} 4512}
4515 4513
4516/** 4514/*
4517 * IOC h/w failed. 4515 * IOC h/w failed.
4518 */ 4516 */
4519static void 4517static void
@@ -4553,7 +4551,7 @@ bfa_rport_sm_iocdisable(struct bfa_rport_s *rp, enum bfa_rport_event event)
4553 4551
4554 4552
4555 4553
4556/** 4554/*
4557 * bfa_rport_private BFA rport private functions 4555 * bfa_rport_private BFA rport private functions
4558 */ 4556 */
4559 4557
@@ -4612,12 +4610,12 @@ bfa_rport_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
4612 !(mod->num_rports & (mod->num_rports - 1))); 4610 !(mod->num_rports & (mod->num_rports - 1)));
4613 4611
4614 for (i = 0; i < mod->num_rports; i++, rp++) { 4612 for (i = 0; i < mod->num_rports; i++, rp++) {
4615 bfa_os_memset(rp, 0, sizeof(struct bfa_rport_s)); 4613 memset(rp, 0, sizeof(struct bfa_rport_s));
4616 rp->bfa = bfa; 4614 rp->bfa = bfa;
4617 rp->rport_tag = i; 4615 rp->rport_tag = i;
4618 bfa_sm_set_state(rp, bfa_rport_sm_uninit); 4616 bfa_sm_set_state(rp, bfa_rport_sm_uninit);
4619 4617
4620 /** 4618 /*
4621 * - is unused 4619 * - is unused
4622 */ 4620 */
4623 if (i) 4621 if (i)
@@ -4626,7 +4624,7 @@ bfa_rport_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
4626 bfa_reqq_winit(&rp->reqq_wait, bfa_rport_qresume, rp); 4624 bfa_reqq_winit(&rp->reqq_wait, bfa_rport_qresume, rp);
4627 } 4625 }
4628 4626
4629 /** 4627 /*
4630 * consume memory 4628 * consume memory
4631 */ 4629 */
4632 bfa_meminfo_kva(meminfo) = (u8 *) rp; 4630 bfa_meminfo_kva(meminfo) = (u8 *) rp;
@@ -4687,7 +4685,7 @@ bfa_rport_send_fwcreate(struct bfa_rport_s *rp)
4687{ 4685{
4688 struct bfi_rport_create_req_s *m; 4686 struct bfi_rport_create_req_s *m;
4689 4687
4690 /** 4688 /*
4691 * check for room in queue to send request now 4689 * check for room in queue to send request now
4692 */ 4690 */
4693 m = bfa_reqq_next(rp->bfa, BFA_REQQ_RPORT); 4691 m = bfa_reqq_next(rp->bfa, BFA_REQQ_RPORT);
@@ -4699,7 +4697,7 @@ bfa_rport_send_fwcreate(struct bfa_rport_s *rp)
4699 bfi_h2i_set(m->mh, BFI_MC_RPORT, BFI_RPORT_H2I_CREATE_REQ, 4697 bfi_h2i_set(m->mh, BFI_MC_RPORT, BFI_RPORT_H2I_CREATE_REQ,
4700 bfa_lpuid(rp->bfa)); 4698 bfa_lpuid(rp->bfa));
4701 m->bfa_handle = rp->rport_tag; 4699 m->bfa_handle = rp->rport_tag;
4702 m->max_frmsz = bfa_os_htons(rp->rport_info.max_frmsz); 4700 m->max_frmsz = cpu_to_be16(rp->rport_info.max_frmsz);
4703 m->pid = rp->rport_info.pid; 4701 m->pid = rp->rport_info.pid;
4704 m->lp_tag = rp->rport_info.lp_tag; 4702 m->lp_tag = rp->rport_info.lp_tag;
4705 m->local_pid = rp->rport_info.local_pid; 4703 m->local_pid = rp->rport_info.local_pid;
@@ -4708,7 +4706,7 @@ bfa_rport_send_fwcreate(struct bfa_rport_s *rp)
4708 m->vf_id = rp->rport_info.vf_id; 4706 m->vf_id = rp->rport_info.vf_id;
4709 m->cisc = rp->rport_info.cisc; 4707 m->cisc = rp->rport_info.cisc;
4710 4708
4711 /** 4709 /*
4712 * queue I/O message to firmware 4710 * queue I/O message to firmware
4713 */ 4711 */
4714 bfa_reqq_produce(rp->bfa, BFA_REQQ_RPORT); 4712 bfa_reqq_produce(rp->bfa, BFA_REQQ_RPORT);
@@ -4720,7 +4718,7 @@ bfa_rport_send_fwdelete(struct bfa_rport_s *rp)
4720{ 4718{
4721 struct bfi_rport_delete_req_s *m; 4719 struct bfi_rport_delete_req_s *m;
4722 4720
4723 /** 4721 /*
4724 * check for room in queue to send request now 4722 * check for room in queue to send request now
4725 */ 4723 */
4726 m = bfa_reqq_next(rp->bfa, BFA_REQQ_RPORT); 4724 m = bfa_reqq_next(rp->bfa, BFA_REQQ_RPORT);
@@ -4733,7 +4731,7 @@ bfa_rport_send_fwdelete(struct bfa_rport_s *rp)
4733 bfa_lpuid(rp->bfa)); 4731 bfa_lpuid(rp->bfa));
4734 m->fw_handle = rp->fw_handle; 4732 m->fw_handle = rp->fw_handle;
4735 4733
4736 /** 4734 /*
4737 * queue I/O message to firmware 4735 * queue I/O message to firmware
4738 */ 4736 */
4739 bfa_reqq_produce(rp->bfa, BFA_REQQ_RPORT); 4737 bfa_reqq_produce(rp->bfa, BFA_REQQ_RPORT);
@@ -4745,7 +4743,7 @@ bfa_rport_send_fwspeed(struct bfa_rport_s *rp)
4745{ 4743{
4746 struct bfa_rport_speed_req_s *m; 4744 struct bfa_rport_speed_req_s *m;
4747 4745
4748 /** 4746 /*
4749 * check for room in queue to send request now 4747 * check for room in queue to send request now
4750 */ 4748 */
4751 m = bfa_reqq_next(rp->bfa, BFA_REQQ_RPORT); 4749 m = bfa_reqq_next(rp->bfa, BFA_REQQ_RPORT);
@@ -4759,7 +4757,7 @@ bfa_rport_send_fwspeed(struct bfa_rport_s *rp)
4759 m->fw_handle = rp->fw_handle; 4757 m->fw_handle = rp->fw_handle;
4760 m->speed = (u8)rp->rport_info.speed; 4758 m->speed = (u8)rp->rport_info.speed;
4761 4759
4762 /** 4760 /*
4763 * queue I/O message to firmware 4761 * queue I/O message to firmware
4764 */ 4762 */
4765 bfa_reqq_produce(rp->bfa, BFA_REQQ_RPORT); 4763 bfa_reqq_produce(rp->bfa, BFA_REQQ_RPORT);
@@ -4768,11 +4766,11 @@ bfa_rport_send_fwspeed(struct bfa_rport_s *rp)
4768 4766
4769 4767
4770 4768
4771/** 4769/*
4772 * bfa_rport_public 4770 * bfa_rport_public
4773 */ 4771 */
4774 4772
4775/** 4773/*
4776 * Rport interrupt processing. 4774 * Rport interrupt processing.
4777 */ 4775 */
4778void 4776void
@@ -4814,7 +4812,7 @@ bfa_rport_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
4814 4812
4815 4813
4816 4814
4817/** 4815/*
4818 * bfa_rport_api 4816 * bfa_rport_api
4819 */ 4817 */
4820 4818
@@ -4849,7 +4847,7 @@ bfa_rport_online(struct bfa_rport_s *rport, struct bfa_rport_info_s *rport_info)
4849{ 4847{
4850 bfa_assert(rport_info->max_frmsz != 0); 4848 bfa_assert(rport_info->max_frmsz != 0);
4851 4849
4852 /** 4850 /*
4853 * Some JBODs are seen to be not setting PDU size correctly in PLOGI 4851 * Some JBODs are seen to be not setting PDU size correctly in PLOGI
4854 * responses. Default to minimum size. 4852 * responses. Default to minimum size.
4855 */ 4853 */
@@ -4858,7 +4856,7 @@ bfa_rport_online(struct bfa_rport_s *rport, struct bfa_rport_info_s *rport_info)
4858 rport_info->max_frmsz = FC_MIN_PDUSZ; 4856 rport_info->max_frmsz = FC_MIN_PDUSZ;
4859 } 4857 }
4860 4858
4861 bfa_os_assign(rport->rport_info, *rport_info); 4859 rport->rport_info = *rport_info;
4862 bfa_sm_send_event(rport, BFA_RPORT_SM_ONLINE); 4860 bfa_sm_send_event(rport, BFA_RPORT_SM_ONLINE);
4863} 4861}
4864 4862
@@ -4890,22 +4888,22 @@ bfa_rport_get_qos_attr(struct bfa_rport_s *rport,
4890 struct bfa_rport_qos_attr_s *qos_attr) 4888 struct bfa_rport_qos_attr_s *qos_attr)
4891{ 4889{
4892 qos_attr->qos_priority = rport->qos_attr.qos_priority; 4890 qos_attr->qos_priority = rport->qos_attr.qos_priority;
4893 qos_attr->qos_flow_id = bfa_os_ntohl(rport->qos_attr.qos_flow_id); 4891 qos_attr->qos_flow_id = be32_to_cpu(rport->qos_attr.qos_flow_id);
4894 4892
4895} 4893}
4896 4894
4897void 4895void
4898bfa_rport_clear_stats(struct bfa_rport_s *rport) 4896bfa_rport_clear_stats(struct bfa_rport_s *rport)
4899{ 4897{
4900 bfa_os_memset(&rport->stats, 0, sizeof(rport->stats)); 4898 memset(&rport->stats, 0, sizeof(rport->stats));
4901} 4899}
4902 4900
4903 4901
4904/** 4902/*
4905 * SGPG related functions 4903 * SGPG related functions
4906 */ 4904 */
4907 4905
4908/** 4906/*
4909 * Compute and return memory needed by FCP(im) module. 4907 * Compute and return memory needed by FCP(im) module.
4910 */ 4908 */
4911static void 4909static void
@@ -4957,8 +4955,8 @@ bfa_sgpg_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
4957 bfa_assert(!(sgpg_pa.pa & (sizeof(struct bfi_sgpg_s) - 1))); 4955 bfa_assert(!(sgpg_pa.pa & (sizeof(struct bfi_sgpg_s) - 1)));
4958 4956
4959 for (i = 0; i < mod->num_sgpgs; i++) { 4957 for (i = 0; i < mod->num_sgpgs; i++) {
4960 bfa_os_memset(hsgpg, 0, sizeof(*hsgpg)); 4958 memset(hsgpg, 0, sizeof(*hsgpg));
4961 bfa_os_memset(sgpg, 0, sizeof(*sgpg)); 4959 memset(sgpg, 0, sizeof(*sgpg));
4962 4960
4963 hsgpg->sgpg = sgpg; 4961 hsgpg->sgpg = sgpg;
4964 sgpg_pa_tmp.pa = bfa_sgaddr_le(sgpg_pa.pa); 4962 sgpg_pa_tmp.pa = bfa_sgaddr_le(sgpg_pa.pa);
@@ -4997,7 +4995,7 @@ bfa_sgpg_iocdisable(struct bfa_s *bfa)
4997 4995
4998 4996
4999 4997
5000/** 4998/*
5001 * hal_sgpg_public BFA SGPG public functions 4999 * hal_sgpg_public BFA SGPG public functions
5002 */ 5000 */
5003 5001
@@ -5039,7 +5037,7 @@ bfa_sgpg_mfree(struct bfa_s *bfa, struct list_head *sgpg_q, int nsgpg)
5039 if (list_empty(&mod->sgpg_wait_q)) 5037 if (list_empty(&mod->sgpg_wait_q))
5040 return; 5038 return;
5041 5039
5042 /** 5040 /*
5043 * satisfy as many waiting requests as possible 5041 * satisfy as many waiting requests as possible
5044 */ 5042 */
5045 do { 5043 do {
@@ -5067,11 +5065,11 @@ bfa_sgpg_wait(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe, int nsgpg)
5067 5065
5068 wqe->nsgpg_total = wqe->nsgpg = nsgpg; 5066 wqe->nsgpg_total = wqe->nsgpg = nsgpg;
5069 5067
5070 /** 5068 /*
5071 * allocate any left to this one first 5069 * allocate any left to this one first
5072 */ 5070 */
5073 if (mod->free_sgpgs) { 5071 if (mod->free_sgpgs) {
5074 /** 5072 /*
5075 * no one else is waiting for SGPG 5073 * no one else is waiting for SGPG
5076 */ 5074 */
5077 bfa_assert(list_empty(&mod->sgpg_wait_q)); 5075 bfa_assert(list_empty(&mod->sgpg_wait_q));
@@ -5105,7 +5103,7 @@ bfa_sgpg_winit(struct bfa_sgpg_wqe_s *wqe, void (*cbfn) (void *cbarg),
5105 wqe->cbarg = cbarg; 5103 wqe->cbarg = cbarg;
5106} 5104}
5107 5105
5108/** 5106/*
5109 * UF related functions 5107 * UF related functions
5110 */ 5108 */
5111/* 5109/*
@@ -5136,7 +5134,7 @@ claim_uf_pbs(struct bfa_uf_mod_s *ufm, struct bfa_meminfo_s *mi)
5136 bfa_meminfo_dma_virt(mi) += uf_pb_tot_sz; 5134 bfa_meminfo_dma_virt(mi) += uf_pb_tot_sz;
5137 bfa_meminfo_dma_phys(mi) += uf_pb_tot_sz; 5135 bfa_meminfo_dma_phys(mi) += uf_pb_tot_sz;
5138 5136
5139 bfa_os_memset((void *)ufm->uf_pbs_kva, 0, uf_pb_tot_sz); 5137 memset((void *)ufm->uf_pbs_kva, 0, uf_pb_tot_sz);
5140} 5138}
5141 5139
5142static void 5140static void
@@ -5153,11 +5151,11 @@ claim_uf_post_msgs(struct bfa_uf_mod_s *ufm, struct bfa_meminfo_s *mi)
5153 5151
5154 for (i = 0, uf_bp_msg = ufm->uf_buf_posts; i < ufm->num_ufs; 5152 for (i = 0, uf_bp_msg = ufm->uf_buf_posts; i < ufm->num_ufs;
5155 i++, uf_bp_msg++) { 5153 i++, uf_bp_msg++) {
5156 bfa_os_memset(uf_bp_msg, 0, sizeof(struct bfi_uf_buf_post_s)); 5154 memset(uf_bp_msg, 0, sizeof(struct bfi_uf_buf_post_s));
5157 5155
5158 uf_bp_msg->buf_tag = i; 5156 uf_bp_msg->buf_tag = i;
5159 buf_len = sizeof(struct bfa_uf_buf_s); 5157 buf_len = sizeof(struct bfa_uf_buf_s);
5160 uf_bp_msg->buf_len = bfa_os_htons(buf_len); 5158 uf_bp_msg->buf_len = cpu_to_be16(buf_len);
5161 bfi_h2i_set(uf_bp_msg->mh, BFI_MC_UF, BFI_UF_H2I_BUF_POST, 5159 bfi_h2i_set(uf_bp_msg->mh, BFI_MC_UF, BFI_UF_H2I_BUF_POST,
5162 bfa_lpuid(ufm->bfa)); 5160 bfa_lpuid(ufm->bfa));
5163 5161
@@ -5173,7 +5171,7 @@ claim_uf_post_msgs(struct bfa_uf_mod_s *ufm, struct bfa_meminfo_s *mi)
5173 bfa_sge_to_be(&sge[1]); 5171 bfa_sge_to_be(&sge[1]);
5174 } 5172 }
5175 5173
5176 /** 5174 /*
5177 * advance pointer beyond consumed memory 5175 * advance pointer beyond consumed memory
5178 */ 5176 */
5179 bfa_meminfo_kva(mi) = (u8 *) uf_bp_msg; 5177 bfa_meminfo_kva(mi) = (u8 *) uf_bp_msg;
@@ -5194,7 +5192,7 @@ claim_ufs(struct bfa_uf_mod_s *ufm, struct bfa_meminfo_s *mi)
5194 * Initialize UFs and queue it in UF free queue 5192 * Initialize UFs and queue it in UF free queue
5195 */ 5193 */
5196 for (i = 0, uf = ufm->uf_list; i < ufm->num_ufs; i++, uf++) { 5194 for (i = 0, uf = ufm->uf_list; i < ufm->num_ufs; i++, uf++) {
5197 bfa_os_memset(uf, 0, sizeof(struct bfa_uf_s)); 5195 memset(uf, 0, sizeof(struct bfa_uf_s));
5198 uf->bfa = ufm->bfa; 5196 uf->bfa = ufm->bfa;
5199 uf->uf_tag = i; 5197 uf->uf_tag = i;
5200 uf->pb_len = sizeof(struct bfa_uf_buf_s); 5198 uf->pb_len = sizeof(struct bfa_uf_buf_s);
@@ -5203,7 +5201,7 @@ claim_ufs(struct bfa_uf_mod_s *ufm, struct bfa_meminfo_s *mi)
5203 list_add_tail(&uf->qe, &ufm->uf_free_q); 5201 list_add_tail(&uf->qe, &ufm->uf_free_q);
5204 } 5202 }
5205 5203
5206 /** 5204 /*
5207 * advance memory pointer 5205 * advance memory pointer
5208 */ 5206 */
5209 bfa_meminfo_kva(mi) = (u8 *) uf; 5207 bfa_meminfo_kva(mi) = (u8 *) uf;
@@ -5241,7 +5239,7 @@ bfa_uf_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
5241{ 5239{
5242 struct bfa_uf_mod_s *ufm = BFA_UF_MOD(bfa); 5240 struct bfa_uf_mod_s *ufm = BFA_UF_MOD(bfa);
5243 5241
5244 bfa_os_memset(ufm, 0, sizeof(struct bfa_uf_mod_s)); 5242 memset(ufm, 0, sizeof(struct bfa_uf_mod_s));
5245 ufm->bfa = bfa; 5243 ufm->bfa = bfa;
5246 ufm->num_ufs = cfg->fwcfg.num_uf_bufs; 5244 ufm->num_ufs = cfg->fwcfg.num_uf_bufs;
5247 INIT_LIST_HEAD(&ufm->uf_free_q); 5245 INIT_LIST_HEAD(&ufm->uf_free_q);
@@ -5279,7 +5277,7 @@ bfa_uf_post(struct bfa_uf_mod_s *ufm, struct bfa_uf_s *uf)
5279 if (!uf_post_msg) 5277 if (!uf_post_msg)
5280 return BFA_STATUS_FAILED; 5278 return BFA_STATUS_FAILED;
5281 5279
5282 bfa_os_memcpy(uf_post_msg, &ufm->uf_buf_posts[uf->uf_tag], 5280 memcpy(uf_post_msg, &ufm->uf_buf_posts[uf->uf_tag],
5283 sizeof(struct bfi_uf_buf_post_s)); 5281 sizeof(struct bfi_uf_buf_post_s));
5284 bfa_reqq_produce(ufm->bfa, BFA_REQQ_FCXP); 5282 bfa_reqq_produce(ufm->bfa, BFA_REQQ_FCXP);
5285 5283
@@ -5310,8 +5308,8 @@ uf_recv(struct bfa_s *bfa, struct bfi_uf_frm_rcvd_s *m)
5310 u8 *buf = &uf_buf->d[0]; 5308 u8 *buf = &uf_buf->d[0];
5311 struct fchs_s *fchs; 5309 struct fchs_s *fchs;
5312 5310
5313 m->frm_len = bfa_os_ntohs(m->frm_len); 5311 m->frm_len = be16_to_cpu(m->frm_len);
5314 m->xfr_len = bfa_os_ntohs(m->xfr_len); 5312 m->xfr_len = be16_to_cpu(m->xfr_len);
5315 5313
5316 fchs = (struct fchs_s *)uf_buf; 5314 fchs = (struct fchs_s *)uf_buf;
5317 5315
@@ -5365,11 +5363,11 @@ bfa_uf_start(struct bfa_s *bfa)
5365 5363
5366 5364
5367 5365
5368/** 5366/*
5369 * hal_uf_api 5367 * hal_uf_api
5370 */ 5368 */
5371 5369
5372/** 5370/*
5373 * Register handler for all unsolicted recieve frames. 5371 * Register handler for all unsolicted recieve frames.
5374 * 5372 *
5375 * @param[in] bfa BFA instance 5373 * @param[in] bfa BFA instance
@@ -5385,7 +5383,7 @@ bfa_uf_recv_register(struct bfa_s *bfa, bfa_cb_uf_recv_t ufrecv, void *cbarg)
5385 ufm->cbarg = cbarg; 5383 ufm->cbarg = cbarg;
5386} 5384}
5387 5385
5388/** 5386/*
5389 * Free an unsolicited frame back to BFA. 5387 * Free an unsolicited frame back to BFA.
5390 * 5388 *
5391 * @param[in] uf unsolicited frame to be freed 5389 * @param[in] uf unsolicited frame to be freed
@@ -5401,7 +5399,7 @@ bfa_uf_free(struct bfa_uf_s *uf)
5401 5399
5402 5400
5403 5401
5404/** 5402/*
5405 * uf_pub BFA uf module public functions 5403 * uf_pub BFA uf module public functions
5406 */ 5404 */
5407void 5405void
diff --git a/drivers/scsi/bfa/bfa_svc.h b/drivers/scsi/bfa/bfa_svc.h
index 9921dad0d039..e2349d5cdb93 100644
--- a/drivers/scsi/bfa/bfa_svc.h
+++ b/drivers/scsi/bfa/bfa_svc.h
@@ -22,12 +22,12 @@
22#include "bfi_ms.h" 22#include "bfi_ms.h"
23 23
24 24
25/** 25/*
26 * Scatter-gather DMA related defines 26 * Scatter-gather DMA related defines
27 */ 27 */
28#define BFA_SGPG_MIN (16) 28#define BFA_SGPG_MIN (16)
29 29
30/** 30/*
31 * Alignment macro for SG page allocation 31 * Alignment macro for SG page allocation
32 */ 32 */
33#define BFA_SGPG_ROUNDUP(_l) (((_l) + (sizeof(struct bfi_sgpg_s) - 1)) \ 33#define BFA_SGPG_ROUNDUP(_l) (((_l) + (sizeof(struct bfi_sgpg_s) - 1)) \
@@ -48,7 +48,7 @@ struct bfa_sgpg_s {
48 union bfi_addr_u sgpg_pa; /* pa of SG page */ 48 union bfi_addr_u sgpg_pa; /* pa of SG page */
49}; 49};
50 50
51/** 51/*
52 * Given number of SG elements, BFA_SGPG_NPAGE() returns the number of 52 * Given number of SG elements, BFA_SGPG_NPAGE() returns the number of
53 * SG pages required. 53 * SG pages required.
54 */ 54 */
@@ -75,7 +75,7 @@ void bfa_sgpg_wait(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe, int nsgpgs);
75void bfa_sgpg_wcancel(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe); 75void bfa_sgpg_wcancel(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe);
76 76
77 77
78/** 78/*
79 * FCXP related defines 79 * FCXP related defines
80 */ 80 */
81#define BFA_FCXP_MIN (1) 81#define BFA_FCXP_MIN (1)
@@ -115,12 +115,12 @@ typedef void (*bfa_fcxp_alloc_cbfn_t) (void *cbarg, struct bfa_fcxp_s *fcxp);
115 115
116 116
117 117
118/** 118/*
119 * Information needed for a FCXP request 119 * Information needed for a FCXP request
120 */ 120 */
121struct bfa_fcxp_req_info_s { 121struct bfa_fcxp_req_info_s {
122 struct bfa_rport_s *bfa_rport; 122 struct bfa_rport_s *bfa_rport;
123 /** Pointer to the bfa rport that was 123 /* Pointer to the bfa rport that was
124 * returned from bfa_rport_create(). 124 * returned from bfa_rport_create().
125 * This could be left NULL for WKA or 125 * This could be left NULL for WKA or
126 * for FCXP interactions before the 126 * for FCXP interactions before the
@@ -137,11 +137,10 @@ struct bfa_fcxp_req_info_s {
137 137
138struct bfa_fcxp_rsp_info_s { 138struct bfa_fcxp_rsp_info_s {
139 struct fchs_s rsp_fchs; 139 struct fchs_s rsp_fchs;
140 /** !< Response frame's FC header will 140 /* Response frame's FC header will
141 * be sent back in this field */ 141 * be sent back in this field */
142 u8 rsp_timeout; 142 u8 rsp_timeout;
143 /** !< timeout in seconds, 0-no response 143 /* timeout in seconds, 0-no response */
144 */
145 u8 rsvd2[3]; 144 u8 rsvd2[3];
146 u32 rsp_maxlen; /* max response length expected */ 145 u32 rsp_maxlen; /* max response length expected */
147}; 146};
@@ -218,7 +217,7 @@ struct bfa_fcxp_wqe_s {
218void bfa_fcxp_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 217void bfa_fcxp_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
219 218
220 219
221/** 220/*
222 * RPORT related defines 221 * RPORT related defines
223 */ 222 */
224#define BFA_RPORT_MIN 4 223#define BFA_RPORT_MIN 4
@@ -232,7 +231,7 @@ struct bfa_rport_mod_s {
232 231
233#define BFA_RPORT_MOD(__bfa) (&(__bfa)->modules.rport_mod) 232#define BFA_RPORT_MOD(__bfa) (&(__bfa)->modules.rport_mod)
234 233
235/** 234/*
236 * Convert rport tag to RPORT 235 * Convert rport tag to RPORT
237 */ 236 */
238#define BFA_RPORT_FROM_TAG(__bfa, _tag) \ 237#define BFA_RPORT_FROM_TAG(__bfa, _tag) \
@@ -244,7 +243,7 @@ struct bfa_rport_mod_s {
244 */ 243 */
245void bfa_rport_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 244void bfa_rport_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
246 245
247/** 246/*
248 * BFA rport information. 247 * BFA rport information.
249 */ 248 */
250struct bfa_rport_info_s { 249struct bfa_rport_info_s {
@@ -259,7 +258,7 @@ struct bfa_rport_info_s {
259 enum bfa_port_speed speed; /* Rport's current speed */ 258 enum bfa_port_speed speed; /* Rport's current speed */
260}; 259};
261 260
262/** 261/*
263 * BFA rport data structure 262 * BFA rport data structure
264 */ 263 */
265struct bfa_rport_s { 264struct bfa_rport_s {
@@ -282,7 +281,7 @@ struct bfa_rport_s {
282#define BFA_RPORT_FC_COS(_rport) ((_rport)->rport_info.fc_class) 281#define BFA_RPORT_FC_COS(_rport) ((_rport)->rport_info.fc_class)
283 282
284 283
285/** 284/*
286 * UF - unsolicited receive related defines 285 * UF - unsolicited receive related defines
287 */ 286 */
288 287
@@ -305,7 +304,7 @@ struct bfa_uf_s {
305 struct bfa_sge_s sges[BFI_SGE_INLINE_MAX]; 304 struct bfa_sge_s sges[BFI_SGE_INLINE_MAX];
306}; 305};
307 306
308/** 307/*
309 * Callback prototype for unsolicited frame receive handler. 308 * Callback prototype for unsolicited frame receive handler.
310 * 309 *
311 * @param[in] cbarg callback arg for receive handler 310 * @param[in] cbarg callback arg for receive handler
@@ -338,7 +337,7 @@ void bfa_uf_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
338 337
339#define BFA_UF_BUFSZ (2 * 1024 + 256) 338#define BFA_UF_BUFSZ (2 * 1024 + 256)
340 339
341/** 340/*
342 * @todo private 341 * @todo private
343 */ 342 */
344struct bfa_uf_buf_s { 343struct bfa_uf_buf_s {
@@ -346,7 +345,7 @@ struct bfa_uf_buf_s {
346}; 345};
347 346
348 347
349/** 348/*
350 * LPS - bfa lport login/logout service interface 349 * LPS - bfa lport login/logout service interface
351 */ 350 */
352struct bfa_lps_s { 351struct bfa_lps_s {
@@ -397,14 +396,14 @@ struct bfa_lps_mod_s {
397void bfa_lps_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 396void bfa_lps_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
398 397
399 398
400/** 399/*
401 * FCPORT related defines 400 * FCPORT related defines
402 */ 401 */
403 402
404#define BFA_FCPORT(_bfa) (&((_bfa)->modules.port)) 403#define BFA_FCPORT(_bfa) (&((_bfa)->modules.port))
405typedef void (*bfa_cb_port_t) (void *cbarg, enum bfa_status status); 404typedef void (*bfa_cb_port_t) (void *cbarg, enum bfa_status status);
406 405
407/** 406/*
408 * Link notification data structure 407 * Link notification data structure
409 */ 408 */
410struct bfa_fcport_ln_s { 409struct bfa_fcport_ln_s {
@@ -418,7 +417,7 @@ struct bfa_fcport_trunk_s {
418 struct bfa_trunk_attr_s attr; 417 struct bfa_trunk_attr_s attr;
419}; 418};
420 419
421/** 420/*
422 * BFA FC port data structure 421 * BFA FC port data structure
423 */ 422 */
424struct bfa_fcport_s { 423struct bfa_fcport_s {
@@ -613,7 +612,7 @@ void bfa_uf_recv_register(struct bfa_s *bfa, bfa_cb_uf_recv_t ufrecv,
613 void *cbarg); 612 void *cbarg);
614void bfa_uf_free(struct bfa_uf_s *uf); 613void bfa_uf_free(struct bfa_uf_s *uf);
615 614
616/** 615/*
617 * bfa lport service api 616 * bfa lport service api
618 */ 617 */
619 618
diff --git a/drivers/scsi/bfa/bfad.c b/drivers/scsi/bfa/bfad.c
index 4d8784e06e14..1f938974b848 100644
--- a/drivers/scsi/bfa/bfad.c
+++ b/drivers/scsi/bfa/bfad.c
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * bfad.c Linux driver PCI interface module. 19 * bfad.c Linux driver PCI interface module.
20 */ 20 */
21#include <linux/module.h> 21#include <linux/module.h>
@@ -151,7 +151,7 @@ bfad_sm_failed(struct bfad_s *bfad, enum bfad_sm_event event);
151static void 151static void
152bfad_sm_fcs_exit(struct bfad_s *bfad, enum bfad_sm_event event); 152bfad_sm_fcs_exit(struct bfad_s *bfad, enum bfad_sm_event event);
153 153
154/** 154/*
155 * Beginning state for the driver instance, awaiting the pci_probe event 155 * Beginning state for the driver instance, awaiting the pci_probe event
156 */ 156 */
157static void 157static void
@@ -181,7 +181,7 @@ bfad_sm_uninit(struct bfad_s *bfad, enum bfad_sm_event event)
181 } 181 }
182} 182}
183 183
184/** 184/*
185 * Driver Instance is created, awaiting event INIT to initialize the bfad 185 * Driver Instance is created, awaiting event INIT to initialize the bfad
186 */ 186 */
187static void 187static void
@@ -364,7 +364,7 @@ bfad_sm_stopping(struct bfad_s *bfad, enum bfad_sm_event event)
364 } 364 }
365} 365}
366 366
367/** 367/*
368 * BFA callbacks 368 * BFA callbacks
369 */ 369 */
370void 370void
@@ -376,7 +376,7 @@ bfad_hcb_comp(void *arg, bfa_status_t status)
376 complete(&fcomp->comp); 376 complete(&fcomp->comp);
377} 377}
378 378
379/** 379/*
380 * bfa_init callback 380 * bfa_init callback
381 */ 381 */
382void 382void
@@ -401,7 +401,7 @@ bfa_cb_init(void *drv, bfa_status_t init_status)
401 complete(&bfad->comp); 401 complete(&bfad->comp);
402} 402}
403 403
404/** 404/*
405 * BFA_FCS callbacks 405 * BFA_FCS callbacks
406 */ 406 */
407struct bfad_port_s * 407struct bfad_port_s *
@@ -457,7 +457,7 @@ bfa_fcb_lport_delete(struct bfad_s *bfad, enum bfa_lport_role roles,
457 } 457 }
458} 458}
459 459
460/** 460/*
461 * FCS RPORT alloc callback, after successful PLOGI by FCS 461 * FCS RPORT alloc callback, after successful PLOGI by FCS
462 */ 462 */
463bfa_status_t 463bfa_status_t
@@ -478,7 +478,7 @@ ext:
478 return rc; 478 return rc;
479} 479}
480 480
481/** 481/*
482 * FCS PBC VPORT Create 482 * FCS PBC VPORT Create
483 */ 483 */
484void 484void
@@ -663,7 +663,7 @@ ext:
663 return rc; 663 return rc;
664} 664}
665 665
666/** 666/*
667 * Create a vport under a vf. 667 * Create a vport under a vf.
668 */ 668 */
669bfa_status_t 669bfa_status_t
@@ -716,30 +716,6 @@ ext:
716 return rc; 716 return rc;
717} 717}
718 718
719/**
720 * Create a vf and its base vport implicitely.
721 */
722bfa_status_t
723bfad_vf_create(struct bfad_s *bfad, u16 vf_id,
724 struct bfa_lport_cfg_s *port_cfg)
725{
726 struct bfad_vf_s *vf;
727 int rc = BFA_STATUS_OK;
728
729 vf = kzalloc(sizeof(struct bfad_vf_s), GFP_KERNEL);
730 if (!vf) {
731 rc = BFA_STATUS_FAILED;
732 goto ext;
733 }
734
735 rc = bfa_fcs_vf_create(&vf->fcs_vf, &bfad->bfa_fcs, vf_id, port_cfg,
736 vf);
737 if (rc != BFA_STATUS_OK)
738 kfree(vf);
739ext:
740 return rc;
741}
742
743void 719void
744bfad_bfa_tmo(unsigned long data) 720bfad_bfa_tmo(unsigned long data)
745{ 721{
@@ -885,20 +861,6 @@ bfad_pci_uninit(struct pci_dev *pdev, struct bfad_s *bfad)
885 pci_set_drvdata(pdev, NULL); 861 pci_set_drvdata(pdev, NULL);
886} 862}
887 863
888void
889bfad_fcs_port_cfg(struct bfad_s *bfad)
890{
891 struct bfa_lport_cfg_s port_cfg;
892 struct bfa_port_attr_s attr;
893 char symname[BFA_SYMNAME_MAXLEN];
894
895 sprintf(symname, "%s-%d", BFAD_DRIVER_NAME, bfad->inst_no);
896 memcpy(port_cfg.sym_name.symname, symname, strlen(symname));
897 bfa_fcport_get_attr(&bfad->bfa, &attr);
898 port_cfg.nwwn = attr.nwwn;
899 port_cfg.pwwn = attr.pwwn;
900}
901
902bfa_status_t 864bfa_status_t
903bfad_drv_init(struct bfad_s *bfad) 865bfad_drv_init(struct bfad_s *bfad)
904{ 866{
@@ -1089,9 +1051,6 @@ bfad_start_ops(struct bfad_s *bfad) {
1089 bfa_fcs_init(&bfad->bfa_fcs); 1051 bfa_fcs_init(&bfad->bfa_fcs);
1090 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 1052 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1091 1053
1092 /* PPORT FCS config */
1093 bfad_fcs_port_cfg(bfad);
1094
1095 retval = bfad_cfg_pport(bfad, BFA_LPORT_ROLE_FCP_IM); 1054 retval = bfad_cfg_pport(bfad, BFA_LPORT_ROLE_FCP_IM);
1096 if (retval != BFA_STATUS_OK) { 1055 if (retval != BFA_STATUS_OK) {
1097 if (bfa_sm_cmp_state(bfad, bfad_sm_initializing)) 1056 if (bfa_sm_cmp_state(bfad, bfad_sm_initializing))
@@ -1181,7 +1140,7 @@ bfad_worker(void *ptr)
1181 return 0; 1140 return 0;
1182} 1141}
1183 1142
1184/** 1143/*
1185 * BFA driver interrupt functions 1144 * BFA driver interrupt functions
1186 */ 1145 */
1187irqreturn_t 1146irqreturn_t
@@ -1240,7 +1199,7 @@ bfad_msix(int irq, void *dev_id)
1240 return IRQ_HANDLED; 1199 return IRQ_HANDLED;
1241} 1200}
1242 1201
1243/** 1202/*
1244 * Initialize the MSIX entry table. 1203 * Initialize the MSIX entry table.
1245 */ 1204 */
1246static void 1205static void
@@ -1293,7 +1252,7 @@ bfad_install_msix_handler(struct bfad_s *bfad)
1293 return 0; 1252 return 0;
1294} 1253}
1295 1254
1296/** 1255/*
1297 * Setup MSIX based interrupt. 1256 * Setup MSIX based interrupt.
1298 */ 1257 */
1299int 1258int
@@ -1374,7 +1333,7 @@ bfad_remove_intr(struct bfad_s *bfad)
1374 } 1333 }
1375} 1334}
1376 1335
1377/** 1336/*
1378 * PCI probe entry. 1337 * PCI probe entry.
1379 */ 1338 */
1380int 1339int
@@ -1460,7 +1419,7 @@ out:
1460 return error; 1419 return error;
1461} 1420}
1462 1421
1463/** 1422/*
1464 * PCI remove entry. 1423 * PCI remove entry.
1465 */ 1424 */
1466void 1425void
@@ -1541,7 +1500,7 @@ static struct pci_driver bfad_pci_driver = {
1541 .remove = __devexit_p(bfad_pci_remove), 1500 .remove = __devexit_p(bfad_pci_remove),
1542}; 1501};
1543 1502
1544/** 1503/*
1545 * Driver module init. 1504 * Driver module init.
1546 */ 1505 */
1547static int __init 1506static int __init
@@ -1581,7 +1540,7 @@ ext:
1581 return error; 1540 return error;
1582} 1541}
1583 1542
1584/** 1543/*
1585 * Driver module exit. 1544 * Driver module exit.
1586 */ 1545 */
1587static void __exit 1546static void __exit
diff --git a/drivers/scsi/bfa/bfad_attr.c b/drivers/scsi/bfa/bfad_attr.c
index d8843720eac1..ed9fff440b5c 100644
--- a/drivers/scsi/bfa/bfad_attr.c
+++ b/drivers/scsi/bfa/bfad_attr.c
@@ -15,14 +15,14 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * bfa_attr.c Linux driver configuration interface module. 19 * bfa_attr.c Linux driver configuration interface module.
20 */ 20 */
21 21
22#include "bfad_drv.h" 22#include "bfad_drv.h"
23#include "bfad_im.h" 23#include "bfad_im.h"
24 24
25/** 25/*
26 * FC transport template entry, get SCSI target port ID. 26 * FC transport template entry, get SCSI target port ID.
27 */ 27 */
28void 28void
@@ -48,7 +48,7 @@ bfad_im_get_starget_port_id(struct scsi_target *starget)
48 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 48 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
49} 49}
50 50
51/** 51/*
52 * FC transport template entry, get SCSI target nwwn. 52 * FC transport template entry, get SCSI target nwwn.
53 */ 53 */
54void 54void
@@ -70,11 +70,11 @@ bfad_im_get_starget_node_name(struct scsi_target *starget)
70 if (itnim) 70 if (itnim)
71 node_name = bfa_fcs_itnim_get_nwwn(&itnim->fcs_itnim); 71 node_name = bfa_fcs_itnim_get_nwwn(&itnim->fcs_itnim);
72 72
73 fc_starget_node_name(starget) = bfa_os_htonll(node_name); 73 fc_starget_node_name(starget) = cpu_to_be64(node_name);
74 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 74 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
75} 75}
76 76
77/** 77/*
78 * FC transport template entry, get SCSI target pwwn. 78 * FC transport template entry, get SCSI target pwwn.
79 */ 79 */
80void 80void
@@ -96,11 +96,11 @@ bfad_im_get_starget_port_name(struct scsi_target *starget)
96 if (itnim) 96 if (itnim)
97 port_name = bfa_fcs_itnim_get_pwwn(&itnim->fcs_itnim); 97 port_name = bfa_fcs_itnim_get_pwwn(&itnim->fcs_itnim);
98 98
99 fc_starget_port_name(starget) = bfa_os_htonll(port_name); 99 fc_starget_port_name(starget) = cpu_to_be64(port_name);
100 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 100 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
101} 101}
102 102
103/** 103/*
104 * FC transport template entry, get SCSI host port ID. 104 * FC transport template entry, get SCSI host port ID.
105 */ 105 */
106void 106void
@@ -114,7 +114,7 @@ bfad_im_get_host_port_id(struct Scsi_Host *shost)
114 bfa_os_hton3b(bfa_fcs_lport_get_fcid(port->fcs_port)); 114 bfa_os_hton3b(bfa_fcs_lport_get_fcid(port->fcs_port));
115} 115}
116 116
117/** 117/*
118 * FC transport template entry, get SCSI host port type. 118 * FC transport template entry, get SCSI host port type.
119 */ 119 */
120static void 120static void
@@ -146,7 +146,7 @@ bfad_im_get_host_port_type(struct Scsi_Host *shost)
146 } 146 }
147} 147}
148 148
149/** 149/*
150 * FC transport template entry, get SCSI host port state. 150 * FC transport template entry, get SCSI host port state.
151 */ 151 */
152static void 152static void
@@ -183,7 +183,7 @@ bfad_im_get_host_port_state(struct Scsi_Host *shost)
183 } 183 }
184} 184}
185 185
186/** 186/*
187 * FC transport template entry, get SCSI host active fc4s. 187 * FC transport template entry, get SCSI host active fc4s.
188 */ 188 */
189static void 189static void
@@ -202,7 +202,7 @@ bfad_im_get_host_active_fc4s(struct Scsi_Host *shost)
202 fc_host_active_fc4s(shost)[7] = 1; 202 fc_host_active_fc4s(shost)[7] = 1;
203} 203}
204 204
205/** 205/*
206 * FC transport template entry, get SCSI host link speed. 206 * FC transport template entry, get SCSI host link speed.
207 */ 207 */
208static void 208static void
@@ -236,7 +236,7 @@ bfad_im_get_host_speed(struct Scsi_Host *shost)
236 } 236 }
237} 237}
238 238
239/** 239/*
240 * FC transport template entry, get SCSI host port type. 240 * FC transport template entry, get SCSI host port type.
241 */ 241 */
242static void 242static void
@@ -249,11 +249,11 @@ bfad_im_get_host_fabric_name(struct Scsi_Host *shost)
249 249
250 fabric_nwwn = bfa_fcs_lport_get_fabric_name(port->fcs_port); 250 fabric_nwwn = bfa_fcs_lport_get_fabric_name(port->fcs_port);
251 251
252 fc_host_fabric_name(shost) = bfa_os_htonll(fabric_nwwn); 252 fc_host_fabric_name(shost) = cpu_to_be64(fabric_nwwn);
253 253
254} 254}
255 255
256/** 256/*
257 * FC transport template entry, get BFAD statistics. 257 * FC transport template entry, get BFAD statistics.
258 */ 258 */
259static struct fc_host_statistics * 259static struct fc_host_statistics *
@@ -304,7 +304,7 @@ bfad_im_get_stats(struct Scsi_Host *shost)
304 return hstats; 304 return hstats;
305} 305}
306 306
307/** 307/*
308 * FC transport template entry, reset BFAD statistics. 308 * FC transport template entry, reset BFAD statistics.
309 */ 309 */
310static void 310static void
@@ -331,7 +331,7 @@ bfad_im_reset_stats(struct Scsi_Host *shost)
331 return; 331 return;
332} 332}
333 333
334/** 334/*
335 * FC transport template entry, get rport loss timeout. 335 * FC transport template entry, get rport loss timeout.
336 */ 336 */
337static void 337static void
@@ -347,7 +347,7 @@ bfad_im_get_rport_loss_tmo(struct fc_rport *rport)
347 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 347 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
348} 348}
349 349
350/** 350/*
351 * FC transport template entry, set rport loss timeout. 351 * FC transport template entry, set rport loss timeout.
352 */ 352 */
353static void 353static void
@@ -633,7 +633,7 @@ struct fc_function_template bfad_im_vport_fc_function_template = {
633 .set_rport_dev_loss_tmo = bfad_im_set_rport_loss_tmo, 633 .set_rport_dev_loss_tmo = bfad_im_set_rport_loss_tmo,
634}; 634};
635 635
636/** 636/*
637 * Scsi_Host_attrs SCSI host attributes 637 * Scsi_Host_attrs SCSI host attributes
638 */ 638 */
639static ssize_t 639static ssize_t
@@ -733,7 +733,7 @@ bfad_im_node_name_show(struct device *dev, struct device_attribute *attr,
733 u64 nwwn; 733 u64 nwwn;
734 734
735 nwwn = bfa_fcs_lport_get_nwwn(port->fcs_port); 735 nwwn = bfa_fcs_lport_get_nwwn(port->fcs_port);
736 return snprintf(buf, PAGE_SIZE, "0x%llx\n", bfa_os_htonll(nwwn)); 736 return snprintf(buf, PAGE_SIZE, "0x%llx\n", cpu_to_be64(nwwn));
737} 737}
738 738
739static ssize_t 739static ssize_t
diff --git a/drivers/scsi/bfa/bfad_debugfs.c b/drivers/scsi/bfa/bfad_debugfs.c
index 69ed1c4a903e..1fedeeb4ac1f 100644
--- a/drivers/scsi/bfa/bfad_debugfs.c
+++ b/drivers/scsi/bfa/bfad_debugfs.c
@@ -318,7 +318,7 @@ bfad_debugfs_write_regrd(struct file *file, const char __user *buf,
318 regbuf = (u32 *)bfad->regdata; 318 regbuf = (u32 *)bfad->regdata;
319 spin_lock_irqsave(&bfad->bfad_lock, flags); 319 spin_lock_irqsave(&bfad->bfad_lock, flags);
320 for (i = 0; i < len; i++) { 320 for (i = 0; i < len; i++) {
321 *regbuf = bfa_reg_read(reg_addr); 321 *regbuf = readl(reg_addr);
322 regbuf++; 322 regbuf++;
323 reg_addr += sizeof(u32); 323 reg_addr += sizeof(u32);
324 } 324 }
@@ -361,7 +361,7 @@ bfad_debugfs_write_regwr(struct file *file, const char __user *buf,
361 361
362 reg_addr = (u32 *) ((u8 *) bfa_ioc_bar0(ioc) + addr); 362 reg_addr = (u32 *) ((u8 *) bfa_ioc_bar0(ioc) + addr);
363 spin_lock_irqsave(&bfad->bfad_lock, flags); 363 spin_lock_irqsave(&bfad->bfad_lock, flags);
364 bfa_reg_write(reg_addr, val); 364 writel(val, reg_addr);
365 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 365 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
366 366
367 return nbytes; 367 return nbytes;
diff --git a/drivers/scsi/bfa/bfad_drv.h b/drivers/scsi/bfa/bfad_drv.h
index 98420bbb4f3f..97f9b6c0937e 100644
--- a/drivers/scsi/bfa/bfad_drv.h
+++ b/drivers/scsi/bfa/bfad_drv.h
@@ -15,11 +15,11 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * Contains base driver definitions. 19 * Contains base driver definitions.
20 */ 20 */
21 21
22/** 22/*
23 * bfa_drv.h Linux driver data structures. 23 * bfa_drv.h Linux driver data structures.
24 */ 24 */
25 25
@@ -309,7 +309,6 @@ void bfad_bfa_tmo(unsigned long data);
309void bfad_init_timer(struct bfad_s *bfad); 309void bfad_init_timer(struct bfad_s *bfad);
310int bfad_pci_init(struct pci_dev *pdev, struct bfad_s *bfad); 310int bfad_pci_init(struct pci_dev *pdev, struct bfad_s *bfad);
311void bfad_pci_uninit(struct pci_dev *pdev, struct bfad_s *bfad); 311void bfad_pci_uninit(struct pci_dev *pdev, struct bfad_s *bfad);
312void bfad_fcs_port_cfg(struct bfad_s *bfad);
313void bfad_drv_uninit(struct bfad_s *bfad); 312void bfad_drv_uninit(struct bfad_s *bfad);
314int bfad_worker(void *ptr); 313int bfad_worker(void *ptr);
315void bfad_debugfs_init(struct bfad_port_s *port); 314void bfad_debugfs_init(struct bfad_port_s *port);
diff --git a/drivers/scsi/bfa/bfad_im.c b/drivers/scsi/bfa/bfad_im.c
index d950ee44016e..8ca967dee66d 100644
--- a/drivers/scsi/bfa/bfad_im.c
+++ b/drivers/scsi/bfa/bfad_im.c
@@ -15,7 +15,7 @@
15 * General Public License for more details. 15 * General Public License for more details.
16 */ 16 */
17 17
18/** 18/*
19 * bfad_im.c Linux driver IM module. 19 * bfad_im.c Linux driver IM module.
20 */ 20 */
21 21
@@ -30,8 +30,7 @@ DEFINE_IDR(bfad_im_port_index);
30struct scsi_transport_template *bfad_im_scsi_transport_template; 30struct scsi_transport_template *bfad_im_scsi_transport_template;
31struct scsi_transport_template *bfad_im_scsi_vport_transport_template; 31struct scsi_transport_template *bfad_im_scsi_vport_transport_template;
32static void bfad_im_itnim_work_handler(struct work_struct *work); 32static void bfad_im_itnim_work_handler(struct work_struct *work);
33static int bfad_im_queuecommand(struct scsi_cmnd *cmnd, 33static int bfad_im_queuecommand(struct Scsi_Host *h, struct scsi_cmnd *cmnd);
34 void (*done)(struct scsi_cmnd *));
35static int bfad_im_slave_alloc(struct scsi_device *sdev); 34static int bfad_im_slave_alloc(struct scsi_device *sdev);
36static void bfad_im_fc_rport_add(struct bfad_im_port_s *im_port, 35static void bfad_im_fc_rport_add(struct bfad_im_port_s *im_port,
37 struct bfad_itnim_s *itnim); 36 struct bfad_itnim_s *itnim);
@@ -164,10 +163,10 @@ bfa_cb_tskim_done(void *bfad, struct bfad_tskim_s *dtsk,
164 wake_up(wq); 163 wake_up(wq);
165} 164}
166 165
167/** 166/*
168 * Scsi_Host_template SCSI host template 167 * Scsi_Host_template SCSI host template
169 */ 168 */
170/** 169/*
171 * Scsi_Host template entry, returns BFAD PCI info. 170 * Scsi_Host template entry, returns BFAD PCI info.
172 */ 171 */
173static const char * 172static const char *
@@ -196,7 +195,7 @@ bfad_im_info(struct Scsi_Host *shost)
196 return bfa_buf; 195 return bfa_buf;
197} 196}
198 197
199/** 198/*
200 * Scsi_Host template entry, aborts the specified SCSI command. 199 * Scsi_Host template entry, aborts the specified SCSI command.
201 * 200 *
202 * Returns: SUCCESS or FAILED. 201 * Returns: SUCCESS or FAILED.
@@ -280,7 +279,7 @@ out:
280 return rc; 279 return rc;
281} 280}
282 281
283/** 282/*
284 * Scsi_Host template entry, resets a LUN and abort its all commands. 283 * Scsi_Host template entry, resets a LUN and abort its all commands.
285 * 284 *
286 * Returns: SUCCESS or FAILED. 285 * Returns: SUCCESS or FAILED.
@@ -319,7 +318,7 @@ bfad_im_reset_lun_handler(struct scsi_cmnd *cmnd)
319 goto out; 318 goto out;
320 } 319 }
321 320
322 /** 321 /*
323 * Set host_scribble to NULL to avoid aborting a task command 322 * Set host_scribble to NULL to avoid aborting a task command
324 * if happens. 323 * if happens.
325 */ 324 */
@@ -346,7 +345,7 @@ out:
346 return rc; 345 return rc;
347} 346}
348 347
349/** 348/*
350 * Scsi_Host template entry, resets the bus and abort all commands. 349 * Scsi_Host template entry, resets the bus and abort all commands.
351 */ 350 */
352static int 351static int
@@ -396,7 +395,7 @@ bfad_im_reset_bus_handler(struct scsi_cmnd *cmnd)
396 return SUCCESS; 395 return SUCCESS;
397} 396}
398 397
399/** 398/*
400 * Scsi_Host template entry slave_destroy. 399 * Scsi_Host template entry slave_destroy.
401 */ 400 */
402static void 401static void
@@ -406,11 +405,11 @@ bfad_im_slave_destroy(struct scsi_device *sdev)
406 return; 405 return;
407} 406}
408 407
409/** 408/*
410 * BFA FCS itnim callbacks 409 * BFA FCS itnim callbacks
411 */ 410 */
412 411
413/** 412/*
414 * BFA FCS itnim alloc callback, after successful PRLI 413 * BFA FCS itnim alloc callback, after successful PRLI
415 * Context: Interrupt 414 * Context: Interrupt
416 */ 415 */
@@ -433,7 +432,7 @@ bfa_fcb_itnim_alloc(struct bfad_s *bfad, struct bfa_fcs_itnim_s **itnim,
433 bfad->bfad_flags |= BFAD_RPORT_ONLINE; 432 bfad->bfad_flags |= BFAD_RPORT_ONLINE;
434} 433}
435 434
436/** 435/*
437 * BFA FCS itnim free callback. 436 * BFA FCS itnim free callback.
438 * Context: Interrupt. bfad_lock is held 437 * Context: Interrupt. bfad_lock is held
439 */ 438 */
@@ -471,7 +470,7 @@ bfa_fcb_itnim_free(struct bfad_s *bfad, struct bfad_itnim_s *itnim_drv)
471 queue_work(im->drv_workq, &itnim_drv->itnim_work); 470 queue_work(im->drv_workq, &itnim_drv->itnim_work);
472} 471}
473 472
474/** 473/*
475 * BFA FCS itnim online callback. 474 * BFA FCS itnim online callback.
476 * Context: Interrupt. bfad_lock is held 475 * Context: Interrupt. bfad_lock is held
477 */ 476 */
@@ -492,7 +491,7 @@ bfa_fcb_itnim_online(struct bfad_itnim_s *itnim_drv)
492 queue_work(im->drv_workq, &itnim_drv->itnim_work); 491 queue_work(im->drv_workq, &itnim_drv->itnim_work);
493} 492}
494 493
495/** 494/*
496 * BFA FCS itnim offline callback. 495 * BFA FCS itnim offline callback.
497 * Context: Interrupt. bfad_lock is held 496 * Context: Interrupt. bfad_lock is held
498 */ 497 */
@@ -519,7 +518,7 @@ bfa_fcb_itnim_offline(struct bfad_itnim_s *itnim_drv)
519 queue_work(im->drv_workq, &itnim_drv->itnim_work); 518 queue_work(im->drv_workq, &itnim_drv->itnim_work);
520} 519}
521 520
522/** 521/*
523 * Allocate a Scsi_Host for a port. 522 * Allocate a Scsi_Host for a port.
524 */ 523 */
525int 524int
@@ -751,7 +750,7 @@ bfad_os_thread_workq(struct bfad_s *bfad)
751 return BFA_STATUS_OK; 750 return BFA_STATUS_OK;
752} 751}
753 752
754/** 753/*
755 * Scsi_Host template entry. 754 * Scsi_Host template entry.
756 * 755 *
757 * Description: 756 * Description:
@@ -896,7 +895,7 @@ bfad_os_get_itnim(struct bfad_im_port_s *im_port, int id)
896 return NULL; 895 return NULL;
897} 896}
898 897
899/** 898/*
900 * Scsi_Host template entry slave_alloc 899 * Scsi_Host template entry slave_alloc
901 */ 900 */
902static int 901static int
@@ -915,12 +914,16 @@ bfad_im_slave_alloc(struct scsi_device *sdev)
915static u32 914static u32
916bfad_im_supported_speeds(struct bfa_s *bfa) 915bfad_im_supported_speeds(struct bfa_s *bfa)
917{ 916{
918 struct bfa_ioc_attr_s ioc_attr; 917 struct bfa_ioc_attr_s *ioc_attr;
919 u32 supported_speed = 0; 918 u32 supported_speed = 0;
920 919
921 bfa_get_attr(bfa, &ioc_attr); 920 ioc_attr = kzalloc(sizeof(struct bfa_ioc_attr_s), GFP_KERNEL);
922 if (ioc_attr.adapter_attr.max_speed == BFA_PORT_SPEED_8GBPS) { 921 if (!ioc_attr)
923 if (ioc_attr.adapter_attr.is_mezz) { 922 return 0;
923
924 bfa_get_attr(bfa, ioc_attr);
925 if (ioc_attr->adapter_attr.max_speed == BFA_PORT_SPEED_8GBPS) {
926 if (ioc_attr->adapter_attr.is_mezz) {
924 supported_speed |= FC_PORTSPEED_8GBIT | 927 supported_speed |= FC_PORTSPEED_8GBIT |
925 FC_PORTSPEED_4GBIT | 928 FC_PORTSPEED_4GBIT |
926 FC_PORTSPEED_2GBIT | FC_PORTSPEED_1GBIT; 929 FC_PORTSPEED_2GBIT | FC_PORTSPEED_1GBIT;
@@ -929,12 +932,13 @@ bfad_im_supported_speeds(struct bfa_s *bfa)
929 FC_PORTSPEED_4GBIT | 932 FC_PORTSPEED_4GBIT |
930 FC_PORTSPEED_2GBIT; 933 FC_PORTSPEED_2GBIT;
931 } 934 }
932 } else if (ioc_attr.adapter_attr.max_speed == BFA_PORT_SPEED_4GBPS) { 935 } else if (ioc_attr->adapter_attr.max_speed == BFA_PORT_SPEED_4GBPS) {
933 supported_speed |= FC_PORTSPEED_4GBIT | FC_PORTSPEED_2GBIT | 936 supported_speed |= FC_PORTSPEED_4GBIT | FC_PORTSPEED_2GBIT |
934 FC_PORTSPEED_1GBIT; 937 FC_PORTSPEED_1GBIT;
935 } else if (ioc_attr.adapter_attr.max_speed == BFA_PORT_SPEED_10GBPS) { 938 } else if (ioc_attr->adapter_attr.max_speed == BFA_PORT_SPEED_10GBPS) {
936 supported_speed |= FC_PORTSPEED_10GBIT; 939 supported_speed |= FC_PORTSPEED_10GBIT;
937 } 940 }
941 kfree(ioc_attr);
938 return supported_speed; 942 return supported_speed;
939} 943}
940 944
@@ -944,14 +948,13 @@ bfad_os_fc_host_init(struct bfad_im_port_s *im_port)
944 struct Scsi_Host *host = im_port->shost; 948 struct Scsi_Host *host = im_port->shost;
945 struct bfad_s *bfad = im_port->bfad; 949 struct bfad_s *bfad = im_port->bfad;
946 struct bfad_port_s *port = im_port->port; 950 struct bfad_port_s *port = im_port->port;
947 struct bfa_port_attr_s pattr;
948 struct bfa_lport_attr_s port_attr;
949 char symname[BFA_SYMNAME_MAXLEN]; 951 char symname[BFA_SYMNAME_MAXLEN];
952 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa);
950 953
951 fc_host_node_name(host) = 954 fc_host_node_name(host) =
952 bfa_os_htonll((bfa_fcs_lport_get_nwwn(port->fcs_port))); 955 cpu_to_be64((bfa_fcs_lport_get_nwwn(port->fcs_port)));
953 fc_host_port_name(host) = 956 fc_host_port_name(host) =
954 bfa_os_htonll((bfa_fcs_lport_get_pwwn(port->fcs_port))); 957 cpu_to_be64((bfa_fcs_lport_get_pwwn(port->fcs_port)));
955 fc_host_max_npiv_vports(host) = bfa_lps_get_max_vport(&bfad->bfa); 958 fc_host_max_npiv_vports(host) = bfa_lps_get_max_vport(&bfad->bfa);
956 959
957 fc_host_supported_classes(host) = FC_COS_CLASS3; 960 fc_host_supported_classes(host) = FC_COS_CLASS3;
@@ -964,15 +967,12 @@ bfad_os_fc_host_init(struct bfad_im_port_s *im_port)
964 /* For fibre channel services type 0x20 */ 967 /* For fibre channel services type 0x20 */
965 fc_host_supported_fc4s(host)[7] = 1; 968 fc_host_supported_fc4s(host)[7] = 1;
966 969
967 bfa_fcs_lport_get_attr(&bfad->bfa_fcs.fabric.bport, &port_attr); 970 strncpy(symname, bfad->bfa_fcs.fabric.bport.port_cfg.sym_name.symname,
968 strncpy(symname, port_attr.port_cfg.sym_name.symname,
969 BFA_SYMNAME_MAXLEN); 971 BFA_SYMNAME_MAXLEN);
970 sprintf(fc_host_symbolic_name(host), "%s", symname); 972 sprintf(fc_host_symbolic_name(host), "%s", symname);
971 973
972 fc_host_supported_speeds(host) = bfad_im_supported_speeds(&bfad->bfa); 974 fc_host_supported_speeds(host) = bfad_im_supported_speeds(&bfad->bfa);
973 975 fc_host_maxframe_size(host) = fcport->cfg.maxfrsize;
974 bfa_fcport_get_attr(&bfad->bfa, &pattr);
975 fc_host_maxframe_size(host) = pattr.pport_cfg.maxfrsize;
976} 976}
977 977
978static void 978static void
@@ -983,9 +983,9 @@ bfad_im_fc_rport_add(struct bfad_im_port_s *im_port, struct bfad_itnim_s *itnim)
983 struct bfad_itnim_data_s *itnim_data; 983 struct bfad_itnim_data_s *itnim_data;
984 984
985 rport_ids.node_name = 985 rport_ids.node_name =
986 bfa_os_htonll(bfa_fcs_itnim_get_nwwn(&itnim->fcs_itnim)); 986 cpu_to_be64(bfa_fcs_itnim_get_nwwn(&itnim->fcs_itnim));
987 rport_ids.port_name = 987 rport_ids.port_name =
988 bfa_os_htonll(bfa_fcs_itnim_get_pwwn(&itnim->fcs_itnim)); 988 cpu_to_be64(bfa_fcs_itnim_get_pwwn(&itnim->fcs_itnim));
989 rport_ids.port_id = 989 rport_ids.port_id =
990 bfa_os_hton3b(bfa_fcs_itnim_get_fcid(&itnim->fcs_itnim)); 990 bfa_os_hton3b(bfa_fcs_itnim_get_fcid(&itnim->fcs_itnim));
991 rport_ids.roles = FC_RPORT_ROLE_UNKNOWN; 991 rport_ids.roles = FC_RPORT_ROLE_UNKNOWN;
@@ -1015,7 +1015,7 @@ bfad_im_fc_rport_add(struct bfad_im_port_s *im_port, struct bfad_itnim_s *itnim)
1015 return; 1015 return;
1016} 1016}
1017 1017
1018/** 1018/*
1019 * Work queue handler using FC transport service 1019 * Work queue handler using FC transport service
1020* Context: kernel 1020* Context: kernel
1021 */ 1021 */
@@ -1115,11 +1115,11 @@ bfad_im_itnim_work_handler(struct work_struct *work)
1115 spin_unlock_irqrestore(&bfad->bfad_lock, flags); 1115 spin_unlock_irqrestore(&bfad->bfad_lock, flags);
1116} 1116}
1117 1117
1118/** 1118/*
1119 * Scsi_Host template entry, queue a SCSI command to the BFAD. 1119 * Scsi_Host template entry, queue a SCSI command to the BFAD.
1120 */ 1120 */
1121static int 1121static int
1122bfad_im_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) 1122bfad_im_queuecommand_lck(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *))
1123{ 1123{
1124 struct bfad_im_port_s *im_port = 1124 struct bfad_im_port_s *im_port =
1125 (struct bfad_im_port_s *) cmnd->device->host->hostdata[0]; 1125 (struct bfad_im_port_s *) cmnd->device->host->hostdata[0];
@@ -1186,6 +1186,8 @@ out_fail_cmd:
1186 return 0; 1186 return 0;
1187} 1187}
1188 1188
1189static DEF_SCSI_QCMD(bfad_im_queuecommand)
1190
1189void 1191void
1190bfad_os_rport_online_wait(struct bfad_s *bfad) 1192bfad_os_rport_online_wait(struct bfad_s *bfad)
1191{ 1193{
diff --git a/drivers/scsi/bfa/bfi.h b/drivers/scsi/bfa/bfi.h
index 85f2224a5733..58796d1284b7 100644
--- a/drivers/scsi/bfa/bfi.h
+++ b/drivers/scsi/bfa/bfi.h
@@ -23,7 +23,7 @@
23 23
24#pragma pack(1) 24#pragma pack(1)
25 25
26/** 26/*
27 * BFI FW image type 27 * BFI FW image type
28 */ 28 */
29#define BFI_FLASH_CHUNK_SZ 256 /* Flash chunk size */ 29#define BFI_FLASH_CHUNK_SZ 256 /* Flash chunk size */
@@ -35,7 +35,7 @@ enum {
35 BFI_IMAGE_MAX, 35 BFI_IMAGE_MAX,
36}; 36};
37 37
38/** 38/*
39 * Msg header common to all msgs 39 * Msg header common to all msgs
40 */ 40 */
41struct bfi_mhdr_s { 41struct bfi_mhdr_s {
@@ -68,7 +68,7 @@ struct bfi_mhdr_s {
68#define BFI_I2H_OPCODE_BASE 128 68#define BFI_I2H_OPCODE_BASE 128
69#define BFA_I2HM(_x) ((_x) + BFI_I2H_OPCODE_BASE) 69#define BFA_I2HM(_x) ((_x) + BFI_I2H_OPCODE_BASE)
70 70
71/** 71/*
72 **************************************************************************** 72 ****************************************************************************
73 * 73 *
74 * Scatter Gather Element and Page definition 74 * Scatter Gather Element and Page definition
@@ -79,7 +79,7 @@ struct bfi_mhdr_s {
79#define BFI_SGE_INLINE 1 79#define BFI_SGE_INLINE 1
80#define BFI_SGE_INLINE_MAX (BFI_SGE_INLINE + 1) 80#define BFI_SGE_INLINE_MAX (BFI_SGE_INLINE + 1)
81 81
82/** 82/*
83 * SG Flags 83 * SG Flags
84 */ 84 */
85enum { 85enum {
@@ -90,7 +90,7 @@ enum {
90 BFI_SGE_PGDLEN = 2, /* cumulative data length for page */ 90 BFI_SGE_PGDLEN = 2, /* cumulative data length for page */
91}; 91};
92 92
93/** 93/*
94 * DMA addresses 94 * DMA addresses
95 */ 95 */
96union bfi_addr_u { 96union bfi_addr_u {
@@ -100,7 +100,7 @@ union bfi_addr_u {
100 } a32; 100 } a32;
101}; 101};
102 102
103/** 103/*
104 * Scatter Gather Element 104 * Scatter Gather Element
105 */ 105 */
106struct bfi_sge_s { 106struct bfi_sge_s {
@@ -116,7 +116,7 @@ struct bfi_sge_s {
116 union bfi_addr_u sga; 116 union bfi_addr_u sga;
117}; 117};
118 118
119/** 119/*
120 * Scatter Gather Page 120 * Scatter Gather Page
121 */ 121 */
122#define BFI_SGPG_DATA_SGES 7 122#define BFI_SGPG_DATA_SGES 7
@@ -139,7 +139,7 @@ struct bfi_msg_s {
139 u32 pl[BFI_LMSG_PL_WSZ]; 139 u32 pl[BFI_LMSG_PL_WSZ];
140}; 140};
141 141
142/** 142/*
143 * Mailbox message structure 143 * Mailbox message structure
144 */ 144 */
145#define BFI_MBMSG_SZ 7 145#define BFI_MBMSG_SZ 7
@@ -148,7 +148,7 @@ struct bfi_mbmsg_s {
148 u32 pl[BFI_MBMSG_SZ]; 148 u32 pl[BFI_MBMSG_SZ];
149}; 149};
150 150
151/** 151/*
152 * Message Classes 152 * Message Classes
153 */ 153 */
154enum bfi_mclass { 154enum bfi_mclass {
@@ -186,7 +186,7 @@ enum bfi_mclass {
186#define BFI_BOOT_LOADER_BIOS 1 186#define BFI_BOOT_LOADER_BIOS 1
187#define BFI_BOOT_LOADER_UEFI 2 187#define BFI_BOOT_LOADER_UEFI 2
188 188
189/** 189/*
190 *---------------------------------------------------------------------- 190 *----------------------------------------------------------------------
191 * IOC 191 * IOC
192 *---------------------------------------------------------------------- 192 *----------------------------------------------------------------------
@@ -208,7 +208,7 @@ enum bfi_ioc_i2h_msgs {
208 BFI_IOC_I2H_HBEAT = BFA_I2HM(5), 208 BFI_IOC_I2H_HBEAT = BFA_I2HM(5),
209}; 209};
210 210
211/** 211/*
212 * BFI_IOC_H2I_GETATTR_REQ message 212 * BFI_IOC_H2I_GETATTR_REQ message
213 */ 213 */
214struct bfi_ioc_getattr_req_s { 214struct bfi_ioc_getattr_req_s {
@@ -242,7 +242,7 @@ struct bfi_ioc_attr_s {
242 u32 card_type; /* card type */ 242 u32 card_type; /* card type */
243}; 243};
244 244
245/** 245/*
246 * BFI_IOC_I2H_GETATTR_REPLY message 246 * BFI_IOC_I2H_GETATTR_REPLY message
247 */ 247 */
248struct bfi_ioc_getattr_reply_s { 248struct bfi_ioc_getattr_reply_s {
@@ -251,19 +251,19 @@ struct bfi_ioc_getattr_reply_s {
251 u8 rsvd[3]; 251 u8 rsvd[3];
252}; 252};
253 253
254/** 254/*
255 * Firmware memory page offsets 255 * Firmware memory page offsets
256 */ 256 */
257#define BFI_IOC_SMEM_PG0_CB (0x40) 257#define BFI_IOC_SMEM_PG0_CB (0x40)
258#define BFI_IOC_SMEM_PG0_CT (0x180) 258#define BFI_IOC_SMEM_PG0_CT (0x180)
259 259
260/** 260/*
261 * Firmware statistic offset 261 * Firmware statistic offset
262 */ 262 */
263#define BFI_IOC_FWSTATS_OFF (0x6B40) 263#define BFI_IOC_FWSTATS_OFF (0x6B40)
264#define BFI_IOC_FWSTATS_SZ (4096) 264#define BFI_IOC_FWSTATS_SZ (4096)
265 265
266/** 266/*
267 * Firmware trace offset 267 * Firmware trace offset
268 */ 268 */
269#define BFI_IOC_TRC_OFF (0x4b00) 269#define BFI_IOC_TRC_OFF (0x4b00)
@@ -280,7 +280,7 @@ struct bfi_ioc_image_hdr_s {
280 u32 md5sum[BFI_IOC_MD5SUM_SZ]; 280 u32 md5sum[BFI_IOC_MD5SUM_SZ];
281}; 281};
282 282
283/** 283/*
284 * BFI_IOC_I2H_READY_EVENT message 284 * BFI_IOC_I2H_READY_EVENT message
285 */ 285 */
286struct bfi_ioc_rdy_event_s { 286struct bfi_ioc_rdy_event_s {
@@ -294,7 +294,7 @@ struct bfi_ioc_hbeat_s {
294 u32 hb_count; /* current heart beat count */ 294 u32 hb_count; /* current heart beat count */
295}; 295};
296 296
297/** 297/*
298 * IOC hardware/firmware state 298 * IOC hardware/firmware state
299 */ 299 */
300enum bfi_ioc_state { 300enum bfi_ioc_state {
@@ -340,7 +340,7 @@ enum {
340 ((__adap_type) & (BFI_ADAPTER_TTV | BFI_ADAPTER_PROTO | \ 340 ((__adap_type) & (BFI_ADAPTER_TTV | BFI_ADAPTER_PROTO | \
341 BFI_ADAPTER_UNSUPP)) 341 BFI_ADAPTER_UNSUPP))
342 342
343/** 343/*
344 * BFI_IOC_H2I_ENABLE_REQ & BFI_IOC_H2I_DISABLE_REQ messages 344 * BFI_IOC_H2I_ENABLE_REQ & BFI_IOC_H2I_DISABLE_REQ messages
345 */ 345 */
346struct bfi_ioc_ctrl_req_s { 346struct bfi_ioc_ctrl_req_s {
@@ -352,7 +352,7 @@ struct bfi_ioc_ctrl_req_s {
352#define bfi_ioc_enable_req_t struct bfi_ioc_ctrl_req_s; 352#define bfi_ioc_enable_req_t struct bfi_ioc_ctrl_req_s;
353#define bfi_ioc_disable_req_t struct bfi_ioc_ctrl_req_s; 353#define bfi_ioc_disable_req_t struct bfi_ioc_ctrl_req_s;
354 354
355/** 355/*
356 * BFI_IOC_I2H_ENABLE_REPLY & BFI_IOC_I2H_DISABLE_REPLY messages 356 * BFI_IOC_I2H_ENABLE_REPLY & BFI_IOC_I2H_DISABLE_REPLY messages
357 */ 357 */
358struct bfi_ioc_ctrl_reply_s { 358struct bfi_ioc_ctrl_reply_s {
@@ -364,7 +364,7 @@ struct bfi_ioc_ctrl_reply_s {
364#define bfi_ioc_disable_reply_t struct bfi_ioc_ctrl_reply_s; 364#define bfi_ioc_disable_reply_t struct bfi_ioc_ctrl_reply_s;
365 365
366#define BFI_IOC_MSGSZ 8 366#define BFI_IOC_MSGSZ 8
367/** 367/*
368 * H2I Messages 368 * H2I Messages
369 */ 369 */
370union bfi_ioc_h2i_msg_u { 370union bfi_ioc_h2i_msg_u {
@@ -375,7 +375,7 @@ union bfi_ioc_h2i_msg_u {
375 u32 mboxmsg[BFI_IOC_MSGSZ]; 375 u32 mboxmsg[BFI_IOC_MSGSZ];
376}; 376};
377 377
378/** 378/*
379 * I2H Messages 379 * I2H Messages
380 */ 380 */
381union bfi_ioc_i2h_msg_u { 381union bfi_ioc_i2h_msg_u {
@@ -385,7 +385,7 @@ union bfi_ioc_i2h_msg_u {
385}; 385};
386 386
387 387
388/** 388/*
389 *---------------------------------------------------------------------- 389 *----------------------------------------------------------------------
390 * PBC 390 * PBC
391 *---------------------------------------------------------------------- 391 *----------------------------------------------------------------------
@@ -394,7 +394,7 @@ union bfi_ioc_i2h_msg_u {
394#define BFI_PBC_MAX_BLUNS 8 394#define BFI_PBC_MAX_BLUNS 8
395#define BFI_PBC_MAX_VPORTS 16 395#define BFI_PBC_MAX_VPORTS 16
396 396
397/** 397/*
398 * PBC boot lun configuration 398 * PBC boot lun configuration
399 */ 399 */
400struct bfi_pbc_blun_s { 400struct bfi_pbc_blun_s {
@@ -402,7 +402,7 @@ struct bfi_pbc_blun_s {
402 lun_t tgt_lun; 402 lun_t tgt_lun;
403}; 403};
404 404
405/** 405/*
406 * PBC virtual port configuration 406 * PBC virtual port configuration
407 */ 407 */
408struct bfi_pbc_vport_s { 408struct bfi_pbc_vport_s {
@@ -410,7 +410,7 @@ struct bfi_pbc_vport_s {
410 wwn_t vp_nwwn; 410 wwn_t vp_nwwn;
411}; 411};
412 412
413/** 413/*
414 * BFI pre-boot configuration information 414 * BFI pre-boot configuration information
415 */ 415 */
416struct bfi_pbc_s { 416struct bfi_pbc_s {
@@ -427,7 +427,7 @@ struct bfi_pbc_s {
427 struct bfi_pbc_vport_s vport[BFI_PBC_MAX_VPORTS]; 427 struct bfi_pbc_vport_s vport[BFI_PBC_MAX_VPORTS];
428}; 428};
429 429
430/** 430/*
431 *---------------------------------------------------------------------- 431 *----------------------------------------------------------------------
432 * MSGQ 432 * MSGQ
433 *---------------------------------------------------------------------- 433 *----------------------------------------------------------------------
@@ -531,7 +531,7 @@ enum bfi_port_i2h {
531 BFI_PORT_I2H_CLEAR_STATS_RSP = BFA_I2HM(4), 531 BFI_PORT_I2H_CLEAR_STATS_RSP = BFA_I2HM(4),
532}; 532};
533 533
534/** 534/*
535 * Generic REQ type 535 * Generic REQ type
536 */ 536 */
537struct bfi_port_generic_req_s { 537struct bfi_port_generic_req_s {
@@ -540,7 +540,7 @@ struct bfi_port_generic_req_s {
540 u32 rsvd; 540 u32 rsvd;
541}; 541};
542 542
543/** 543/*
544 * Generic RSP type 544 * Generic RSP type
545 */ 545 */
546struct bfi_port_generic_rsp_s { 546struct bfi_port_generic_rsp_s {
@@ -550,7 +550,7 @@ struct bfi_port_generic_rsp_s {
550 u32 msgtag; /* msgtag for reply */ 550 u32 msgtag; /* msgtag for reply */
551}; 551};
552 552
553/** 553/*
554 * BFI_PORT_H2I_GET_STATS_REQ 554 * BFI_PORT_H2I_GET_STATS_REQ
555 */ 555 */
556struct bfi_port_get_stats_req_s { 556struct bfi_port_get_stats_req_s {
diff --git a/drivers/scsi/bfa/bfi_ms.h b/drivers/scsi/bfa/bfi_ms.h
index 69ac85f9e938..fa9f6fb9d45b 100644
--- a/drivers/scsi/bfa/bfi_ms.h
+++ b/drivers/scsi/bfa/bfi_ms.h
@@ -41,7 +41,7 @@ struct bfi_iocfc_cfg_s {
41 u16 rsvd_1; 41 u16 rsvd_1;
42 u32 endian_sig; /* endian signature of host */ 42 u32 endian_sig; /* endian signature of host */
43 43
44 /** 44 /*
45 * Request and response circular queue base addresses, size and 45 * Request and response circular queue base addresses, size and
46 * shadow index pointers. 46 * shadow index pointers.
47 */ 47 */
@@ -58,7 +58,7 @@ struct bfi_iocfc_cfg_s {
58 struct bfa_iocfc_intr_attr_s intr_attr; /* IOC interrupt attributes */ 58 struct bfa_iocfc_intr_attr_s intr_attr; /* IOC interrupt attributes */
59}; 59};
60 60
61/** 61/*
62 * Boot target wwn information for this port. This contains either the stored 62 * Boot target wwn information for this port. This contains either the stored
63 * or discovered boot target port wwns for the port. 63 * or discovered boot target port wwns for the port.
64 */ 64 */
@@ -75,7 +75,7 @@ struct bfi_iocfc_cfgrsp_s {
75 struct bfi_pbc_s pbc_cfg; 75 struct bfi_pbc_s pbc_cfg;
76}; 76};
77 77
78/** 78/*
79 * BFI_IOCFC_H2I_CFG_REQ message 79 * BFI_IOCFC_H2I_CFG_REQ message
80 */ 80 */
81struct bfi_iocfc_cfg_req_s { 81struct bfi_iocfc_cfg_req_s {
@@ -84,7 +84,7 @@ struct bfi_iocfc_cfg_req_s {
84}; 84};
85 85
86 86
87/** 87/*
88 * BFI_IOCFC_I2H_CFG_REPLY message 88 * BFI_IOCFC_I2H_CFG_REPLY message
89 */ 89 */
90struct bfi_iocfc_cfg_reply_s { 90struct bfi_iocfc_cfg_reply_s {
@@ -95,7 +95,7 @@ struct bfi_iocfc_cfg_reply_s {
95}; 95};
96 96
97 97
98/** 98/*
99 * BFI_IOCFC_H2I_SET_INTR_REQ message 99 * BFI_IOCFC_H2I_SET_INTR_REQ message
100 */ 100 */
101struct bfi_iocfc_set_intr_req_s { 101struct bfi_iocfc_set_intr_req_s {
@@ -107,7 +107,7 @@ struct bfi_iocfc_set_intr_req_s {
107}; 107};
108 108
109 109
110/** 110/*
111 * BFI_IOCFC_H2I_UPDATEQ_REQ message 111 * BFI_IOCFC_H2I_UPDATEQ_REQ message
112 */ 112 */
113struct bfi_iocfc_updateq_req_s { 113struct bfi_iocfc_updateq_req_s {
@@ -119,7 +119,7 @@ struct bfi_iocfc_updateq_req_s {
119}; 119};
120 120
121 121
122/** 122/*
123 * BFI_IOCFC_I2H_UPDATEQ_RSP message 123 * BFI_IOCFC_I2H_UPDATEQ_RSP message
124 */ 124 */
125struct bfi_iocfc_updateq_rsp_s { 125struct bfi_iocfc_updateq_rsp_s {
@@ -129,7 +129,7 @@ struct bfi_iocfc_updateq_rsp_s {
129}; 129};
130 130
131 131
132/** 132/*
133 * H2I Messages 133 * H2I Messages
134 */ 134 */
135union bfi_iocfc_h2i_msg_u { 135union bfi_iocfc_h2i_msg_u {
@@ -140,7 +140,7 @@ union bfi_iocfc_h2i_msg_u {
140}; 140};
141 141
142 142
143/** 143/*
144 * I2H Messages 144 * I2H Messages
145 */ 145 */
146union bfi_iocfc_i2h_msg_u { 146union bfi_iocfc_i2h_msg_u {
@@ -173,7 +173,7 @@ enum bfi_fcport_i2h {
173}; 173};
174 174
175 175
176/** 176/*
177 * Generic REQ type 177 * Generic REQ type
178 */ 178 */
179struct bfi_fcport_req_s { 179struct bfi_fcport_req_s {
@@ -181,7 +181,7 @@ struct bfi_fcport_req_s {
181 u32 msgtag; /* msgtag for reply */ 181 u32 msgtag; /* msgtag for reply */
182}; 182};
183 183
184/** 184/*
185 * Generic RSP type 185 * Generic RSP type
186 */ 186 */
187struct bfi_fcport_rsp_s { 187struct bfi_fcport_rsp_s {
@@ -191,7 +191,7 @@ struct bfi_fcport_rsp_s {
191 u32 msgtag; /* msgtag for reply */ 191 u32 msgtag; /* msgtag for reply */
192}; 192};
193 193
194/** 194/*
195 * BFI_FCPORT_H2I_ENABLE_REQ 195 * BFI_FCPORT_H2I_ENABLE_REQ
196 */ 196 */
197struct bfi_fcport_enable_req_s { 197struct bfi_fcport_enable_req_s {
@@ -205,7 +205,7 @@ struct bfi_fcport_enable_req_s {
205 u32 rsvd2; 205 u32 rsvd2;
206}; 206};
207 207
208/** 208/*
209 * BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ 209 * BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ
210 */ 210 */
211struct bfi_fcport_set_svc_params_req_s { 211struct bfi_fcport_set_svc_params_req_s {
@@ -214,7 +214,7 @@ struct bfi_fcport_set_svc_params_req_s {
214 u16 rsvd; 214 u16 rsvd;
215}; 215};
216 216
217/** 217/*
218 * BFI_FCPORT_I2H_EVENT 218 * BFI_FCPORT_I2H_EVENT
219 */ 219 */
220struct bfi_fcport_event_s { 220struct bfi_fcport_event_s {
@@ -222,7 +222,7 @@ struct bfi_fcport_event_s {
222 struct bfa_port_link_s link_state; 222 struct bfa_port_link_s link_state;
223}; 223};
224 224
225/** 225/*
226 * BFI_FCPORT_I2H_TRUNK_SCN 226 * BFI_FCPORT_I2H_TRUNK_SCN
227 */ 227 */
228struct bfi_fcport_trunk_link_s { 228struct bfi_fcport_trunk_link_s {
@@ -243,7 +243,7 @@ struct bfi_fcport_trunk_scn_s {
243 struct bfi_fcport_trunk_link_s tlink[BFI_FCPORT_MAX_LINKS]; 243 struct bfi_fcport_trunk_link_s tlink[BFI_FCPORT_MAX_LINKS];
244}; 244};
245 245
246/** 246/*
247 * fcport H2I message 247 * fcport H2I message
248 */ 248 */
249union bfi_fcport_h2i_msg_u { 249union bfi_fcport_h2i_msg_u {
@@ -255,7 +255,7 @@ union bfi_fcport_h2i_msg_u {
255 struct bfi_fcport_req_s *pstatsclear; 255 struct bfi_fcport_req_s *pstatsclear;
256}; 256};
257 257
258/** 258/*
259 * fcport I2H message 259 * fcport I2H message
260 */ 260 */
261union bfi_fcport_i2h_msg_u { 261union bfi_fcport_i2h_msg_u {
@@ -279,7 +279,7 @@ enum bfi_fcxp_i2h {
279 279
280#define BFA_FCXP_MAX_SGES 2 280#define BFA_FCXP_MAX_SGES 2
281 281
282/** 282/*
283 * FCXP send request structure 283 * FCXP send request structure
284 */ 284 */
285struct bfi_fcxp_send_req_s { 285struct bfi_fcxp_send_req_s {
@@ -299,7 +299,7 @@ struct bfi_fcxp_send_req_s {
299 struct bfi_sge_s rsp_sge[BFA_FCXP_MAX_SGES]; /* response buf */ 299 struct bfi_sge_s rsp_sge[BFA_FCXP_MAX_SGES]; /* response buf */
300}; 300};
301 301
302/** 302/*
303 * FCXP send response structure 303 * FCXP send response structure
304 */ 304 */
305struct bfi_fcxp_send_rsp_s { 305struct bfi_fcxp_send_rsp_s {
@@ -565,14 +565,14 @@ enum bfi_ioim_i2h {
565 BFI_IOIM_I2H_IOABORT_RSP = BFA_I2HM(2), /* ABORT rsp */ 565 BFI_IOIM_I2H_IOABORT_RSP = BFA_I2HM(2), /* ABORT rsp */
566}; 566};
567 567
568/** 568/*
569 * IO command DIF info 569 * IO command DIF info
570 */ 570 */
571struct bfi_ioim_dif_s { 571struct bfi_ioim_dif_s {
572 u32 dif_info[4]; 572 u32 dif_info[4];
573}; 573};
574 574
575/** 575/*
576 * FCP IO messages overview 576 * FCP IO messages overview
577 * 577 *
578 * @note 578 * @note
@@ -587,7 +587,7 @@ struct bfi_ioim_req_s {
587 u16 rport_hdl; /* itnim/rport firmware handle */ 587 u16 rport_hdl; /* itnim/rport firmware handle */
588 struct fcp_cmnd_s cmnd; /* IO request info */ 588 struct fcp_cmnd_s cmnd; /* IO request info */
589 589
590 /** 590 /*
591 * SG elements array within the IO request must be double word 591 * SG elements array within the IO request must be double word
592 * aligned. This aligment is required to optimize SGM setup for the IO. 592 * aligned. This aligment is required to optimize SGM setup for the IO.
593 */ 593 */
@@ -598,7 +598,7 @@ struct bfi_ioim_req_s {
598 struct bfi_ioim_dif_s dif; 598 struct bfi_ioim_dif_s dif;
599}; 599};
600 600
601/** 601/*
602 * This table shows various IO status codes from firmware and their 602 * This table shows various IO status codes from firmware and their
603 * meaning. Host driver can use these status codes to further process 603 * meaning. Host driver can use these status codes to further process
604 * IO completions. 604 * IO completions.
@@ -684,7 +684,7 @@ enum bfi_ioim_status {
684}; 684};
685 685
686#define BFI_IOIM_SNSLEN (256) 686#define BFI_IOIM_SNSLEN (256)
687/** 687/*
688 * I/O response message 688 * I/O response message
689 */ 689 */
690struct bfi_ioim_rsp_s { 690struct bfi_ioim_rsp_s {
@@ -746,7 +746,7 @@ enum bfi_tskim_status {
746 BFI_TSKIM_STS_NOT_SUPP = 4, 746 BFI_TSKIM_STS_NOT_SUPP = 4,
747 BFI_TSKIM_STS_FAILED = 5, 747 BFI_TSKIM_STS_FAILED = 5,
748 748
749 /** 749 /*
750 * Defined by BFA 750 * Defined by BFA
751 */ 751 */
752 BFI_TSKIM_STS_TIMEOUT = 10, /* TM request timedout */ 752 BFI_TSKIM_STS_TIMEOUT = 10, /* TM request timedout */