aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 5a9786751837..db9446c612da 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -699,7 +699,9 @@ lpfc_hba_init_link_fc_topology(struct lpfc_hba *phba, uint32_t fc_topology,
699 ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_10G) && 699 ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_10G) &&
700 !(phba->lmt & LMT_10Gb)) || 700 !(phba->lmt & LMT_10Gb)) ||
701 ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_16G) && 701 ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_16G) &&
702 !(phba->lmt & LMT_16Gb))) { 702 !(phba->lmt & LMT_16Gb)) ||
703 ((phba->cfg_link_speed == LPFC_USER_LINK_SPEED_32G) &&
704 !(phba->lmt & LMT_32Gb))) {
703 /* Reset link speed to auto */ 705 /* Reset link speed to auto */
704 lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT, 706 lpfc_printf_log(phba, KERN_ERR, LOG_LINK_EVENT,
705 "1302 Invalid speed for this board:%d " 707 "1302 Invalid speed for this board:%d "
@@ -2035,7 +2037,9 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
2035 && descp && descp[0] != '\0') 2037 && descp && descp[0] != '\0')
2036 return; 2038 return;
2037 2039
2038 if (phba->lmt & LMT_16Gb) 2040 if (phba->lmt & LMT_32Gb)
2041 max_speed = 32;
2042 else if (phba->lmt & LMT_16Gb)
2039 max_speed = 16; 2043 max_speed = 16;
2040 else if (phba->lmt & LMT_10Gb) 2044 else if (phba->lmt & LMT_10Gb)
2041 max_speed = 10; 2045 max_speed = 10;
@@ -2229,6 +2233,9 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp)
2229 m = (typeof(m)){"OCe15100", "PCIe", 2233 m = (typeof(m)){"OCe15100", "PCIe",
2230 "Obsolete, Unsupported FCoE"}; 2234 "Obsolete, Unsupported FCoE"};
2231 break; 2235 break;
2236 case PCI_DEVICE_ID_LANCER_G6_FC:
2237 m = (typeof(m)){"LPe32000", "PCIe", "Fibre Channel Adapter"};
2238 break;
2232 case PCI_DEVICE_ID_SKYHAWK: 2239 case PCI_DEVICE_ID_SKYHAWK:
2233 case PCI_DEVICE_ID_SKYHAWK_VF: 2240 case PCI_DEVICE_ID_SKYHAWK_VF:
2234 oneConnect = 1; 2241 oneConnect = 1;
@@ -3491,6 +3498,8 @@ void lpfc_host_attrib_init(struct Scsi_Host *shost)
3491 sizeof fc_host_symbolic_name(shost)); 3498 sizeof fc_host_symbolic_name(shost));
3492 3499
3493 fc_host_supported_speeds(shost) = 0; 3500 fc_host_supported_speeds(shost) = 0;
3501 if (phba->lmt & LMT_32Gb)
3502 fc_host_supported_speeds(shost) |= FC_PORTSPEED_32GBIT;
3494 if (phba->lmt & LMT_16Gb) 3503 if (phba->lmt & LMT_16Gb)
3495 fc_host_supported_speeds(shost) |= FC_PORTSPEED_16GBIT; 3504 fc_host_supported_speeds(shost) |= FC_PORTSPEED_16GBIT;
3496 if (phba->lmt & LMT_10Gb) 3505 if (phba->lmt & LMT_10Gb)
@@ -3854,6 +3863,9 @@ lpfc_sli4_port_speed_parse(struct lpfc_hba *phba, uint32_t evt_code,
3854 case LPFC_FC_LA_SPEED_16G: 3863 case LPFC_FC_LA_SPEED_16G:
3855 port_speed = 16000; 3864 port_speed = 16000;
3856 break; 3865 break;
3866 case LPFC_FC_LA_SPEED_32G:
3867 port_speed = 32000;
3868 break;
3857 default: 3869 default:
3858 port_speed = 0; 3870 port_speed = 0;
3859 } 3871 }
@@ -11349,6 +11361,8 @@ static struct pci_device_id lpfc_id_table[] = {
11349 PCI_ANY_ID, PCI_ANY_ID, }, 11361 PCI_ANY_ID, PCI_ANY_ID, },
11350 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF, 11362 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF,
11351 PCI_ANY_ID, PCI_ANY_ID, }, 11363 PCI_ANY_ID, PCI_ANY_ID, },
11364 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC,
11365 PCI_ANY_ID, PCI_ANY_ID, },
11352 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SKYHAWK, 11366 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SKYHAWK,
11353 PCI_ANY_ID, PCI_ANY_ID, }, 11367 PCI_ANY_ID, PCI_ANY_ID, },
11354 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SKYHAWK_VF, 11368 {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SKYHAWK_VF,