aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2fc/bnx2fc.h
diff options
context:
space:
mode:
authorVlad Zolotarov <vladz@broadcom.com>2011-06-14 07:33:44 -0400
committerDavid S. Miller <davem@conan.davemloft.net>2011-06-15 10:56:37 -0400
commit619c5cb6885b936c44ae1422ef805b69c6291485 (patch)
tree4604ae08f1eb12c6ad1f65106879c2e73946ae12 /drivers/scsi/bnx2fc/bnx2fc.h
parent042181f5aa8833a8918e1a91cfaf292146ffc62c (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.h10
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);
513void bnx2fc_arm_cq(struct bnx2fc_rport *tgt);
508int bnx2fc_process_new_cqes(struct bnx2fc_rport *tgt); 514int bnx2fc_process_new_cqes(struct bnx2fc_rport *tgt);
509void bnx2fc_process_cq_compl(struct bnx2fc_rport *tgt, u16 wqe); 515void bnx2fc_process_cq_compl(struct bnx2fc_rport *tgt, u16 wqe);
510struct bnx2fc_rport *bnx2fc_tgt_lookup(struct fcoe_port *port, 516struct bnx2fc_rport *bnx2fc_tgt_lookup(struct fcoe_port *port,