diff options
author | Jiri Kosina <jkosina@suse.cz> | 2010-12-22 12:57:02 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-12-22 12:57:02 -0500 |
commit | 4b7bd364700d9ac8372eff48832062b936d0793b (patch) | |
tree | 0dbf78c95456a0b02d07fcd473281f04a87e266d /drivers/scsi/bfa | |
parent | c0d8768af260e2cbb4bf659ae6094a262c86b085 (diff) | |
parent | 90a8a73c06cc32b609a880d48449d7083327e11a (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')
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; | |||
29 | typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m); | 29 | typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m); |
30 | typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete); | 30 | typedef 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 | */ |
35 | void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m); | 35 | void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m); |
36 | void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func); | 36 | void 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 | */ |
92 | enum { | 92 | enum { |
@@ -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 | */ |
136 | struct bfa_cb_qe_s { | 136 | struct 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 | */ |
169 | struct bfa_pciid_s { | 169 | struct bfa_pciid_s { |
@@ -173,7 +173,7 @@ struct bfa_pciid_s { | |||
173 | 173 | ||
174 | extern char bfa_version[]; | 174 | extern char bfa_version[]; |
175 | 175 | ||
176 | /** | 176 | /* |
177 | * BFA memory resources | 177 | * BFA memory resources |
178 | */ | 178 | */ |
179 | enum bfa_mem_type { | 179 | enum 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 | ||
204 | struct bfa_iocfc_regs_s { | 204 | struct 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 | */ |
230 | struct bfa_hwif_s { | 230 | struct 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 | */ |
54 | static inline u8 * | 54 | static 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 | */ |
65 | static inline enum fcp_iodir | 65 | static 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 | */ |
83 | static inline u32 | 83 | static 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 | */ |
94 | static inline u8 | 94 | static 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 | */ |
110 | static inline u8 | 110 | static 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 | */ |
119 | static inline u8 | 119 | static 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 | */ |
128 | static inline u8 | 128 | static 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 | */ |
154 | static inline u8 | 154 | static 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 | ||
22 | BFA_TRC_FILE(HAL, CORE); | 22 | BFA_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 | */ |
60 | static void bfa_iocfc_enable_cbfn(void *bfa_arg, enum bfa_status status); | 60 | static 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); | |||
63 | static void bfa_iocfc_reset_cbfn(void *bfa_arg); | 63 | static void bfa_iocfc_reset_cbfn(void *bfa_arg); |
64 | static struct bfa_ioc_cbfn_s bfa_iocfc_cbfn; | 64 | static struct bfa_ioc_cbfn_s bfa_iocfc_cbfn; |
65 | 65 | ||
66 | /** | 66 | /* |
67 | * BFA Interrupt handling functions | 67 | * BFA Interrupt handling functions |
68 | */ | 68 | */ |
69 | static void | 69 | static 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 | */ |
110 | bfa_boolean_t | 110 | bfa_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) | |||
153 | void | 153 | void |
154 | bfa_intx_enable(struct bfa_s *bfa) | 154 | bfa_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 | ||
159 | void | 159 | void |
160 | bfa_intx_disable(struct bfa_s *bfa) | 160 | bfa_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 | ||
165 | void | 165 | void |
@@ -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 | |||
198 | bfa_isr_disable(struct bfa_s *bfa) | 198 | bfa_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 | */ |
372 | static void | 372 | static 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 | */ |
565 | static void | 565 | static 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 | */ |
579 | static void | 579 | static 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 | */ |
629 | static void | 629 | static 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 | */ |
671 | static void | 671 | static 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 | */ |
690 | static void | 690 | static 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 | */ |
711 | static void | 711 | static 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 | */ |
729 | static void | 729 | static 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 | */ |
745 | void | 745 | void |
@@ -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 | */ |
760 | void | 760 | void |
@@ -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 | */ |
796 | void | 796 | void |
@@ -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 | */ |
805 | void | 805 | void |
@@ -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 | */ |
930 | void | 930 | void |
@@ -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 | */ |
959 | void | 959 | void |
@@ -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 | */ |
1249 | void | 1249 | void |
@@ -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 | */ |
1334 | bfa_status_t | 1334 | bfa_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 | */ |
1343 | void | 1343 | void |
@@ -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 | */ |
1384 | void | 1384 | void |
@@ -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 | ||
256 | typedef void (*bfa_sm_t)(void *sm, int event); | 256 | typedef 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 | */ |
275 | struct bfa_sm_table_s { | 275 | struct 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 | */ |
285 | typedef void (*bfa_fsm_t)(void *fsm, int event); | 285 | typedef 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 | */ |
346 | static inline void | 346 | static 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 | */ |
358 | static inline void | 358 | static 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 | */ |
30 | enum { | 30 | enum { |
@@ -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 | */ |
89 | enum { | 89 | enum { |
@@ -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 | */ |
103 | struct bfa_mfg_vpd_s { | 103 | struct 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 | */ |
118 | enum bfa_status { | 118 | enum 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 | */ |
177 | enum { | 177 | enum { |
@@ -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 | */ |
230 | struct bfa_ioc_driver_attr_s { | 230 | struct 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 | */ |
242 | struct bfa_ioc_pci_attr_s { | 242 | struct 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 | */ |
255 | enum bfa_ioc_state { | 255 | enum 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 | */ |
273 | struct bfa_fw_ioc_stats_s { | 273 | struct 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 | */ |
285 | struct bfa_ioc_drv_stats_s { | 285 | struct 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 | */ |
302 | struct bfa_ioc_stats_s { | 302 | struct 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 | */ |
316 | struct bfa_ioc_attr_s { | 316 | struct 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 | */ |
346 | struct bfa_mfg_block_s { | 346 | struct 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 | */ |
383 | enum { | 383 | enum { |
@@ -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 | */ |
398 | enum { | 398 | enum { |
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 | */ |
448 | struct bfa_boot_bootlun_s { | 448 | struct 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 | */ |
457 | struct bfa_boot_pbc_s { | 457 | struct 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 | */ |
27 | enum bfa_vf_state { | 27 | enum 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 | */ |
41 | struct bfa_vf_stats_s { | 41 | struct 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 | */ |
61 | struct bfa_vf_attr_s { | 61 | struct 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 | */ |
92 | struct bfa_lport_cfg_s { | 92 | struct 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 | */ |
104 | enum bfa_lport_state { | 104 | enum 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 | */ |
114 | enum bfa_lport_type { | 114 | enum 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 | */ |
122 | enum bfa_lport_offline_reason { | 122 | enum 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 | */ |
134 | struct bfa_lport_info_s { | 134 | struct 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 | */ |
156 | struct bfa_lport_stats_s { | 156 | struct 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 | */ |
228 | struct bfa_lport_attr_s { | 228 | struct 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 | */ |
245 | enum bfa_vport_state { | 245 | enum 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 | */ |
264 | struct bfa_vport_stats_s { | 264 | struct 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 | */ |
302 | struct bfa_vport_attr_s { | 302 | struct 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 | */ |
311 | enum bfa_rport_state { | 311 | enum 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 | */ |
327 | enum bfa_rport_function { | 327 | enum 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 | */ |
343 | struct bfa_rport_stats_s { | 343 | struct 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 | */ |
380 | struct bfa_rport_attr_s { | 380 | struct 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 | */ |
417 | enum bfa_itnim_state { | 417 | enum 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 | */ |
431 | struct bfa_itnim_stats_s { | 431 | struct 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 | */ |
449 | struct bfa_itnim_attr_s { | 449 | struct 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 | */ |
44 | struct bfa_iocfc_fwcfg_s { | 44 | struct 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 | */ |
77 | struct bfa_iocfc_cfg_s { | 77 | struct 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 | */ |
85 | struct bfa_fw_io_stats_s { | 85 | struct 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 | */ |
268 | struct bfa_fw_fcoe_port_stats_s { | 268 | struct 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 | */ |
276 | struct bfa_fw_fc_uport_stats_s { | 276 | struct 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 | */ |
284 | union bfa_fw_fc_port_stats_s { | 284 | union 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 | */ |
292 | struct bfa_fw_port_stats_s { | 292 | struct 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 | */ |
301 | struct bfa_fw_fcxchg_stats_s { | 301 | struct 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 | */ |
314 | struct bfa_fw_trunk_stats_s { | 314 | struct 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 | */ |
340 | struct bfa_fw_iocfc_stats_s { | 340 | struct 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 | */ |
351 | struct bfa_iocfc_attr_s { | 351 | struct 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 | */ |
359 | struct bfa_fw_eth_sndrcv_stats_s { | 359 | struct 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 | */ |
367 | struct bfa_fw_mac_mod_stats_s { | 367 | struct 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 | */ |
385 | struct bfa_fw_ct_mod_stats_s { | 385 | struct 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 | */ |
397 | struct bfa_fw_stats_s { | 397 | struct 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 | */ |
418 | enum bfa_qos_state { | 418 | enum 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 | */ |
426 | enum bfa_qos_priority { | 426 | enum 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 | */ |
436 | enum bfa_qos_bw_alloc { | 436 | enum 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 | */ |
445 | struct bfa_qos_attr_s { | 445 | struct 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 | */ |
477 | struct bfa_qos_stats_s { | 477 | struct 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 | */ |
495 | struct bfa_fcoe_stats_s { | 495 | struct 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 | */ |
546 | union bfa_fcport_stats_u { | 546 | union 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 | */ |
645 | enum bfa_port_type { | 645 | enum 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 | */ |
668 | enum bfa_port_opmode { | 668 | enum 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 | */ |
685 | enum bfa_port_linkstate { | 685 | enum 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 | */ |
693 | enum bfa_port_linkstate_rsn { | 693 | enum 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 | */ |
739 | struct bfa_port_cfg_s { | 739 | struct 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 | */ |
759 | struct bfa_port_attr_s { | 759 | struct 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 | */ |
806 | struct bfa_port_fcpmap_s { | 806 | struct 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 | */ |
821 | struct bfa_port_rnid_s { | 821 | struct 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 | */ |
854 | enum bfa_trunk_state { | 854 | enum 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 | */ |
863 | struct bfa_trunk_vc_attr_s { | 863 | struct 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 | */ |
873 | struct bfa_port_link_s { | 873 | struct 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 | */ |
965 | struct bfa_rport_qos_attr_s { | 965 | struct 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 | */ |
993 | struct bfa_port_fc_stats_s { | 993 | struct 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 | */ |
1028 | struct bfa_port_eth_stats_s { | 1028 | struct 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 | */ |
1076 | union bfa_port_stats_u { | 1076 | union 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 | */ |
23 | struct bfa_module_s *hal_mods[] = { | 23 | struct 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 | */ |
37 | bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = { | 37 | bfa_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 | */ |
76 | bfa_ioc_mbox_mcfunc_t bfa_mbox_isrs[BFI_MC_MAX] = { | 76 | bfa_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 | */ |
1100 | enum fc_cos { | 1100 | enum 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 | */ |
1469 | struct fcgs_rftid_req_s { | 1469 | struct 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 | */ |
1493 | struct fcgs_gidft_req_s { | 1493 | struct 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 | */ |
1503 | struct fcgs_gidft_resp_s { | 1503 | struct 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 | */ |
1512 | struct fcgs_rspnid_req_s { | 1512 | struct 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 | */ |
1522 | struct fcgs_rpnid_req_s { | 1522 | struct 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 | */ |
1531 | struct fcgs_rnnid_req_s { | 1531 | struct 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 | */ |
1540 | struct fcgs_rcsid_req_s { | 1540 | struct 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 | */ |
1549 | struct fcgs_rptid_req_s { | 1549 | struct 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 | */ |
1559 | struct fcgs_ganxt_req_s { | 1559 | struct 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 | */ |
1567 | struct fcgs_ganxt_rsp_s { | 1567 | struct 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) | |||
137 | static void | 137 | static void |
138 | fc_gs_fchdr_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u32 ox_id) | 138 | fc_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) | |||
159 | void | 159 | void |
160 | fc_els_req_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) | 160 | fc_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 | ||
168 | static void | 168 | static void |
169 | fc_els_rsp_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) | 169 | fc_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) | |||
198 | static void | 198 | static void |
199 | fc_bls_rsp_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) | 199 | fc_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) | |||
554 | u16 | 554 | u16 |
555 | fc_abts_build(struct fchs_s *fchs, u32 d_id, u32 s_id, u16 ox_id) | 555 | fc_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 | ||
691 | u16 | 691 | u16 |
@@ -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 | ||
715 | u16 | 715 | u16 |
@@ -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 | ||
892 | u16 | 892 | u16 |
@@ -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 | ||
956 | u16 | 956 | u16 |
@@ -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, | |||
1011 | static void | 1011 | static void |
1012 | fc_gs_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code) | 1012 | fc_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 | ||
1021 | static void | 1021 | static void |
1022 | fc_gs_fdmi_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code) | 1022 | fc_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 | ||
1031 | static void | 1031 | static void |
1032 | fc_gs_ms_cthdr_build(struct ct_hdr_s *cthdr, u32 s_id, u16 cmd_code, | 1032 | fc_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 | ||
1042 | u16 | 1042 | u16 |
@@ -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, | |||
1090 | u16 | 1090 | u16 |
1091 | fc_ct_rsp_parse(struct ct_hdr_s *cthdr) | 1091 | fc_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 | */ |
32 | static void bfa_itnim_update_del_itn_stats(struct bfa_itnim_s *itnim); | 32 | static 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 | */ |
117 | enum bfa_ioim_event { | 117 | enum 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 | */ |
171 | static void bfa_itnim_iocdisable_cleanup(struct bfa_itnim_s *itnim); | 171 | static 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); | |||
183 | static void bfa_itnim_iotov_stop(struct bfa_itnim_s *itnim); | 183 | static void bfa_itnim_iotov_stop(struct bfa_itnim_s *itnim); |
184 | static void bfa_itnim_iotov_delete(struct bfa_itnim_s *itnim); | 184 | static 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 | */ |
189 | static void bfa_itnim_sm_uninit(struct bfa_itnim_s *itnim, | 189 | static 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, | |||
217 | static void bfa_itnim_sm_deleting_qfull(struct bfa_itnim_s *itnim, | 217 | static 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 | */ |
223 | static bfa_boolean_t bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim); | 223 | static 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); | |||
233 | static bfa_boolean_t bfa_ioim_is_abortable(struct bfa_ioim_s *ioim); | 233 | static 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 | */ |
239 | static void bfa_ioim_sm_uninit(struct bfa_ioim_s *ioim, | 239 | static 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, | |||
261 | static void bfa_ioim_sm_cmnd_retry(struct bfa_ioim_s *ioim, | 261 | static 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 | */ |
267 | static void __bfa_cb_tskim_done(void *cbarg, bfa_boolean_t complete); | 267 | static 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); | |||
276 | static void bfa_tskim_iocdisable_ios(struct bfa_tskim_s *tskim); | 276 | static 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 | */ |
282 | static void bfa_tskim_sm_uninit(struct bfa_tskim_s *tskim, | 282 | static 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, | |||
294 | static void bfa_tskim_sm_hcb(struct bfa_tskim_s *tskim, | 294 | static 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 | */ |
304 | static void | 304 | static 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 | */ |
614 | static void | 614 | static 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 | */ |
635 | static void | 635 | static 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 | */ |
666 | static void | 666 | static 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 | */ |
738 | static void | 738 | static 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 | */ |
766 | static void | 766 | static 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 | */ |
808 | static void | 808 | static 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 | */ |
839 | static void | 839 | static 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 | */ |
876 | static void | 876 | static 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 | */ |
904 | static void | 904 | static 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 | */ |
961 | static void | 961 | static 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 | */ |
993 | static void | 993 | static 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 | */ |
1029 | static void | 1029 | static 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 | */ |
1074 | static void | 1074 | static 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 | */ |
1108 | static void | 1108 | static 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 | */ |
1120 | static void | 1120 | static 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 | */ |
1182 | static void | 1182 | static 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 | |||
1210 | bfa_itnim_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *km_len, | 1210 | bfa_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 | */ |
1320 | static void | 1320 | static 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 | */ |
1335 | static void | 1335 | static 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 | */ |
1360 | static void | 1360 | static 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 | */ |
1383 | static void | 1383 | static 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 | */ |
1398 | static void | 1398 | static 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 | */ |
1413 | static void | 1413 | static 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 | */ |
1425 | static void | 1425 | static 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 | */ |
1469 | void | 1469 | void |
@@ -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 | |||
1597 | bfa_itnim_clear_stats(struct bfa_itnim_s *itnim) | 1597 | bfa_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 | */ |
1613 | static void | 1613 | static 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 | */ |
1678 | static void | 1678 | static 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 | */ |
1725 | static void | 1725 | static 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 | */ |
1809 | static void | 1809 | static 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 | */ |
1863 | static void | 1863 | static 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 | */ |
1986 | static void | 1986 | static 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 | */ |
2030 | static void | 2030 | static 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 | */ |
2081 | static void | 2081 | static 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 | */ |
2131 | static void | 2131 | static 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 | */ |
2158 | static void | 2158 | static 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 | */ |
2191 | static void | 2191 | static 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 | */ |
2333 | static bfa_boolean_t | 2333 | static 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 | */ |
2546 | static bfa_boolean_t | 2545 | static 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 | */ |
2581 | static void | 2580 | static void |
@@ -2591,7 +2590,7 @@ bfa_ioim_qresume(void *cbarg) | |||
2591 | static void | 2590 | static void |
2592 | bfa_ioim_notify_cleanup(struct bfa_ioim_s *ioim) | 2591 | bfa_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 | */ |
2630 | void | 2629 | void |
2631 | bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, bfa_boolean_t iotov) | 2630 | bfa_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 | */ |
2665 | void | 2664 | void |
@@ -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 | */ |
2729 | void | 2728 | void |
@@ -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) | |||
2837 | void | 2836 | void |
2838 | bfa_ioim_profile_start(struct bfa_ioim_s *ioim) | 2837 | bfa_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 | ||
2843 | void | 2842 | void |
@@ -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 | */ |
2865 | void | 2864 | void |
@@ -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 | */ |
2888 | void | 2887 | void |
@@ -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 | */ |
2899 | void | 2898 | void |
@@ -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 | */ |
2915 | struct bfa_ioim_s * | 2914 | struct 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 | */ |
2986 | bfa_status_t | 2985 | bfa_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 | */ |
3009 | static void | 3008 | static 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 | */ |
3144 | static void | 3143 | static 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 | */ |
3214 | static void | 3213 | static 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 | */ |
3295 | static void | 3294 | static 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 | */ |
3333 | static void | 3332 | static 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 | */ |
3345 | static void | 3344 | static 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 | */ |
3365 | static bfa_boolean_t | 3364 | static 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 | */ |
3400 | static bfa_boolean_t | 3399 | static 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 | */ |
3431 | static void | 3430 | static 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 | */ |
3443 | static void | 3442 | static 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 | */ |
3464 | void | 3463 | void |
@@ -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 | */ |
3473 | void | 3472 | void |
@@ -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 | */ |
3484 | void | 3483 | void |
@@ -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 | */ |
3495 | void | 3494 | void |
@@ -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) | |||
3525 | void | 3524 | void |
3526 | bfa_tskim_detach(struct bfa_fcpim_mod_s *fcpim) | 3525 | bfa_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 | */ |
110 | struct bfa_ioim_s { | 110 | struct 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 | */ |
143 | struct bfa_tskim_s { | 143 | struct 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 | */ |
166 | struct bfa_itnim_s { | 166 | struct 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 | */ |
313 | void bfa_cb_itnim_online(void *itnim); | 313 | void 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); | |||
323 | void bfa_cb_itnim_tov_begin(void *itnim); | 323 | void bfa_cb_itnim_tov_begin(void *itnim); |
324 | void bfa_cb_itnim_tov(void *itnim); | 324 | void 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 | */ |
378 | void bfa_cb_ioim_good_comp(void *bfad, struct bfad_ioim_s *dio); | 378 | void 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 | ||
26 | BFA_TRC_FILE(FCS, FCS); | 26 | BFA_TRC_FILE(FCS, FCS); |
27 | 27 | ||
28 | /** | 28 | /* |
29 | * FCS sub-modules | 29 | * FCS sub-modules |
30 | */ | 30 | */ |
31 | struct bfa_fcs_mod_s { | 31 | struct 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 | */ |
68 | void | 68 | void |
@@ -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 | */ |
92 | void | 92 | void |
@@ -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 | */ |
116 | void | 116 | void |
@@ -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 | */ |
242 | enum bfa_fcs_fabric_event { | 242 | enum 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); |
287 | static void bfa_fcs_fabric_sm_deleting(struct bfa_fcs_fabric_s *fabric, | 287 | static 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 | */ |
292 | static void | 292 | static 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 | */ |
318 | static void | 318 | static 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 | */ |
381 | static void | 381 | static 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 | */ |
474 | static void | 474 | static 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 | */ |
514 | static void | 514 | static 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 | */ |
540 | static void | 540 | static 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 | */ |
566 | static void | 566 | static 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 | */ |
599 | static void | 599 | static 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 | */ |
634 | static void | 634 | static 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 | */ |
658 | static void | 658 | static 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 | */ |
669 | static void | 669 | static 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 | */ |
690 | static void | 690 | static 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 | */ |
734 | void | 734 | void |
@@ -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 | */ |
795 | void | 795 | void |
@@ -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 | */ |
873 | static void | 873 | static 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 | */ |
945 | static void | 945 | static 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 | */ |
975 | void | 975 | void |
@@ -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 | */ |
1013 | void | 1013 | void |
@@ -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 | */ |
1031 | void | 1031 | void |
@@ -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 | */ |
1044 | void | 1044 | void |
@@ -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 | */ |
1070 | void | 1070 | void |
@@ -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 | */ |
1080 | void | 1080 | void |
@@ -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 | |||
1099 | bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric, | 1099 | bfa_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 | */ |
1129 | void | 1129 | void |
@@ -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 | */ |
1164 | struct bfa_fcs_vport_s * | 1164 | struct 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 | */ |
1220 | void | 1220 | void |
@@ -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 | */ |
1286 | static void | 1286 | static 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 | */ |
1310 | static void | 1310 | static 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 | */ |
1376 | static void | 1376 | static 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 | */ | ||
1435 | bfa_status_t | ||
1436 | bfa_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 | */ | ||
1451 | bfa_status_t | ||
1452 | bfa_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 | */ | ||
1476 | bfa_status_t | ||
1477 | bfa_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 | */ | ||
1494 | bfa_status_t | ||
1495 | bfa_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 | */ | ||
1510 | void | ||
1511 | bfa_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 | */ | ||
1524 | void | ||
1525 | bfa_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 | */ | ||
1537 | void | ||
1538 | bfa_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 | */ | ||
1572 | void | ||
1573 | bfa_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 | */ | ||
1589 | void | ||
1590 | bfa_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 | */ | ||
1604 | void | ||
1605 | bfa_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 | */ |
1638 | static void | 1441 | static 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 | */ |
348 | bfa_status_t bfa_fcs_vport_create(struct bfa_fcs_vport_s *vport, | 348 | bfa_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 | */ |
440 | bfa_status_t bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn, | 440 | bfa_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 | */ |
579 | void bfa_fcs_itnim_get_attr(struct bfa_fcs_itnim_s *itnim, | 579 | void bfa_fcs_itnim_get_attr(struct bfa_fcs_itnim_s *itnim, |
@@ -677,22 +677,9 @@ void bfa_fcs_exit(struct bfa_fcs_s *fcs); | |||
677 | void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod); | 677 | void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod); |
678 | void bfa_fcs_start(struct bfa_fcs_s *fcs); | 678 | void 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 | */ |
683 | bfa_status_t bfa_fcs_vf_mode_enable(struct bfa_fcs_s *fcs, u16 vf_id); | ||
684 | bfa_status_t bfa_fcs_vf_mode_disable(struct bfa_fcs_s *fcs); | ||
685 | bfa_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); | ||
688 | bfa_status_t bfa_fcs_vf_delete(bfa_fcs_vf_t *vf); | ||
689 | void bfa_fcs_vf_list(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs); | ||
690 | void bfa_fcs_vf_list_all(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs); | ||
691 | void bfa_fcs_vf_get_attr(bfa_fcs_vf_t *vf, struct bfa_vf_attr_s *vf_attr); | ||
692 | void bfa_fcs_vf_get_stats(bfa_fcs_vf_t *vf, | ||
693 | struct bfa_vf_stats_s *vf_stats); | ||
694 | void bfa_fcs_vf_clear_stats(bfa_fcs_vf_t *vf); | ||
695 | void bfa_fcs_vf_get_ports(bfa_fcs_vf_t *vf, wwn_t vpwwn[], int *nports); | ||
696 | bfa_fcs_vf_t *bfa_fcs_vf_lookup(struct bfa_fcs_s *fcs, u16 vf_id); | 683 | bfa_fcs_vf_t *bfa_fcs_vf_lookup(struct bfa_fcs_s *fcs, u16 vf_id); |
697 | u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric); | 684 | u16 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); | |||
729 | void bfa_fcs_uf_attach(struct bfa_fcs_s *fcs); | 716 | void bfa_fcs_uf_attach(struct bfa_fcs_s *fcs); |
730 | void bfa_fcs_port_attach(struct bfa_fcs_s *fcs); | 717 | void 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; | |||
742 | struct bfad_vport_s; | 729 | struct bfad_vport_s; |
743 | struct bfad_rport_s; | 730 | struct bfad_rport_s; |
744 | 731 | ||
745 | /** | 732 | /* |
746 | * lport callbacks | 733 | * lport callbacks |
747 | */ | 734 | */ |
748 | struct bfad_port_s *bfa_fcb_lport_new(struct bfad_s *bfad, | 735 | struct 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 | */ |
760 | void bfa_fcb_pbc_vport_create(struct bfad_s *bfad, struct bfi_pbc_vport_s); | 747 | void 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 | */ |
765 | bfa_status_t bfa_fcb_rport_alloc(struct bfad_s *bfad, | 752 | bfa_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 | */ |
772 | void bfa_fcb_itnim_alloc(struct bfad_s *bfad, struct bfa_fcs_itnim_s **itnim, | 759 | void 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 | */ |
572 | void | 572 | void |
@@ -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 | */ |
592 | void | 592 | void |
@@ -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 | */ |
614 | bfa_status_t | 614 | bfa_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 | */ |
631 | void | 631 | void |
@@ -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 | */ |
643 | void | 643 | void |
@@ -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 | */ |
667 | void | 667 | void |
@@ -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 | ||
27 | BFA_TRC_FILE(FCS, PORT); | 23 | BFA_TRC_FILE(FCS, PORT); |
28 | 24 | ||
29 | /** | ||
30 | * Forward declarations | ||
31 | */ | ||
32 | |||
33 | static void bfa_fcs_lport_send_ls_rjt(struct bfa_fcs_lport_s *port, | 25 | static 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 | */ |
278 | static void | 270 | static 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 | |||
479 | bfa_fs_port_get_gen_topo_data(struct bfa_fcs_lport_s *port, | 471 | bfa_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 | ||
490 | static void | 482 | static 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 | */ |
607 | void | 599 | void |
@@ -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 | */ |
616 | void | 608 | void |
@@ -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 | */ |
625 | void | 617 | void |
@@ -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 | */ |
729 | struct bfa_fcs_rport_s * | 721 | struct 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 | */ |
748 | struct bfa_fcs_rport_s * | 740 | struct 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 | */ |
767 | struct bfa_fcs_rport_s * | 759 | struct 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 | */ |
786 | void | 778 | void |
@@ -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 | */ |
798 | void | 790 | void |
@@ -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 | */ |
845 | bfa_boolean_t | 837 | bfa_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 | */ |
854 | void | 846 | void |
@@ -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 | */ |
944 | static void | 936 | static 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 | */ |
955 | static void | 947 | static 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 | */ |
965 | static void | 957 | static 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 | */ |
980 | static void | 972 | static 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 | */ |
988 | static void | 980 | static 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 | */ |
1041 | static void | 1033 | static 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); |
1095 | static void bfa_fcs_fdmi_get_portattr(struct bfa_fcs_lport_fdmi_s *fdmi, | 1087 | static 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 | */ |
1104 | enum port_fdmi_event { | 1096 | enum port_fdmi_event { |
@@ -1143,7 +1135,7 @@ static void bfa_fcs_lport_fdmi_sm_online(struct bfa_fcs_lport_fdmi_s *fdmi, | |||
1143 | static void bfa_fcs_lport_fdmi_sm_disabled( | 1135 | static 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 | */ |
1149 | static void | 1141 | static 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 | */ |
1516 | static void | 1508 | static 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 | */ |
1531 | static void | 1523 | static 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 | */ |
1843 | static void | 1796 | static 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 | */ |
1885 | static u16 | 1838 | static 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 | */ |
2068 | static void | 2010 | static 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 | ||
2210 | void | 2150 | void |
@@ -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 | */ |
2331 | enum port_ms_event { | 2271 | enum 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); |
2361 | static void bfa_fcs_lport_ms_sm_online(struct bfa_fcs_lport_ms_s *ms, | 2301 | static 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 | */ |
2366 | static void | 2306 | static 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 | ||
3082 | static void bfa_fcs_lport_ns_boot_target_disc(bfa_fcs_lport_t *port); | 3022 | static 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 | */ |
3090 | enum vport_ns_event { | 3030 | enum 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); |
3140 | static void bfa_fcs_lport_ns_sm_online(struct bfa_fcs_lport_ns_s *ns, | 3080 | static 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 | */ |
3145 | static void | 3085 | static 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 | */ |
3730 | static void | 3670 | static 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 | */ |
3835 | static void | 3775 | static 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 | */ |
3907 | static void | 3847 | static 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); |
4251 | static void bfa_fcs_lport_scn_timeout(void *arg); | 4191 | static 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 | */ |
4260 | enum port_scn_event { | 4200 | enum port_scn_event { |
@@ -4278,7 +4218,7 @@ static void bfa_fcs_lport_scn_sm_scr_retry(struct bfa_fcs_lport_scn_s *scn, | |||
4278 | static void bfa_fcs_lport_scn_sm_online(struct bfa_fcs_lport_scn_s *scn, | 4218 | static 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 | */ |
4284 | static void | 4224 | static 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 | */ |
4392 | static void | 4332 | static 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 | */ |
4708 | struct bfa_fcs_lport_s * | 4648 | struct bfa_fcs_lport_s * |
@@ -4943,10 +4883,10 @@ bfa_fcs_lport_get_stats(struct bfa_fcs_lport_s *fcs_port, | |||
4943 | void | 4883 | void |
4944 | bfa_fcs_lport_clear_stats(struct bfa_fcs_lport_s *fcs_port) | 4884 | bfa_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); | |||
4967 | static void bfa_fcs_vport_do_logo(struct bfa_fcs_vport_s *vport); | 4907 | static void bfa_fcs_vport_do_logo(struct bfa_fcs_vport_s *vport); |
4968 | static void bfa_fcs_vport_free(struct bfa_fcs_vport_s *vport); | 4908 | static 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 | */ |
4977 | enum bfa_fcs_vport_event { | 4917 | enum 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 | */ |
5030 | static void | 4970 | static 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 | */ |
5051 | static void | 4991 | static 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 | */ |
5095 | static void | 5035 | static 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 | */ |
5133 | static void | 5073 | static 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 | */ |
5180 | static void | 5120 | static 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 | */ |
5214 | static void | 5154 | static 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 | */ |
5356 | static void | 5296 | static 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 | */ |
5459 | void | 5399 | void |
@@ -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 | */ |
5469 | void | 5409 | void |
@@ -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 | */ |
5479 | void | 5419 | void |
@@ -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 | */ |
5487 | void | 5427 | void |
@@ -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 | */ |
5496 | void | 5436 | void |
@@ -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, | |||
5703 | void | 5643 | void |
5704 | bfa_fcs_vport_clr_stats(struct bfa_fcs_vport_s *vport) | 5644 | bfa_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 | */ |
5712 | struct bfa_fcs_vport_s * | 5652 | struct 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 | */ |
5734 | void | 5674 | void |
@@ -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 | */ |
5790 | void | 5730 | void |
@@ -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 | */ |
5800 | void | 5740 | void |
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, | |||
75 | static void bfa_fcs_rport_process_adisc(struct bfa_fcs_rport_s *rport, | 75 | static 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); |
77 | static void bfa_fcs_rport_send_prlo_acc(struct bfa_fcs_rport_s *rport); | 77 | static 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 | */ |
178 | static void | 178 | static 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 | */ |
216 | static void | 216 | static 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 | */ |
268 | static void | 268 | static 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 | */ |
325 | static void | 325 | static 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 | */ |
386 | static void | 386 | static 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 | */ |
537 | static void | 537 | static 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 | */ |
816 | static void | 816 | static 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 | */ |
870 | static void | 870 | static 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 | */ |
1054 | static void | 1054 | static 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 | */ |
1148 | static void | 1148 | static 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 | */ |
1205 | static void | 1205 | static 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 | */ |
1269 | static void | 1269 | static 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 | */ |
1728 | static void | 1728 | static 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 | */ |
1765 | static void | 1765 | static 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 | */ |
2099 | static void | 2099 | static 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 | */ |
2154 | static void | 2154 | static 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 | |||
2280 | bfa_fcs_rport_plogi(struct bfa_fcs_rport_s *rport, struct fchs_s *rx_fchs, | 2280 | bfa_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 | */ |
2346 | void | 2346 | void |
@@ -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 | */ |
2356 | void | 2356 | void |
@@ -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 | */ |
2365 | void | 2365 | void |
@@ -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 | */ |
2467 | void | 2467 | void |
@@ -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 | */ |
2476 | void | 2476 | void |
@@ -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 | */ |
2583 | int | 2583 | int |
@@ -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 | */ |
2669 | void | 2669 | void |
@@ -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 | */ |
2710 | void | 2710 | void |
@@ -2717,7 +2717,7 @@ bfa_fcs_rport_get_stats(struct bfa_fcs_rport_s *rport, | |||
2717 | void | 2717 | void |
2718 | bfa_fcs_rport_clear_stats(struct bfa_fcs_rport_s *rport) | 2718 | bfa_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 | ||
2787 | static void bfa_fcs_rpf_timeout(void *arg); | 2787 | static 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 | */ |
2987 | void | 2987 | void |
@@ -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 | */ |
3001 | void | 3001 | void |
@@ -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 | */ |
3016 | void | 3016 | void |
@@ -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 | |||
22 | bfa_hwcb_reginit(struct bfa_s *bfa) | 22 | bfa_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) | |||
60 | static void | 60 | static void |
61 | bfa_hwcb_reqq_ack_msix(struct bfa_s *bfa, int reqq) | 61 | bfa_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 | ||
67 | void | 67 | void |
@@ -72,8 +72,8 @@ bfa_hwcb_rspq_ack(struct bfa_s *bfa, int rspq) | |||
72 | static void | 72 | static void |
73 | bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq) | 73 | bfa_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 | ||
79 | void | 79 | void |
@@ -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 | */ |
108 | void | 108 | void |
@@ -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 | */ |
135 | void | 135 | void |
@@ -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 | */ |
148 | void | 148 | void |
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 | |||
31 | bfa_hwct_msix_lpu_err_set(struct bfa_s *bfa, bfa_boolean_t msix, int vec) | 31 | bfa_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 | */ |
45 | static void | 45 | static void |
@@ -51,7 +51,7 @@ void | |||
51 | bfa_hwct_reginit(struct bfa_s *bfa) | 51 | bfa_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 | ||
95 | void | 95 | void |
@@ -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 | ||
104 | void | 104 | void |
@@ -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 | */ |
116 | void | 116 | void |
@@ -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 | */ |
162 | void | 162 | void |
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 | ||
24 | BFA_TRC_FILE(CNA, IOC); | 24 | BFA_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 | ||
78 | bfa_boolean_t bfa_auto_recover = BFA_TRUE; | 78 | bfa_boolean_t bfa_auto_recover = BFA_TRUE; |
79 | 79 | ||
@@ -101,11 +101,11 @@ static void bfa_ioc_pf_disabled(struct bfa_ioc_s *ioc); | |||
101 | static void bfa_ioc_pf_failed(struct bfa_ioc_s *ioc); | 101 | static void bfa_ioc_pf_failed(struct bfa_ioc_s *ioc); |
102 | static void bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc); | 102 | static 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 | */ |
111 | enum ioc_event { | 111 | enum 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); | |||
174 | static void bfa_iocpf_timeout(void *ioc_arg); | 174 | static void bfa_iocpf_timeout(void *ioc_arg); |
175 | static void bfa_iocpf_sem_timeout(void *ioc_arg); | 175 | static void bfa_iocpf_sem_timeout(void *ioc_arg); |
176 | 176 | ||
177 | /** | 177 | /* |
178 | * IOCPF state machine events | 178 | * IOCPF state machine events |
179 | */ | 179 | */ |
180 | enum iocpf_event { | 180 | enum 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 | */ |
197 | enum bfa_iocpf_state { | 197 | enum 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 | */ |
251 | static void | 251 | static 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 | */ |
268 | static void | 268 | static 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 | */ |
277 | static void | 277 | static 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 | */ |
358 | static void | 358 | static 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 | */ |
453 | static void | 453 | static 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 | */ |
480 | static void | 480 | static 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 | */ |
520 | static void | 520 | static 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 | */ |
575 | static void | 575 | static 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 | */ |
619 | static void | 619 | static 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 | */ |
629 | static void | 629 | static 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 | */ |
652 | static void | 652 | static 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 | */ |
661 | static void | 661 | static 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 | */ |
698 | static void | 698 | static 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 | */ |
714 | static void | 714 | static 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 | */ |
745 | static void | 745 | static 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 | */ |
754 | static void | 754 | static 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 | */ |
950 | static void | 949 | static 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 | */ |
986 | static void | 985 | static 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 | */ |
1024 | static void | 1023 | static void |
@@ -1053,18 +1052,18 @@ bfa_iocpf_sm_initfail(struct bfa_iocpf_s *iocpf, enum iocpf_event event) | |||
1053 | static void | 1052 | static void |
1054 | bfa_iocpf_sm_fail_entry(struct bfa_iocpf_s *iocpf) | 1053 | bfa_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 | */ |
1079 | static void | 1078 | static 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 | ||
1125 | bfa_boolean_t | 1124 | bfa_boolean_t |
1126 | bfa_ioc_sem_get(bfa_os_addr_t sem_reg) | 1125 | bfa_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 | ||
1147 | void | 1146 | void |
1148 | bfa_ioc_sem_release(bfa_os_addr_t sem_reg) | 1147 | bfa_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 | ||
1153 | static void | 1152 | static 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) | |||
1171 | void | 1170 | void |
1172 | bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc) | 1171 | bfa_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 | ||
1177 | static void | 1176 | static 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 | */ |
1186 | static void | 1185 | static 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 | ||
1223 | static void | 1222 | static 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 | ||
1237 | static void | 1236 | static 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 | */ |
1254 | void | 1253 | void |
@@ -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 | */ |
1277 | bfa_boolean_t | 1276 | bfa_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 | */ |
1336 | static void | 1335 | static 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 | ||
1465 | static void | 1464 | static 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) | |||
1519 | static void | 1518 | static void |
1520 | bfa_ioc_hb_monitor(struct bfa_ioc_s *ioc) | 1519 | bfa_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 | */ |
1536 | static void | 1535 | static 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 | ||
1598 | static void | 1595 | static 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 | */ |
1607 | static void | 1604 | static 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 | */ |
1622 | static void | 1619 | static 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 | */ |
1638 | static void | 1635 | static 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 | */ |
1668 | static void | 1665 | static 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 | */ |
1794 | static void | 1789 | static void |
@@ -1813,7 +1808,7 @@ static void | |||
1813 | bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc) | 1808 | bfa_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 | */ |
1855 | void | 1850 | void |
1856 | bfa_ioc_boot(struct bfa_ioc_s *ioc, u32 boot_type, u32 boot_env) | 1851 | bfa_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 | */ |
1890 | void | 1885 | void |
@@ -1904,7 +1899,7 @@ bfa_ioc_is_operational(struct bfa_ioc_s *ioc) | |||
1904 | bfa_boolean_t | 1899 | bfa_boolean_t |
1905 | bfa_ioc_is_initialized(struct bfa_ioc_s *ioc) | 1900 | bfa_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 | ||
1938 | void | 1933 | void |
@@ -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 | */ |
2002 | void | 1997 | void |
@@ -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, | |||
2040 | void | 2035 | void |
2041 | bfa_ioc_mem_claim(struct bfa_ioc_s *ioc, u8 *dm_kva, u64 dm_pa) | 2036 | bfa_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 | */ |
2054 | u32 | 2049 | u32 |
@@ -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 | */ |
2131 | void | 2126 | void |
@@ -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 | */ |
2180 | void | 2175 | void |
@@ -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 | */ |
2220 | bfa_boolean_t | 2215 | bfa_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 | */ |
2230 | bfa_boolean_t | 2225 | bfa_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 | |||
2251 | bfa_ioc_adapter_is_disabled(struct bfa_ioc_s *ioc) | 2246 | bfa_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) | |||
2343 | void | 2338 | void |
2344 | bfa_ioc_get_adapter_serial_num(struct bfa_ioc_s *ioc, char *serial_num) | 2339 | bfa_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) | |||
2352 | void | 2347 | void |
2353 | bfa_ioc_get_adapter_fw_ver(struct bfa_ioc_s *ioc, char *fw_ver) | 2348 | bfa_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 | ||
2359 | void | 2354 | void |
@@ -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) | |||
2374 | void | 2369 | void |
2375 | bfa_ioc_get_adapter_optrom_ver(struct bfa_ioc_s *ioc, char *optrom_ver) | 2370 | bfa_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 | ||
2382 | void | 2377 | void |
2383 | bfa_ioc_get_adapter_manufacturer(struct bfa_ioc_s *ioc, char *manufacturer) | 2378 | bfa_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 | ||
2389 | void | 2384 | void |
@@ -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) | |||
2446 | void | 2441 | void |
2447 | bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr) | 2442 | bfa_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 | */ |
2466 | wwn_t | 2461 | wwn_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 | */ |
2532 | bfa_status_t | 2527 | bfa_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 | */ |
2552 | void | 2547 | void |
@@ -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 | */ |
2561 | bfa_status_t | 2556 | bfa_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 | */ |
2616 | bfa_status_t | 2611 | bfa_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 | */ |
2663 | bfa_status_t | 2658 | bfa_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 | */ |
2708 | static void | 2703 | static 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 | */ |
2722 | static void | 2717 | static 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 | */ |
2801 | void | 2796 | void |
@@ -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 | */ |
2846 | void | 2841 | void |
@@ -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 | */ |
2864 | void | 2859 | void |
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 | */ |
28 | typedef void (*bfa_timer_cbfn_t)(void *); | 28 | typedef void (*bfa_timer_cbfn_t)(void *); |
29 | 29 | ||
30 | /** | 30 | /* |
31 | * BFA timer data structure | 31 | * BFA timer data structure |
32 | */ | 32 | */ |
33 | struct bfa_timer_s { | 33 | struct 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 | */ |
43 | struct bfa_timer_mod_s { | 43 | struct 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 | ||
49 | void bfa_timer_beat(struct bfa_timer_mod_s *mod); | 49 | void bfa_timer_beat(struct bfa_timer_mod_s *mod); |
50 | void bfa_timer_init(struct bfa_timer_mod_s *mod); | 50 | void 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); |
54 | void bfa_timer_stop(struct bfa_timer_s *timer); | 54 | void 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 | */ |
59 | struct bfa_sge_s { | 59 | struct 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 | */ |
86 | struct bfa_pcidev_s { | 86 | struct 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) | |||
125 | static inline void | 125 | static 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 | ||
132 | struct bfa_ioc_regs_s { | 132 | struct 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 | */ |
164 | struct bfa_mbox_cmd_s { | 162 | struct 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 | */ |
172 | typedef void (*bfa_ioc_mbox_mcfunc_t)(void *cbarg, struct bfi_mbmsg_s *m); | 170 | typedef 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 | */ |
185 | typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status); | 183 | typedef 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 | */ |
199 | struct bfa_ioc_hbfail_notify_s { | 197 | struct 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 | ||
251 | struct bfa_ioc_hwif_s { | 249 | struct 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 | */ |
293 | void bfa_ioc_mbox_queue(struct bfa_ioc_s *ioc, struct bfa_mbox_cmd_s *cmd); | 291 | void 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); | |||
299 | void bfa_ioc_mbox_regisr(struct bfa_ioc_s *ioc, enum bfi_mclass mc, | 297 | void 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 | ||
310 | bfa_status_t bfa_ioc_pll_init(struct bfa_ioc_s *ioc); | 308 | bfa_status_t bfa_ioc_pll_init(struct bfa_ioc_s *ioc); |
311 | bfa_status_t bfa_ioc_cb_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode); | 309 | bfa_status_t bfa_ioc_cb_pll_init(void __iomem *rb, bfa_boolean_t fcmode); |
312 | bfa_boolean_t bfa_ioc_ct_pll_init_complete(bfa_os_addr_t rb); | 310 | bfa_boolean_t bfa_ioc_ct_pll_init_complete(void __iomem *rb); |
313 | bfa_status_t bfa_ioc_ct_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode); | 311 | bfa_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); | |||
370 | bfa_boolean_t bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc); | 368 | bfa_boolean_t bfa_ioc_get_fcmode(struct bfa_ioc_s *ioc); |
371 | void bfa_ioc_hbfail_register(struct bfa_ioc_s *ioc, | 369 | void 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); |
373 | bfa_boolean_t bfa_ioc_sem_get(bfa_os_addr_t sem_reg); | 371 | bfa_boolean_t bfa_ioc_sem_get(void __iomem *sem_reg); |
374 | void bfa_ioc_sem_release(bfa_os_addr_t sem_reg); | 372 | void bfa_ioc_sem_release(void __iomem *sem_reg); |
375 | void bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc); | 373 | void bfa_ioc_hw_sem_release(struct bfa_ioc_s *ioc); |
376 | void bfa_ioc_fwver_get(struct bfa_ioc_s *ioc, | 374 | void 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 | ||
35 | struct bfa_ioc_hwif_s hwif_cb; | 35 | struct 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 | */ |
40 | void | 40 | void |
@@ -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 | */ |
58 | static bfa_boolean_t | 58 | static 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 | */ |
72 | static void | 72 | static void |
73 | bfa_ioc_cb_notify_hbfail(struct bfa_ioc_s *ioc) | 73 | bfa_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 | */ |
82 | static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = { | 82 | static 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 | */ |
90 | static struct { u32 hfn, lpu; } iocreg_mbcmd[] = { | 90 | static struct { u32 hfn, lpu; } iocreg_mbcmd[] = { |
@@ -96,7 +96,7 @@ static struct { u32 hfn, lpu; } iocreg_mbcmd[] = { | |||
96 | static void | 96 | static void |
97 | bfa_ioc_cb_reg_init(struct bfa_ioc_s *ioc) | 97 | bfa_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 | ||
152 | static void | 152 | static void |
153 | bfa_ioc_cb_map_port(struct bfa_ioc_s *ioc) | 153 | bfa_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 | */ |
166 | static void | 166 | static 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 | */ |
174 | static void | 174 | static 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 | ||
189 | bfa_status_t | 189 | bfa_status_t |
190 | bfa_ioc_cb_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode) | 190 | bfa_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 | ||
35 | struct bfa_ioc_hwif_s hwif_ct; | 35 | struct 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 | */ |
40 | void | 40 | void |
@@ -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 | */ |
58 | static bfa_boolean_t | 58 | static 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 | */ |
154 | static void | 154 | static void |
155 | bfa_ioc_ct_notify_hbfail(struct bfa_ioc_s *ioc) | 155 | bfa_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 | */ |
170 | static struct { u32 hfn_mbox, lpu_mbox, hfn_pgn; } iocreg_fnreg[] = { | 170 | static 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 | */ |
180 | static struct { u32 hfn, lpu; } iocreg_mbcmd_p0[] = { | 180 | static 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 | */ |
190 | static struct { u32 hfn, lpu; } iocreg_mbcmd_p1[] = { | 190 | static struct { u32 hfn, lpu; } iocreg_mbcmd_p1[] = { |
@@ -197,7 +197,7 @@ static struct { u32 hfn, lpu; } iocreg_mbcmd_p1[] = { | |||
197 | static void | 197 | static void |
198 | bfa_ioc_ct_reg_init(struct bfa_ioc_s *ioc) | 198 | bfa_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) | |||
256 | static void | 256 | static void |
257 | bfa_ioc_ct_map_port(struct bfa_ioc_s *ioc) | 257 | bfa_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 | */ |
276 | static void | 276 | static void |
277 | bfa_ioc_ct_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix) | 277 | bfa_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 | */ |
309 | static void | 309 | static 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 | */ |
333 | bfa_boolean_t | 333 | bfa_boolean_t |
334 | bfa_ioc_ct_pll_init_complete(bfa_os_addr_t rb) | 334 | bfa_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 | ||
343 | bfa_status_t | 343 | bfa_status_t |
344 | bfa_ioc_ct_pll_init(bfa_os_addr_t rb, bfa_boolean_t fcmode) | 344 | bfa_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 | ||
47 | static inline u64 bfa_os_get_clock(void) | ||
48 | { | ||
49 | return jiffies; | ||
50 | } | ||
51 | |||
52 | static inline u64 bfa_os_get_log_time(void) | 43 | static 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...) \ |
74 | do { \ | 58 | do { \ |
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 | */ |
166 | struct bfa_timeval_s { | 102 | struct 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); | |||
29 | BFA_MODULE(rport); | 29 | BFA_MODULE(rport); |
30 | BFA_MODULE(uf); | 30 | BFA_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 | */ |
73 | enum bfa_fcport_sm_event { | 73 | enum 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 | */ |
132 | static void __bfa_fcxp_send_cbfn(void *cbarg, bfa_boolean_t complete); | 132 | static void __bfa_fcxp_send_cbfn(void *cbarg, bfa_boolean_t complete); |
@@ -138,7 +138,7 @@ static void bfa_fcxp_qresume(void *cbarg); | |||
138 | static void bfa_fcxp_queue(struct bfa_fcxp_s *fcxp, | 138 | static 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 | */ |
144 | static void bfa_lps_meminfo(struct bfa_iocfc_cfg_s *cfg, u32 *ndm_len, | 144 | static 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); | |||
163 | static void bfa_lps_logout_comp(struct bfa_lps_s *lps); | 163 | static void bfa_lps_logout_comp(struct bfa_lps_s *lps); |
164 | static void bfa_lps_cvl_event(struct bfa_lps_s *lps); | 164 | static 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 | */ |
169 | static void bfa_lps_sm_init(struct bfa_lps_s *lps, enum bfa_lps_event event); | 169 | static 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); | |||
175 | static void bfa_lps_sm_logowait(struct bfa_lps_s *lps, enum bfa_lps_event | 175 | static 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 | */ |
181 | static bfa_boolean_t bfa_fcport_send_enable(struct bfa_fcport_s *fcport); | 181 | static 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); | |||
193 | static void bfa_fcport_stats_clr_timeout(void *cbarg); | 193 | static void bfa_fcport_stats_clr_timeout(void *cbarg); |
194 | static void bfa_trunk_iocdisable(struct bfa_s *bfa); | 194 | static 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 | */ |
199 | static void bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport, | 199 | static 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 | */ |
258 | static struct bfa_rport_s *bfa_rport_alloc(struct bfa_rport_mod_s *rp_mod); | 258 | static 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, | |||
265 | static void __bfa_cb_rport_offline(void *cbarg, | 265 | static 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 | */ |
271 | static void bfa_rport_sm_uninit(struct bfa_rport_s *rp, | 271 | static 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, | |||
295 | static void bfa_rport_sm_deleting_qfull(struct bfa_rport_s *rp, | 295 | static 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 | */ |
301 | static int | 301 | static 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) | |||
342 | void | 342 | void |
343 | bfa_plog_init(struct bfa_plog_s *plog) | 343 | bfa_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 | */ |
862 | static void | 861 | static 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 | */ |
877 | static void | 876 | static 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) | |||
1186 | void | 1185 | void |
1187 | bfa_fcxp_discard(struct bfa_fcxp_s *fcxp) | 1186 | bfa_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 | */ |
1239 | static void | 1238 | static 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 | */ |
1291 | static void | 1290 | static 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 | */ |
1333 | static void | 1332 | static 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 | */ |
1365 | static void | 1364 | static 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 | */ |
1406 | static void | 1405 | static 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 | */ |
1430 | static void | 1429 | static 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 | */ |
1461 | static void | 1460 | static 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 | */ |
1474 | static void | 1473 | static 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 | */ |
1522 | static void | 1521 | static 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 | */ |
1538 | static void | 1537 | static 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 | */ |
1585 | static void | 1584 | static 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 | */ |
1600 | static void | 1599 | static 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 | */ |
1614 | static void | 1613 | static 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 | */ |
1625 | static void | 1624 | static 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 | */ |
1638 | static void | 1637 | static 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 | */ |
1663 | static void | 1662 | static 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 | */ |
1682 | static void | 1681 | static 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 | */ |
1699 | static void | 1698 | static 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 | */ |
1717 | static void | 1716 | static 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 | */ |
1732 | static void | 1731 | static 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 | */ |
1747 | static void | 1746 | static 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 | */ |
1796 | struct bfa_lps_s * | 1795 | struct 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 | */ |
1826 | void | 1825 | void |
@@ -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 | */ |
1843 | void | 1842 | void |
@@ -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 | */ |
1860 | void | 1859 | void |
@@ -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 | */ |
1869 | void | 1868 | void |
@@ -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 | */ |
1888 | u8 | 1887 | u8 |
@@ -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 | */ |
1897 | u8 | 1896 | u8 |
@@ -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 | */ |
1916 | bfa_boolean_t | 1915 | bfa_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 | */ |
1925 | bfa_boolean_t | 1924 | bfa_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 | */ |
1934 | bfa_boolean_t | 1933 | bfa_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 | */ |
1942 | bfa_boolean_t | 1941 | bfa_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 | */ |
1957 | u32 | 1956 | u32 |
@@ -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 | */ |
1966 | u32 | 1965 | u32 |
@@ -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 | */ |
1977 | u16 | 1976 | u16 |
@@ -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 | */ |
1986 | wwn_t | 1985 | wwn_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 | */ |
1995 | wwn_t | 1994 | wwn_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 | */ |
2004 | u8 | 2003 | u8 |
@@ -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 | */ |
2013 | u8 | 2012 | u8 |
@@ -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 | */ |
2022 | mac_t | 2021 | mac_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 | */ |
2031 | void | 2030 | void |
@@ -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 | */ |
2061 | static void | 2060 | static 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 | */ |
2600 | static void | 2599 | static 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 | */ |
2626 | static void | 2625 | static 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 | */ |
2652 | static void | 2651 | static 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 | */ |
2672 | static void | 2671 | static 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 | */ |
2695 | static void | 2694 | static 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 | */ |
2719 | static void | 2718 | static 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 | */ |
2739 | static void | 2738 | static 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 | */ |
2762 | static void | 2761 | static 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 | */ |
2786 | static void | 2785 | static 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 | */ |
2903 | static void | 2902 | static 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 | */ |
2948 | static void | 2947 | static 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 | */ |
2957 | static void | 2956 | static 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 | */ |
2967 | static void | 2966 | static 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 | */ |
3016 | static bfa_boolean_t | 3014 | static 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 | */ |
3058 | static bfa_boolean_t | 3056 | static 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 | ||
3140 | static void | 3138 | static 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 | */ |
3297 | static void | 3295 | static 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 | */ |
3410 | void | 3408 | void |
@@ -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 | */ |
3432 | void | 3430 | void |
@@ -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 | */ |
3517 | void | 3515 | void |
@@ -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 | */ |
3558 | bfa_status_t | 3556 | bfa_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 | */ |
3580 | enum bfa_port_speed | 3578 | enum 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 | */ |
3591 | bfa_status_t | 3589 | bfa_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 | */ |
3616 | enum bfa_port_topology | 3614 | enum 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 | */ |
3776 | bfa_status_t | 3774 | bfa_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 | */ |
3802 | bfa_status_t | 3800 | bfa_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 | */ |
3826 | bfa_status_t | 3824 | bfa_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 | */ |
3839 | bfa_status_t | 3837 | bfa_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 | */ |
3851 | bfa_status_t | 3849 | bfa_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 | */ |
3864 | bfa_status_t | 3862 | bfa_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 | ||
3882 | void | 3880 | void |
@@ -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 | */ |
3910 | bfa_boolean_t | 3908 | bfa_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 | */ |
3965 | bfa_status_t | 3963 | bfa_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 | */ |
3986 | enum bfa_port_speed | 3984 | enum 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 | */ |
4104 | static void | 4102 | static 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 | */ |
4157 | static void | 4155 | static 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 | */ |
4194 | static void | 4192 | static 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 | */ |
4235 | static void | 4233 | static 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 | */ |
4303 | static void | 4301 | static 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 | */ |
4366 | static void | 4364 | static 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 | */ |
4401 | static void | 4399 | static 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 | */ |
4453 | static void | 4451 | static 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 | */ |
4484 | static void | 4482 | static 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 | */ |
4519 | static void | 4517 | static 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 | */ |
4778 | void | 4776 | void |
@@ -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 | ||
4897 | void | 4895 | void |
4898 | bfa_rport_clear_stats(struct bfa_rport_s *rport) | 4896 | bfa_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 | */ |
4911 | static void | 4909 | static 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 | ||
5142 | static void | 5140 | static 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 | */ |
5407 | void | 5405 | void |
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); | |||
75 | void bfa_sgpg_wcancel(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe); | 75 | void 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 | */ |
121 | struct bfa_fcxp_req_info_s { | 121 | struct 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 | ||
138 | struct bfa_fcxp_rsp_info_s { | 138 | struct 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 { | |||
218 | void bfa_fcxp_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); | 217 | void 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 | */ |
245 | void bfa_rport_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); | 244 | void 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 | */ |
250 | struct bfa_rport_info_s { | 249 | struct 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 | */ |
265 | struct bfa_rport_s { | 264 | struct 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 | */ |
344 | struct bfa_uf_buf_s { | 343 | struct 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 | */ |
352 | struct bfa_lps_s { | 351 | struct bfa_lps_s { |
@@ -397,14 +396,14 @@ struct bfa_lps_mod_s { | |||
397 | void bfa_lps_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); | 396 | void 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)) |
405 | typedef void (*bfa_cb_port_t) (void *cbarg, enum bfa_status status); | 404 | typedef 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 | */ |
410 | struct bfa_fcport_ln_s { | 409 | struct 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 | */ |
424 | struct bfa_fcport_s { | 423 | struct 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); |
614 | void bfa_uf_free(struct bfa_uf_s *uf); | 613 | void 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); | |||
151 | static void | 151 | static void |
152 | bfad_sm_fcs_exit(struct bfad_s *bfad, enum bfad_sm_event event); | 152 | bfad_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 | */ |
157 | static void | 157 | static 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 | */ |
187 | static void | 187 | static 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 | */ |
370 | void | 370 | void |
@@ -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 | */ |
382 | void | 382 | void |
@@ -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 | */ |
407 | struct bfad_port_s * | 407 | struct 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 | */ |
463 | bfa_status_t | 463 | bfa_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 | */ |
484 | void | 484 | void |
@@ -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 | */ |
669 | bfa_status_t | 669 | bfa_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 | */ | ||
722 | bfa_status_t | ||
723 | bfad_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); | ||
739 | ext: | ||
740 | return rc; | ||
741 | } | ||
742 | |||
743 | void | 719 | void |
744 | bfad_bfa_tmo(unsigned long data) | 720 | bfad_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 | ||
888 | void | ||
889 | bfad_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 | |||
902 | bfa_status_t | 864 | bfa_status_t |
903 | bfad_drv_init(struct bfad_s *bfad) | 865 | bfad_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 | */ |
1187 | irqreturn_t | 1146 | irqreturn_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 | */ |
1246 | static void | 1205 | static 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 | */ |
1299 | int | 1258 | int |
@@ -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 | */ |
1380 | int | 1339 | int |
@@ -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 | */ |
1466 | void | 1425 | void |
@@ -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 | */ |
1547 | static int __init | 1506 | static 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 | */ |
1587 | static void __exit | 1546 | static 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 | */ |
28 | void | 28 | void |
@@ -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 | */ |
54 | void | 54 | void |
@@ -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 | */ |
80 | void | 80 | void |
@@ -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 | */ |
106 | void | 106 | void |
@@ -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 | */ |
120 | static void | 120 | static 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 | */ |
152 | static void | 152 | static 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 | */ |
189 | static void | 189 | static 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 | */ |
208 | static void | 208 | static 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 | */ |
242 | static void | 242 | static 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 | */ |
259 | static struct fc_host_statistics * | 259 | static 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 | */ |
310 | static void | 310 | static 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 | */ |
337 | static void | 337 | static 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 | */ |
353 | static void | 353 | static 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 | */ |
639 | static ssize_t | 639 | static 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 | ||
739 | static ssize_t | 739 | static 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); | |||
309 | void bfad_init_timer(struct bfad_s *bfad); | 309 | void bfad_init_timer(struct bfad_s *bfad); |
310 | int bfad_pci_init(struct pci_dev *pdev, struct bfad_s *bfad); | 310 | int bfad_pci_init(struct pci_dev *pdev, struct bfad_s *bfad); |
311 | void bfad_pci_uninit(struct pci_dev *pdev, struct bfad_s *bfad); | 311 | void bfad_pci_uninit(struct pci_dev *pdev, struct bfad_s *bfad); |
312 | void bfad_fcs_port_cfg(struct bfad_s *bfad); | ||
313 | void bfad_drv_uninit(struct bfad_s *bfad); | 312 | void bfad_drv_uninit(struct bfad_s *bfad); |
314 | int bfad_worker(void *ptr); | 313 | int bfad_worker(void *ptr); |
315 | void bfad_debugfs_init(struct bfad_port_s *port); | 314 | void 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); | |||
30 | struct scsi_transport_template *bfad_im_scsi_transport_template; | 30 | struct scsi_transport_template *bfad_im_scsi_transport_template; |
31 | struct scsi_transport_template *bfad_im_scsi_vport_transport_template; | 31 | struct scsi_transport_template *bfad_im_scsi_vport_transport_template; |
32 | static void bfad_im_itnim_work_handler(struct work_struct *work); | 32 | static void bfad_im_itnim_work_handler(struct work_struct *work); |
33 | static int bfad_im_queuecommand(struct scsi_cmnd *cmnd, | 33 | static int bfad_im_queuecommand(struct Scsi_Host *h, struct scsi_cmnd *cmnd); |
34 | void (*done)(struct scsi_cmnd *)); | ||
35 | static int bfad_im_slave_alloc(struct scsi_device *sdev); | 34 | static int bfad_im_slave_alloc(struct scsi_device *sdev); |
36 | static void bfad_im_fc_rport_add(struct bfad_im_port_s *im_port, | 35 | static 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 | */ |
173 | static const char * | 172 | static 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 | */ |
352 | static int | 351 | static 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 | */ |
402 | static void | 401 | static 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 | */ |
525 | int | 524 | int |
@@ -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 | */ |
902 | static int | 901 | static int |
@@ -915,12 +914,16 @@ bfad_im_slave_alloc(struct scsi_device *sdev) | |||
915 | static u32 | 914 | static u32 |
916 | bfad_im_supported_speeds(struct bfa_s *bfa) | 915 | bfad_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 | ||
978 | static void | 978 | static 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 | */ |
1121 | static int | 1121 | static int |
1122 | bfad_im_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | 1122 | bfad_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 | ||
1189 | static DEF_SCSI_QCMD(bfad_im_queuecommand) | ||
1190 | |||
1189 | void | 1191 | void |
1190 | bfad_os_rport_online_wait(struct bfad_s *bfad) | 1192 | bfad_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 | */ |
41 | struct bfi_mhdr_s { | 41 | struct 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 | */ |
85 | enum { | 85 | enum { |
@@ -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 | */ |
96 | union bfi_addr_u { | 96 | union 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 | */ |
106 | struct bfi_sge_s { | 106 | struct 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 | */ |
154 | enum bfi_mclass { | 154 | enum 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 | */ |
214 | struct bfi_ioc_getattr_req_s { | 214 | struct 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 | */ |
248 | struct bfi_ioc_getattr_reply_s { | 248 | struct 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 | */ |
286 | struct bfi_ioc_rdy_event_s { | 286 | struct 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 | */ |
300 | enum bfi_ioc_state { | 300 | enum 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 | */ |
346 | struct bfi_ioc_ctrl_req_s { | 346 | struct 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 | */ |
358 | struct bfi_ioc_ctrl_reply_s { | 358 | struct 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 | */ |
370 | union bfi_ioc_h2i_msg_u { | 370 | union 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 | */ |
381 | union bfi_ioc_i2h_msg_u { | 381 | union 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 | */ |
400 | struct bfi_pbc_blun_s { | 400 | struct 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 | */ |
408 | struct bfi_pbc_vport_s { | 408 | struct 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 | */ |
416 | struct bfi_pbc_s { | 416 | struct 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 | */ |
537 | struct bfi_port_generic_req_s { | 537 | struct 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 | */ |
546 | struct bfi_port_generic_rsp_s { | 546 | struct 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 | */ |
556 | struct bfi_port_get_stats_req_s { | 556 | struct 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 | */ |
81 | struct bfi_iocfc_cfg_req_s { | 81 | struct 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 | */ |
90 | struct bfi_iocfc_cfg_reply_s { | 90 | struct 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 | */ |
101 | struct bfi_iocfc_set_intr_req_s { | 101 | struct 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 | */ |
113 | struct bfi_iocfc_updateq_req_s { | 113 | struct 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 | */ |
125 | struct bfi_iocfc_updateq_rsp_s { | 125 | struct 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 | */ |
135 | union bfi_iocfc_h2i_msg_u { | 135 | union 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 | */ |
146 | union bfi_iocfc_i2h_msg_u { | 146 | union 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 | */ |
179 | struct bfi_fcport_req_s { | 179 | struct 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 | */ |
187 | struct bfi_fcport_rsp_s { | 187 | struct 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 | */ |
197 | struct bfi_fcport_enable_req_s { | 197 | struct 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 | */ |
211 | struct bfi_fcport_set_svc_params_req_s { | 211 | struct 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 | */ |
220 | struct bfi_fcport_event_s { | 220 | struct 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 | */ |
228 | struct bfi_fcport_trunk_link_s { | 228 | struct 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 | */ |
249 | union bfi_fcport_h2i_msg_u { | 249 | union 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 | */ |
261 | union bfi_fcport_i2h_msg_u { | 261 | union 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 | */ |
285 | struct bfi_fcxp_send_req_s { | 285 | struct 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 | */ |
305 | struct bfi_fcxp_send_rsp_s { | 305 | struct 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 | */ |
571 | struct bfi_ioim_dif_s { | 571 | struct 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 | */ |
690 | struct bfi_ioim_rsp_s { | 690 | struct 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 */ |