aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2008-08-24 21:50:06 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-13 09:28:54 -0400
commit84774a4d0a4dba8a5767da6c58ea5a8c5b0cfe25 (patch)
tree2bc1c62a32f76260ae5743f7888c4ff45122cef4 /drivers/scsi/lpfc/lpfc_init.c
parentd7c255b26d8e3f12164d82093de3bf22efad2b4a (diff)
[SCSI] lpfc 8.2.8 : Add new FCOE hardware support
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index b8989c43aaf2..41a8c13e6950 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1130,6 +1130,7 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
1130 lpfc_vpd_t *vp; 1130 lpfc_vpd_t *vp;
1131 uint16_t dev_id = phba->pcidev->device; 1131 uint16_t dev_id = phba->pcidev->device;
1132 int max_speed; 1132 int max_speed;
1133 int GE = 0;
1133 struct { 1134 struct {
1134 char * name; 1135 char * name;
1135 int max_speed; 1136 int max_speed;
@@ -1261,6 +1262,19 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
1261 case PCI_DEVICE_ID_SAT_S: 1262 case PCI_DEVICE_ID_SAT_S:
1262 m = (typeof(m)){"LPe12000-S", max_speed, "PCIe"}; 1263 m = (typeof(m)){"LPe12000-S", max_speed, "PCIe"};
1263 break; 1264 break;
1265 case PCI_DEVICE_ID_HORNET:
1266 m = (typeof(m)){"LP21000", max_speed, "PCIe"};
1267 GE = 1;
1268 break;
1269 case PCI_DEVICE_ID_PROTEUS_VF:
1270 m = (typeof(m)) {"LPev12000", max_speed, "PCIe IOV"};
1271 break;
1272 case PCI_DEVICE_ID_PROTEUS_PF:
1273 m = (typeof(m)) {"LPev12000", max_speed, "PCIe IOV"};
1274 break;
1275 case PCI_DEVICE_ID_PROTEUS_S:
1276 m = (typeof(m)) {"LPemv12002-S", max_speed, "PCIe IOV"};
1277 break;
1264 default: 1278 default:
1265 m = (typeof(m)){ NULL }; 1279 m = (typeof(m)){ NULL };
1266 break; 1280 break;
@@ -1270,8 +1284,11 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
1270 snprintf(mdp, 79,"%s", m.name); 1284 snprintf(mdp, 79,"%s", m.name);
1271 if (descp && descp[0] == '\0') 1285 if (descp && descp[0] == '\0')
1272 snprintf(descp, 255, 1286 snprintf(descp, 255,
1273 "Emulex %s %dGb %s Fibre Channel Adapter", 1287 "Emulex %s %d%s %s %s",
1274 m.name, m.max_speed, m.bus); 1288 m.name, m.max_speed,
1289 (GE) ? "GE" : "Gb",
1290 m.bus,
1291 (GE) ? "FCoE Adapter" : "Fibre Channel Adapter");
1275} 1292}
1276 1293
1277/** 1294/**
@@ -2248,6 +2265,7 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid)
2248 goto out_free_phba; 2265 goto out_free_phba;
2249 2266
2250 INIT_LIST_HEAD(&phba->port_list); 2267 INIT_LIST_HEAD(&phba->port_list);
2268 init_waitqueue_head(&phba->wait_4_mlo_m_q);
2251 /* 2269 /*
2252 * Get all the module params for configuring this host and then 2270 * Get all the module params for configuring this host and then
2253 * establish the host. 2271 * establish the host.
@@ -2796,6 +2814,8 @@ static struct pci_device_id lpfc_id_table[] = {
2796 PCI_ANY_ID, PCI_ANY_ID, }, 2814 PCI_ANY_ID, PCI_ANY_ID, },
2797 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR, 2815 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR,
2798 PCI_ANY_ID, PCI_ANY_ID, }, 2816 PCI_ANY_ID, PCI_ANY_ID, },
2817 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HORNET,
2818 PCI_ANY_ID, PCI_ANY_ID, },
2799 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP, 2819 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP,
2800 PCI_ANY_ID, PCI_ANY_ID, }, 2820 PCI_ANY_ID, PCI_ANY_ID, },
2801 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP, 2821 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP,
@@ -2826,6 +2846,12 @@ static struct pci_device_id lpfc_id_table[] = {
2826 PCI_ANY_ID, PCI_ANY_ID, }, 2846 PCI_ANY_ID, PCI_ANY_ID, },
2827 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S, 2847 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S,
2828 PCI_ANY_ID, PCI_ANY_ID, }, 2848 PCI_ANY_ID, PCI_ANY_ID, },
2849 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF,
2850 PCI_ANY_ID, PCI_ANY_ID, },
2851 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF,
2852 PCI_ANY_ID, PCI_ANY_ID, },
2853 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_S,
2854 PCI_ANY_ID, PCI_ANY_ID, },
2829 { 0 } 2855 { 0 }
2830}; 2856};
2831 2857