diff options
author | Michael Chan <mchan@broadcom.com> | 2011-06-20 11:15:56 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-06-21 19:06:11 -0400 |
commit | f4b5ad26bcb983c493e131ff34b2fa60100c82e5 (patch) | |
tree | 3b5c0ac4d2d4a9b5b21a40c30ee4c360162efc31 /drivers | |
parent | 3847ce32aea9fdf56022de132000e8cf139042eb (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.h | 14 | ||||
-rw-r--r-- | drivers/scsi/bnx2i/57xx_iscsi_constants.h | 2 | ||||
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i.h | 2 | ||||
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i_init.c | 21 |
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 | ||
479 | struct bnx2i_5771x_sq_rq_db { | 479 | struct 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 | ||
32 | MODULE_DESCRIPTION("Broadcom NetXtreme II BCM5706/5708/5709/57710/57711/57712" | 32 | MODULE_DESCRIPTION("Broadcom NetXtreme II BCM5706/5708/5709/57710/57711/57712" |
33 | " iSCSI Driver"); | 33 | "/57800/57810/57840 iSCSI Driver"); |
34 | MODULE_LICENSE("GPL"); | 34 | MODULE_LICENSE("GPL"); |
35 | MODULE_VERSION(DRV_MODULE_VERSION); | 35 | MODULE_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", |