forked from rpms/kernel
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
409 lines
15 KiB
409 lines
15 KiB
From 1642dcf67a557b42609a3756e2be7537762c38ea Mon Sep 17 00:00:00 2001
|
|
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
|
Date: Tue, 9 Apr 2024 21:02:31 +0000
|
|
Subject: [PATCH] Bring back deprecated pci ids to lpfc driver
|
|
|
|
---
|
|
drivers/scsi/lpfc/lpfc_attr.c | 6 ++
|
|
drivers/scsi/lpfc/lpfc_els.c | 9 +++
|
|
drivers/scsi/lpfc/lpfc_hw.h | 39 +++++++++-
|
|
drivers/scsi/lpfc/lpfc_ids.h | 62 ++++++++++++++++
|
|
drivers/scsi/lpfc/lpfc_init.c | 136 +++++++++++++++++++++++++++++++++-
|
|
5 files changed, 249 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
|
|
index 8b15088a1..385ade242 100644
|
|
--- a/drivers/scsi/lpfc/lpfc_attr.c
|
|
+++ b/drivers/scsi/lpfc/lpfc_attr.c
|
|
@@ -7493,6 +7493,12 @@ lpfc_get_hba_function_mode(struct lpfc_hba *phba)
|
|
switch (phba->pcidev->device) {
|
|
case PCI_DEVICE_ID_SKYHAWK:
|
|
case PCI_DEVICE_ID_SKYHAWK_VF:
|
|
+ case PCI_DEVICE_ID_LANCER_FCOE:
|
|
+ case PCI_DEVICE_ID_LANCER_FCOE_VF:
|
|
+ case PCI_DEVICE_ID_ZEPHYR_DCSP:
|
|
+ case PCI_DEVICE_ID_HORNET:
|
|
+ case PCI_DEVICE_ID_TIGERSHARK:
|
|
+ case PCI_DEVICE_ID_TOMCAT:
|
|
phba->hba_flag |= HBA_FCOE_MODE;
|
|
break;
|
|
default:
|
|
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
|
|
index 89d9f7fdb..700fe69a4 100644
|
|
--- a/drivers/scsi/lpfc/lpfc_els.c
|
|
+++ b/drivers/scsi/lpfc/lpfc_els.c
|
|
@@ -4608,6 +4608,15 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
|
|
case IOSTAT_LOCAL_REJECT:
|
|
switch ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK)) {
|
|
case IOERR_LOOP_OPEN_FAILURE:
|
|
+ if (cmd == ELS_CMD_FLOGI) {
|
|
+ if (PCI_DEVICE_ID_HORNET ==
|
|
+ phba->pcidev->device) {
|
|
+ phba->fc_topology = LPFC_TOPOLOGY_LOOP;
|
|
+ phba->pport->fc_myDID = 0;
|
|
+ phba->alpa_map[0] = 0;
|
|
+ phba->alpa_map[1] = 0;
|
|
+ }
|
|
+ }
|
|
if (cmd == ELS_CMD_PLOGI && cmdiocb->retry == 0)
|
|
delay = 1000;
|
|
retry = 1;
|
|
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h
|
|
index 474c594f8..240b688e1 100644
|
|
--- a/drivers/scsi/lpfc/lpfc_hw.h
|
|
+++ b/drivers/scsi/lpfc/lpfc_hw.h
|
|
@@ -1713,25 +1713,55 @@ struct lpfc_fdmi_reg_portattr {
|
|
|
|
/* Start FireFly Register definitions */
|
|
#define PCI_VENDOR_ID_EMULEX 0x10df
|
|
+#define PCI_DEVICE_ID_FIREFLY 0x1ae5
|
|
+#define PCI_DEVICE_ID_PROTEUS_VF 0xe100
|
|
+#define PCI_DEVICE_ID_BALIUS 0xe131
|
|
+#define PCI_DEVICE_ID_PROTEUS_PF 0xe180
|
|
#define PCI_DEVICE_ID_LANCER_FC 0xe200
|
|
+#define PCI_DEVICE_ID_LANCER_FC_VF 0xe208
|
|
#define PCI_DEVICE_ID_LANCER_FCOE 0xe260
|
|
+#define PCI_DEVICE_ID_LANCER_FCOE_VF 0xe268
|
|
#define PCI_DEVICE_ID_LANCER_G6_FC 0xe300
|
|
#define PCI_DEVICE_ID_LANCER_G7_FC 0xf400
|
|
#define PCI_DEVICE_ID_LANCER_G7P_FC 0xf500
|
|
#define PCI_DEVICE_ID_SAT_SMB 0xf011
|
|
#define PCI_DEVICE_ID_SAT_MID 0xf015
|
|
+#define PCI_DEVICE_ID_RFLY 0xf095
|
|
+#define PCI_DEVICE_ID_PFLY 0xf098
|
|
+#define PCI_DEVICE_ID_LP101 0xf0a1
|
|
+#define PCI_DEVICE_ID_TFLY 0xf0a5
|
|
+#define PCI_DEVICE_ID_BSMB 0xf0d1
|
|
#define PCI_DEVICE_ID_BMID 0xf0d5
|
|
#define PCI_DEVICE_ID_ZSMB 0xf0e1
|
|
#define PCI_DEVICE_ID_ZMID 0xf0e5
|
|
+#define PCI_DEVICE_ID_NEPTUNE 0xf0f5
|
|
+#define PCI_DEVICE_ID_NEPTUNE_SCSP 0xf0f6
|
|
+#define PCI_DEVICE_ID_NEPTUNE_DCSP 0xf0f7
|
|
#define PCI_DEVICE_ID_SAT 0xf100
|
|
#define PCI_DEVICE_ID_SAT_SCSP 0xf111
|
|
#define PCI_DEVICE_ID_SAT_DCSP 0xf112
|
|
#define PCI_DEVICE_ID_FALCON 0xf180
|
|
+#define PCI_DEVICE_ID_SUPERFLY 0xf700
|
|
+#define PCI_DEVICE_ID_DRAGONFLY 0xf800
|
|
+#define PCI_DEVICE_ID_CENTAUR 0xf900
|
|
+#define PCI_DEVICE_ID_PEGASUS 0xf980
|
|
+#define PCI_DEVICE_ID_THOR 0xfa00
|
|
+#define PCI_DEVICE_ID_VIPER 0xfb00
|
|
+#define PCI_DEVICE_ID_LP10000S 0xfc00
|
|
+#define PCI_DEVICE_ID_LP11000S 0xfc10
|
|
+#define PCI_DEVICE_ID_LPE11000S 0xfc20
|
|
#define PCI_DEVICE_ID_SAT_S 0xfc40
|
|
+#define PCI_DEVICE_ID_PROTEUS_S 0xfc50
|
|
+#define PCI_DEVICE_ID_HELIOS 0xfd00
|
|
+#define PCI_DEVICE_ID_HELIOS_SCSP 0xfd11
|
|
+#define PCI_DEVICE_ID_HELIOS_DCSP 0xfd12
|
|
#define PCI_DEVICE_ID_ZEPHYR 0xfe00
|
|
+#define PCI_DEVICE_ID_HORNET 0xfe05
|
|
#define PCI_DEVICE_ID_ZEPHYR_SCSP 0xfe11
|
|
#define PCI_DEVICE_ID_ZEPHYR_DCSP 0xfe12
|
|
#define PCI_VENDOR_ID_SERVERENGINE 0x19a2
|
|
+#define PCI_DEVICE_ID_TIGERSHARK 0x0704
|
|
+#define PCI_DEVICE_ID_TOMCAT 0x0714
|
|
#define PCI_DEVICE_ID_SKYHAWK 0x0724
|
|
#define PCI_DEVICE_ID_SKYHAWK_VF 0x072c
|
|
|
|
@@ -4365,11 +4395,16 @@ struct lpfc_sli2_slim {
|
|
static inline int
|
|
lpfc_is_LC_HBA(unsigned short device)
|
|
{
|
|
- if ((device == PCI_DEVICE_ID_BMID) ||
|
|
+ if ((device == PCI_DEVICE_ID_TFLY) ||
|
|
+ (device == PCI_DEVICE_ID_PFLY) ||
|
|
+ (device == PCI_DEVICE_ID_LP101) ||
|
|
+ (device == PCI_DEVICE_ID_BMID) ||
|
|
+ (device == PCI_DEVICE_ID_BSMB) ||
|
|
(device == PCI_DEVICE_ID_ZMID) ||
|
|
(device == PCI_DEVICE_ID_ZSMB) ||
|
|
(device == PCI_DEVICE_ID_SAT_MID) ||
|
|
- (device == PCI_DEVICE_ID_SAT_SMB))
|
|
+ (device == PCI_DEVICE_ID_SAT_SMB) ||
|
|
+ (device == PCI_DEVICE_ID_RFLY))
|
|
return 1;
|
|
else
|
|
return 0;
|
|
diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h
|
|
index a77e0fac0..4e9b02a78 100644
|
|
--- a/drivers/scsi/lpfc/lpfc_ids.h
|
|
+++ b/drivers/scsi/lpfc/lpfc_ids.h
|
|
@@ -24,10 +24,44 @@
|
|
#include <linux/pci.h>
|
|
|
|
const struct pci_device_id lpfc_id_table[] = {
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_THOR,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PEGASUS,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_CENTAUR,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_DRAGONFLY,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SUPERFLY,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_RFLY,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PFLY,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_SCSP,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_DCSP,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_SCSP,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HORNET,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP,
|
|
@@ -36,6 +70,16 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP10000S,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP11000S,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID,
|
|
@@ -48,10 +92,28 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_S,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TIGERSHARK,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
+ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF,
|
|
+ PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC,
|
|
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
|
|
index 82d25ea51..f4f49aa2a 100644
|
|
--- a/drivers/scsi/lpfc/lpfc_init.c
|
|
+++ b/drivers/scsi/lpfc/lpfc_init.c
|
|
@@ -2482,9 +2482,83 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
|
|
vp = &phba->vpd;
|
|
|
|
switch (dev_id) {
|
|
+ case PCI_DEVICE_ID_FIREFLY:
|
|
+ m = (typeof(m)){"LP6000", "PCI",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_SUPERFLY:
|
|
+ if (vp->rev.biuRev >= 1 && vp->rev.biuRev <= 3)
|
|
+ m = (typeof(m)){"LP7000", "PCI", ""};
|
|
+ else
|
|
+ m = (typeof(m)){"LP7000E", "PCI", ""};
|
|
+ m.function = "Obsolete, Unsupported Fibre Channel Adapter";
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_DRAGONFLY:
|
|
+ m = (typeof(m)){"LP8000", "PCI",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_CENTAUR:
|
|
+ if (FC_JEDEC_ID(vp->rev.biuRev) == CENTAUR_2G_JEDEC_ID)
|
|
+ m = (typeof(m)){"LP9002", "PCI", ""};
|
|
+ else
|
|
+ m = (typeof(m)){"LP9000", "PCI", ""};
|
|
+ m.function = "Obsolete, Unsupported Fibre Channel Adapter";
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_RFLY:
|
|
+ m = (typeof(m)){"LP952", "PCI",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_PEGASUS:
|
|
+ m = (typeof(m)){"LP9802", "PCI-X",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_THOR:
|
|
+ m = (typeof(m)){"LP10000", "PCI-X",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_VIPER:
|
|
+ m = (typeof(m)){"LPX1000", "PCI-X",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_PFLY:
|
|
+ m = (typeof(m)){"LP982", "PCI-X",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_TFLY:
|
|
+ m = (typeof(m)){"LP1050", "PCI-X",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_HELIOS:
|
|
+ m = (typeof(m)){"LP11000", "PCI-X2",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_HELIOS_SCSP:
|
|
+ m = (typeof(m)){"LP11000-SP", "PCI-X2",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_HELIOS_DCSP:
|
|
+ m = (typeof(m)){"LP11002-SP", "PCI-X2",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_NEPTUNE:
|
|
+ m = (typeof(m)){"LPe1000", "PCIe",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_NEPTUNE_SCSP:
|
|
+ m = (typeof(m)){"LPe1000-SP", "PCIe",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_NEPTUNE_DCSP:
|
|
+ m = (typeof(m)){"LPe1002-SP", "PCIe",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
case PCI_DEVICE_ID_BMID:
|
|
m = (typeof(m)){"LP1150", "PCI-X2", "Fibre Channel Adapter"};
|
|
break;
|
|
+ case PCI_DEVICE_ID_BSMB:
|
|
+ m = (typeof(m)){"LP111", "PCI-X2",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
case PCI_DEVICE_ID_ZEPHYR:
|
|
m = (typeof(m)){"LPe11000", "PCIe", "Fibre Channel Adapter"};
|
|
break;
|
|
@@ -2501,6 +2575,22 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
|
|
case PCI_DEVICE_ID_ZSMB:
|
|
m = (typeof(m)){"LPe111", "PCIe", "Fibre Channel Adapter"};
|
|
break;
|
|
+ case PCI_DEVICE_ID_LP101:
|
|
+ m = (typeof(m)){"LP101", "PCI-X",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_LP10000S:
|
|
+ m = (typeof(m)){"LP10000-S", "PCI",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_LP11000S:
|
|
+ m = (typeof(m)){"LP11000-S", "PCI-X2",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_LPE11000S:
|
|
+ m = (typeof(m)){"LPe11000-S", "PCIe",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
case PCI_DEVICE_ID_SAT:
|
|
m = (typeof(m)){"LPe12000", "PCIe", "Fibre Channel Adapter"};
|
|
break;
|
|
@@ -2519,17 +2609,54 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
|
|
case PCI_DEVICE_ID_SAT_S:
|
|
m = (typeof(m)){"LPe12000-S", "PCIe", "Fibre Channel Adapter"};
|
|
break;
|
|
+ case PCI_DEVICE_ID_HORNET:
|
|
+ m = (typeof(m)){"LP21000", "PCIe",
|
|
+ "Obsolete, Unsupported FCoE Adapter"};
|
|
+ GE = 1;
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_PROTEUS_VF:
|
|
+ m = (typeof(m)){"LPev12000", "PCIe IOV",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_PROTEUS_PF:
|
|
+ m = (typeof(m)){"LPev12000", "PCIe IOV",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_PROTEUS_S:
|
|
+ m = (typeof(m)){"LPemv12002-S", "PCIe IOV",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_TIGERSHARK:
|
|
+ oneConnect = 1;
|
|
+ m = (typeof(m)){"OCe10100", "PCIe", "FCoE"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_TOMCAT:
|
|
+ oneConnect = 1;
|
|
+ m = (typeof(m)){"OCe11100", "PCIe", "FCoE"};
|
|
+ break;
|
|
case PCI_DEVICE_ID_FALCON:
|
|
m = (typeof(m)){"LPSe12002-ML1-E", "PCIe",
|
|
"EmulexSecure Fibre"};
|
|
break;
|
|
+ case PCI_DEVICE_ID_BALIUS:
|
|
+ m = (typeof(m)){"LPVe12002", "PCIe Shared I/O",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
case PCI_DEVICE_ID_LANCER_FC:
|
|
m = (typeof(m)){"LPe16000", "PCIe", "Fibre Channel Adapter"};
|
|
break;
|
|
+ case PCI_DEVICE_ID_LANCER_FC_VF:
|
|
+ m = (typeof(m)){"LPe16000", "PCIe",
|
|
+ "Obsolete, Unsupported Fibre Channel Adapter"};
|
|
+ break;
|
|
case PCI_DEVICE_ID_LANCER_FCOE:
|
|
+ oneConnect = 1;
|
|
+ m = (typeof(m)){"OCe15100", "PCIe", "FCoE"};
|
|
+ break;
|
|
+ case PCI_DEVICE_ID_LANCER_FCOE_VF:
|
|
oneConnect = 1;
|
|
m = (typeof(m)){"OCe15100", "PCIe",
|
|
- "Obsolete, Unsupported FCoE Adapter"};
|
|
+ "Obsolete, Unsupported FCoE"};
|
|
break;
|
|
case PCI_DEVICE_ID_LANCER_G6_FC:
|
|
m = (typeof(m)){"LPe32000", "PCIe", "Fibre Channel Adapter"};
|
|
@@ -7619,6 +7746,13 @@ lpfc_sli_driver_resource_setup(struct lpfc_hba *phba)
|
|
if (rc)
|
|
return -ENODEV;
|
|
|
|
+ if (phba->pcidev->device == PCI_DEVICE_ID_HORNET) {
|
|
+ phba->menlo_flag |= HBA_MENLO_SUPPORT;
|
|
+ /* check for menlo minimum sg count */
|
|
+ if (phba->cfg_sg_seg_cnt < LPFC_DEFAULT_MENLO_SG_SEG_CNT)
|
|
+ phba->cfg_sg_seg_cnt = LPFC_DEFAULT_MENLO_SG_SEG_CNT;
|
|
+ }
|
|
+
|
|
if (!phba->sli.sli3_ring)
|
|
phba->sli.sli3_ring = kcalloc(LPFC_SLI3_MAX_RING,
|
|
sizeof(struct lpfc_sli_ring),
|
|
--
|
|
2.27.0
|
|
|