aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2011-06-20 11:15:56 -0400
committerDavid S. Miller <davem@davemloft.net>2011-06-21 19:06:11 -0400
commitf4b5ad26bcb983c493e131ff34b2fa60100c82e5 (patch)
tree3b5c0ac4d2d4a9b5b21a40c30ee4c360162efc31 /drivers
parent3847ce32aea9fdf56022de132000e8cf139042eb (diff)
cnic, bnx2i: Add support for new devices - 57800, 57810, and 57840
And change iSCSI RQ doorbell size from 16B to 64B to match new firmware. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/cnic.h14
-rw-r--r--drivers/scsi/bnx2i/57xx_iscsi_constants.h2
-rw-r--r--drivers/scsi/bnx2i/bnx2i.h2
-rw-r--r--drivers/scsi/bnx2i/bnx2i_init.c21
4 files changed, 30 insertions, 9 deletions
diff --git a/drivers/net/cnic.h b/drivers/net/cnic.h
index 330ef9350413..7a2928f82d40 100644
--- a/drivers/net/cnic.h
+++ b/drivers/net/cnic.h
@@ -384,6 +384,9 @@ struct bnx2x_bd_chain_next {
384#define BNX2X_CHIP_NUM_57712E 0x1663 384#define BNX2X_CHIP_NUM_57712E 0x1663
385#define BNX2X_CHIP_NUM_57713 0x1651 385#define BNX2X_CHIP_NUM_57713 0x1651
386#define BNX2X_CHIP_NUM_57713E 0x1652 386#define BNX2X_CHIP_NUM_57713E 0x1652
387#define BNX2X_CHIP_NUM_57800 0x168a
388#define BNX2X_CHIP_NUM_57810 0x168e
389#define BNX2X_CHIP_NUM_57840 0x168d
387 390
388#define BNX2X_CHIP_NUM(x) (x >> 16) 391#define BNX2X_CHIP_NUM(x) (x >> 16)
389#define BNX2X_CHIP_IS_57710(x) \ 392#define BNX2X_CHIP_IS_57710(x) \
@@ -402,10 +405,19 @@ struct bnx2x_bd_chain_next {
402 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57713) 405 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57713)
403#define BNX2X_CHIP_IS_57713E(x) \ 406#define BNX2X_CHIP_IS_57713E(x) \
404 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57713E) 407 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57713E)
408#define BNX2X_CHIP_IS_57800(x) \
409 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57800)
410#define BNX2X_CHIP_IS_57810(x) \
411 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57810)
412#define BNX2X_CHIP_IS_57840(x) \
413 (BNX2X_CHIP_NUM(x) == BNX2X_CHIP_NUM_57840)
405#define BNX2X_CHIP_IS_E2(x) \ 414#define BNX2X_CHIP_IS_E2(x) \
406 (BNX2X_CHIP_IS_57712(x) || BNX2X_CHIP_IS_57712E(x) || \ 415 (BNX2X_CHIP_IS_57712(x) || BNX2X_CHIP_IS_57712E(x) || \
407 BNX2X_CHIP_IS_57713(x) || BNX2X_CHIP_IS_57713E(x)) 416 BNX2X_CHIP_IS_57713(x) || BNX2X_CHIP_IS_57713E(x))
408#define BNX2X_CHIP_IS_E2_PLUS(x) BNX2X_CHIP_IS_E2(x) 417#define BNX2X_CHIP_IS_E3(x) \
418 (BNX2X_CHIP_IS_57800(x) || BNX2X_CHIP_IS_57810(x) || \
419 BNX2X_CHIP_IS_57840(x))
420#define BNX2X_CHIP_IS_E2_PLUS(x) (BNX2X_CHIP_IS_E2(x) || BNX2X_CHIP_IS_E3(x))
409 421
410#define IS_E1H_OFFSET BNX2X_CHIP_IS_E1H(cp->chip_id) 422#define IS_E1H_OFFSET BNX2X_CHIP_IS_E1H(cp->chip_id)
411 423
diff --git a/drivers/scsi/bnx2i/57xx_iscsi_constants.h b/drivers/scsi/bnx2i/57xx_iscsi_constants.h
index 30e6bdbd65af..15673cc786ff 100644
--- a/drivers/scsi/bnx2i/57xx_iscsi_constants.h
+++ b/drivers/scsi/bnx2i/57xx_iscsi_constants.h
@@ -125,7 +125,7 @@
125 125
126/* SQ/RQ/CQ DB structure sizes */ 126/* SQ/RQ/CQ DB structure sizes */
127#define ISCSI_SQ_DB_SIZE (16) 127#define ISCSI_SQ_DB_SIZE (16)
128#define ISCSI_RQ_DB_SIZE (16) 128#define ISCSI_RQ_DB_SIZE (64)
129#define ISCSI_CQ_DB_SIZE (80) 129#define ISCSI_CQ_DB_SIZE (80)
130 130
131#define ISCSI_SQN_TO_NOTIFY_NOT_VALID 0xFFFF 131#define ISCSI_SQN_TO_NOTIFY_NOT_VALID 0xFFFF
diff --git a/drivers/scsi/bnx2i/bnx2i.h b/drivers/scsi/bnx2i/bnx2i.h
index 6bdd25a93db9..e7cb7ecf6847 100644
--- a/drivers/scsi/bnx2i/bnx2i.h
+++ b/drivers/scsi/bnx2i/bnx2i.h
@@ -478,7 +478,7 @@ struct bnx2i_5771x_cq_db {
478 478
479struct bnx2i_5771x_sq_rq_db { 479struct bnx2i_5771x_sq_rq_db {
480 u16 prod_idx; 480 u16 prod_idx;
481 u8 reserved0[14]; /* Pad structure size to 16 bytes */ 481 u8 reserved0[62]; /* Pad structure size to 64 bytes */
482}; 482};
483 483
484 484
diff --git a/drivers/scsi/bnx2i/bnx2i_init.c b/drivers/scsi/bnx2i/bnx2i_init.c
index 6adbdc34a9a5..6973413e91ec 100644
--- a/drivers/scsi/bnx2i/bnx2i_init.c
+++ b/drivers/scsi/bnx2i/bnx2i_init.c
@@ -30,7 +30,7 @@ MODULE_AUTHOR("Anil Veerabhadrappa <anilgv@broadcom.com> and "
30 "Eddie Wai <eddie.wai@broadcom.com>"); 30 "Eddie Wai <eddie.wai@broadcom.com>");
31 31
32MODULE_DESCRIPTION("Broadcom NetXtreme II BCM5706/5708/5709/57710/57711/57712" 32MODULE_DESCRIPTION("Broadcom NetXtreme II BCM5706/5708/5709/57710/57711/57712"
33 " iSCSI Driver"); 33 "/57800/57810/57840 iSCSI Driver");
34MODULE_LICENSE("GPL"); 34MODULE_LICENSE("GPL");
35MODULE_VERSION(DRV_MODULE_VERSION); 35MODULE_VERSION(DRV_MODULE_VERSION);
36 36
@@ -88,11 +88,20 @@ void bnx2i_identify_device(struct bnx2i_hba *hba)
88 (hba->pci_did == PCI_DEVICE_ID_NX2_5709S)) { 88 (hba->pci_did == PCI_DEVICE_ID_NX2_5709S)) {
89 set_bit(BNX2I_NX2_DEV_5709, &hba->cnic_dev_type); 89 set_bit(BNX2I_NX2_DEV_5709, &hba->cnic_dev_type);
90 hba->mail_queue_access = BNX2I_MQ_BIN_MODE; 90 hba->mail_queue_access = BNX2I_MQ_BIN_MODE;
91 } else if (hba->pci_did == PCI_DEVICE_ID_NX2_57710 || 91 } else if (hba->pci_did == PCI_DEVICE_ID_NX2_57710 ||
92 hba->pci_did == PCI_DEVICE_ID_NX2_57711 || 92 hba->pci_did == PCI_DEVICE_ID_NX2_57711 ||
93 hba->pci_did == PCI_DEVICE_ID_NX2_57711E || 93 hba->pci_did == PCI_DEVICE_ID_NX2_57711E ||
94 hba->pci_did == PCI_DEVICE_ID_NX2_57712 || 94 hba->pci_did == PCI_DEVICE_ID_NX2_57712 ||
95 hba->pci_did == PCI_DEVICE_ID_NX2_57712E) 95 hba->pci_did == PCI_DEVICE_ID_NX2_57712E ||
96 hba->pci_did == PCI_DEVICE_ID_NX2_57800 ||
97 hba->pci_did == PCI_DEVICE_ID_NX2_57800_MF ||
98 hba->pci_did == PCI_DEVICE_ID_NX2_57800_VF ||
99 hba->pci_did == PCI_DEVICE_ID_NX2_57810 ||
100 hba->pci_did == PCI_DEVICE_ID_NX2_57810_MF ||
101 hba->pci_did == PCI_DEVICE_ID_NX2_57810_VF ||
102 hba->pci_did == PCI_DEVICE_ID_NX2_57840 ||
103 hba->pci_did == PCI_DEVICE_ID_NX2_57840_MF ||
104 hba->pci_did == PCI_DEVICE_ID_NX2_57840_VF)
96 set_bit(BNX2I_NX2_DEV_57710, &hba->cnic_dev_type); 105 set_bit(BNX2I_NX2_DEV_57710, &hba->cnic_dev_type);
97 else 106 else
98 printk(KERN_ALERT "bnx2i: unknown device, 0x%x\n", 107 printk(KERN_ALERT "bnx2i: unknown device, 0x%x\n",