bna: Brocade 1860 HW Enablement
This patch enables new HW Brocade 1860. Add BFA_CM_NIC capability mask to bfa_ioc_attr, Sub-System Device ID Info and support for Brocade 1860 device ID to bfa_ioc.c and bnad.c. Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1bf9fd70dd
commit
586b2816e3
5 changed files with 51 additions and 2 deletions
|
@ -193,6 +193,7 @@ struct bfa_ioc_attr {
|
||||||
enum {
|
enum {
|
||||||
BFA_CM_HBA = 0x01,
|
BFA_CM_HBA = 0x01,
|
||||||
BFA_CM_CNA = 0x02,
|
BFA_CM_CNA = 0x02,
|
||||||
|
BFA_CM_NIC = 0x04,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -271,7 +272,20 @@ enum {
|
||||||
#define bfa_asic_id_ct(device) \
|
#define bfa_asic_id_ct(device) \
|
||||||
((device) == PCI_DEVICE_ID_BROCADE_CT || \
|
((device) == PCI_DEVICE_ID_BROCADE_CT || \
|
||||||
(device) == PCI_DEVICE_ID_BROCADE_CT_FC)
|
(device) == PCI_DEVICE_ID_BROCADE_CT_FC)
|
||||||
#define bfa_asic_id_ctc(device) (bfa_asic_id_ct(device))
|
#define bfa_asic_id_ct2(device) \
|
||||||
|
((device) == BFA_PCI_DEVICE_ID_CT2)
|
||||||
|
#define bfa_asic_id_ctc(device) \
|
||||||
|
(bfa_asic_id_ct(device) || bfa_asic_id_ct2(device))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PCI sub-system device and vendor ID information
|
||||||
|
*/
|
||||||
|
enum {
|
||||||
|
BFA_PCI_FCOE_SSDEVICE_ID = 0x14,
|
||||||
|
BFA_PCI_CT2_SSID_FCoE = 0x22,
|
||||||
|
BFA_PCI_CT2_SSID_ETH = 0x23,
|
||||||
|
BFA_PCI_CT2_SSID_FC = 0x24,
|
||||||
|
};
|
||||||
|
|
||||||
enum bfa_mode {
|
enum bfa_mode {
|
||||||
BFA_MODE_HBA = 1,
|
BFA_MODE_HBA = 1,
|
||||||
|
|
|
@ -1977,6 +1977,29 @@ bfa_nw_ioc_pci_init(struct bfa_ioc *ioc, struct bfa_pcidev *pcidev,
|
||||||
ioc->ad_cap_bm = BFA_CM_CNA;
|
ioc->ad_cap_bm = BFA_CM_CNA;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case BFA_PCI_DEVICE_ID_CT2:
|
||||||
|
ioc->asic_gen = BFI_ASIC_GEN_CT2;
|
||||||
|
if (clscode == BFI_PCIFN_CLASS_FC &&
|
||||||
|
pcidev->ssid == BFA_PCI_CT2_SSID_FC) {
|
||||||
|
ioc->asic_mode = BFI_ASIC_MODE_FC16;
|
||||||
|
ioc->fcmode = true;
|
||||||
|
ioc->port_mode = ioc->port_mode_cfg = BFA_MODE_HBA;
|
||||||
|
ioc->ad_cap_bm = BFA_CM_HBA;
|
||||||
|
} else {
|
||||||
|
ioc->port0_mode = ioc->port1_mode = BFI_PORT_MODE_ETH;
|
||||||
|
ioc->asic_mode = BFI_ASIC_MODE_ETH;
|
||||||
|
if (pcidev->ssid == BFA_PCI_CT2_SSID_FCoE) {
|
||||||
|
ioc->port_mode =
|
||||||
|
ioc->port_mode_cfg = BFA_MODE_CNA;
|
||||||
|
ioc->ad_cap_bm = BFA_CM_CNA;
|
||||||
|
} else {
|
||||||
|
ioc->port_mode =
|
||||||
|
ioc->port_mode_cfg = BFA_MODE_NIC;
|
||||||
|
ioc->ad_cap_bm = BFA_CM_NIC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BUG_ON(1);
|
BUG_ON(1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ struct bfa_pcidev {
|
||||||
int pci_slot;
|
int pci_slot;
|
||||||
u8 pci_func;
|
u8 pci_func;
|
||||||
u16 device_id;
|
u16 device_id;
|
||||||
|
u16 ssid;
|
||||||
void __iomem *pci_bar_kva;
|
void __iomem *pci_bar_kva;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -133,6 +133,10 @@
|
||||||
ct_reg_addr_init((_bna), (_pcidev)); \
|
ct_reg_addr_init((_bna), (_pcidev)); \
|
||||||
ct_bit_defn_init((_bna), (_pcidev)); \
|
ct_bit_defn_init((_bna), (_pcidev)); \
|
||||||
break; \
|
break; \
|
||||||
|
case BFA_PCI_DEVICE_ID_CT2: \
|
||||||
|
ct2_reg_addr_init((_bna), (_pcidev)); \
|
||||||
|
ct2_bit_defn_init((_bna), (_pcidev)); \
|
||||||
|
break; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3428,7 +3428,14 @@ static DEFINE_PCI_DEVICE_TABLE(bnad_pci_id_table) = {
|
||||||
PCI_DEVICE_ID_BROCADE_CT),
|
PCI_DEVICE_ID_BROCADE_CT),
|
||||||
.class = PCI_CLASS_NETWORK_ETHERNET << 8,
|
.class = PCI_CLASS_NETWORK_ETHERNET << 8,
|
||||||
.class_mask = 0xffff00
|
.class_mask = 0xffff00
|
||||||
}, {0, }
|
},
|
||||||
|
{
|
||||||
|
PCI_DEVICE(PCI_VENDOR_ID_BROCADE,
|
||||||
|
BFA_PCI_DEVICE_ID_CT2),
|
||||||
|
.class = PCI_CLASS_NETWORK_ETHERNET << 8,
|
||||||
|
.class_mask = 0xffff00
|
||||||
|
},
|
||||||
|
{0, },
|
||||||
};
|
};
|
||||||
|
|
||||||
MODULE_DEVICE_TABLE(pci, bnad_pci_id_table);
|
MODULE_DEVICE_TABLE(pci, bnad_pci_id_table);
|
||||||
|
|
Loading…
Reference in a new issue