diff options
author | Vlad Zolotarov <vladz@broadcom.com> | 2011-06-14 07:33:44 -0400 |
---|---|---|
committer | David S. Miller <davem@conan.davemloft.net> | 2011-06-15 10:56:37 -0400 |
commit | 619c5cb6885b936c44ae1422ef805b69c6291485 (patch) | |
tree | 4604ae08f1eb12c6ad1f65106879c2e73946ae12 /drivers/scsi/bnx2fc/bnx2fc.h | |
parent | 042181f5aa8833a8918e1a91cfaf292146ffc62c (diff) |
New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc
New FW/HSI (7.0):
- Added support to 578xx chips
- Improved HSI - much less driver's direct access to the FW internal
memory needed.
New implementation of the HSI handling layer in the bnx2x (bnx2x_sp.c):
- Introduced chip dependent objects that have chip independent interfaces
for configuration of MACs, multicast addresses, Rx mode, indirection table,
fast path queues and function initialization/cleanup.
- Objects functionality is based on the private function pointers, which
allows not only a per-chip but also PF/VF differentiation while still
preserving the same interface towards the driver.
- Objects interface is not influenced by the HSI changes which do not require
providing new parameters keeping the code outside the bnx2x_sp.c invariant
with regard to such HSI chnages.
Changes in a CNIC, bnx2fc and bnx2i modules due to the new HSI.
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
Diffstat (limited to 'drivers/scsi/bnx2fc/bnx2fc.h')
-rw-r--r-- | drivers/scsi/bnx2fc/bnx2fc.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/bnx2fc/bnx2fc.h b/drivers/scsi/bnx2fc/bnx2fc.h index 0a404bfb44fe..907672e86063 100644 --- a/drivers/scsi/bnx2fc/bnx2fc.h +++ b/drivers/scsi/bnx2fc/bnx2fc.h | |||
@@ -62,7 +62,7 @@ | |||
62 | #include "bnx2fc_constants.h" | 62 | #include "bnx2fc_constants.h" |
63 | 63 | ||
64 | #define BNX2FC_NAME "bnx2fc" | 64 | #define BNX2FC_NAME "bnx2fc" |
65 | #define BNX2FC_VERSION "1.0.1" | 65 | #define BNX2FC_VERSION "1.0.3" |
66 | 66 | ||
67 | #define PFX "bnx2fc: " | 67 | #define PFX "bnx2fc: " |
68 | 68 | ||
@@ -262,9 +262,14 @@ struct bnx2fc_rport { | |||
262 | #define BNX2FC_FLAG_UPLD_REQ_COMPL 0x8 | 262 | #define BNX2FC_FLAG_UPLD_REQ_COMPL 0x8 |
263 | #define BNX2FC_FLAG_EXPL_LOGO 0x9 | 263 | #define BNX2FC_FLAG_EXPL_LOGO 0x9 |
264 | 264 | ||
265 | u8 src_addr[ETH_ALEN]; | ||
265 | u32 max_sqes; | 266 | u32 max_sqes; |
266 | u32 max_rqes; | 267 | u32 max_rqes; |
267 | u32 max_cqes; | 268 | u32 max_cqes; |
269 | atomic_t free_sqes; | ||
270 | |||
271 | struct b577xx_doorbell_set_prod sq_db; | ||
272 | struct b577xx_fcoe_rx_doorbell rx_db; | ||
268 | 273 | ||
269 | struct fcoe_sqe *sq; | 274 | struct fcoe_sqe *sq; |
270 | dma_addr_t sq_dma; | 275 | dma_addr_t sq_dma; |
@@ -274,7 +279,7 @@ struct bnx2fc_rport { | |||
274 | 279 | ||
275 | struct fcoe_cqe *cq; | 280 | struct fcoe_cqe *cq; |
276 | dma_addr_t cq_dma; | 281 | dma_addr_t cq_dma; |
277 | u32 cq_cons_idx; | 282 | u16 cq_cons_idx; |
278 | u8 cq_curr_toggle_bit; | 283 | u8 cq_curr_toggle_bit; |
279 | u32 cq_mem_size; | 284 | u32 cq_mem_size; |
280 | 285 | ||
@@ -505,6 +510,7 @@ struct fc_seq *bnx2fc_elsct_send(struct fc_lport *lport, u32 did, | |||
505 | struct fc_frame *, | 510 | struct fc_frame *, |
506 | void *), | 511 | void *), |
507 | void *arg, u32 timeout); | 512 | void *arg, u32 timeout); |
513 | void bnx2fc_arm_cq(struct bnx2fc_rport *tgt); | ||
508 | int bnx2fc_process_new_cqes(struct bnx2fc_rport *tgt); | 514 | int bnx2fc_process_new_cqes(struct bnx2fc_rport *tgt); |
509 | void bnx2fc_process_cq_compl(struct bnx2fc_rport *tgt, u16 wqe); | 515 | void bnx2fc_process_cq_compl(struct bnx2fc_rport *tgt, u16 wqe); |
510 | struct bnx2fc_rport *bnx2fc_tgt_lookup(struct fcoe_port *port, | 516 | struct bnx2fc_rport *bnx2fc_tgt_lookup(struct fcoe_port *port, |