[SCSI] bfa: Support for chinook-quad port card
authorVijaya Mohan Guvva <vmohan@brocade.com>
Mon, 13 May 2013 09:33:33 +0000 (02:33 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Thu, 27 Jun 2013 00:16:09 +0000 (17:16 -0700)
This patch enables support for chinook quad port 16G FC card (falcon)

Signed-off-by: Vijaya Mohan Guvva <vmohan@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bfa/bfa_defs.h
drivers/scsi/bfa/bfa_ioc.c
drivers/scsi/bfa/bfad.c

index bef16d2..d40a79f 100644 (file)
@@ -637,6 +637,7 @@ enum {
        BFA_PCI_DEVICE_ID_CT            = 0x14,
        BFA_PCI_DEVICE_ID_CT_FC         = 0x21,
        BFA_PCI_DEVICE_ID_CT2           = 0x22,
+       BFA_PCI_DEVICE_ID_CT2_QUAD      = 0x23,
 };
 
 #define bfa_asic_id_cb(__d)                    \
@@ -645,7 +646,9 @@ enum {
 #define bfa_asic_id_ct(__d)                    \
        ((__d) == BFA_PCI_DEVICE_ID_CT ||       \
         (__d) == BFA_PCI_DEVICE_ID_CT_FC)
-#define bfa_asic_id_ct2(__d)   ((__d) == BFA_PCI_DEVICE_ID_CT2)
+#define bfa_asic_id_ct2(__d)                   \
+       ((__d) == BFA_PCI_DEVICE_ID_CT2 ||      \
+       (__d) == BFA_PCI_DEVICE_ID_CT2_QUAD)
 #define bfa_asic_id_ctc(__d)   \
        (bfa_asic_id_ct(__d) || bfa_asic_id_ct2(__d))
 
index a4f3741..f78bcb6 100644 (file)
@@ -2196,6 +2196,7 @@ bfa_ioc_pci_init(struct bfa_ioc_s *ioc, struct bfa_pcidev_s *pcidev,
                break;
 
        case BFA_PCI_DEVICE_ID_CT2:
+       case BFA_PCI_DEVICE_ID_CT2_QUAD:
                ioc->asic_gen = BFI_ASIC_GEN_CT2;
                if (clscode == BFI_PCIFN_CLASS_FC &&
                    pcidev->ssid == BFA_PCI_CT2_SSID_FC) {
index a5f7690..bf5c5d3 100644 (file)
@@ -1720,6 +1720,14 @@ struct pci_device_id bfad_id_table[] = {
                .class_mask = ~0,
        },
 
+       {
+               .vendor = BFA_PCI_VENDOR_ID_BROCADE,
+               .device = BFA_PCI_DEVICE_ID_CT2_QUAD,
+               .subvendor = PCI_ANY_ID,
+               .subdevice = PCI_ANY_ID,
+               .class = (PCI_CLASS_SERIAL_FIBER << 8),
+               .class_mask = ~0,
+       },
        {0, 0},
 };