[SCSI] mpt2sas : Identify Dell series-7 adapters at driver load time
The Dell branding along with the VID, DID, SSVID, SSDID following the LSI branding that contains the card firmware/chip/bios versions. If the SSDID is not known but it is a Dell HBA, the driver will print the SSDID instead of the Dell branding string. Nothing will be printed for non Dell HBAs Signed-off-by: Eric Moore <eric.moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
e5f9bb198a
commit
f0f9cc1fb8
2 changed files with 84 additions and 0 deletions
|
@ -1395,6 +1395,64 @@ mpt2sas_base_put_smid_target_assist(struct MPT2SAS_ADAPTER *ioc, u16 smid,
|
|||
&ioc->scsi_lookup_lock);
|
||||
}
|
||||
|
||||
/**
|
||||
* _base_display_dell_branding - Disply branding string
|
||||
* @ioc: per adapter object
|
||||
*
|
||||
* Return nothing.
|
||||
*/
|
||||
static void
|
||||
_base_display_dell_branding(struct MPT2SAS_ADAPTER *ioc)
|
||||
{
|
||||
char dell_branding[MPT2SAS_DELL_BRANDING_SIZE];
|
||||
|
||||
if (ioc->pdev->subsystem_vendor != PCI_VENDOR_ID_DELL)
|
||||
return;
|
||||
|
||||
memset(dell_branding, 0, MPT2SAS_DELL_BRANDING_SIZE);
|
||||
switch (ioc->pdev->subsystem_device) {
|
||||
case MPT2SAS_DELL_6GBPS_SAS_HBA_SSDID:
|
||||
strncpy(dell_branding, MPT2SAS_DELL_6GBPS_SAS_HBA_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
case MPT2SAS_DELL_PERC_H200_ADAPTER_SSDID:
|
||||
strncpy(dell_branding, MPT2SAS_DELL_PERC_H200_ADAPTER_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
case MPT2SAS_DELL_PERC_H200_INTEGRATED_SSDID:
|
||||
strncpy(dell_branding,
|
||||
MPT2SAS_DELL_PERC_H200_INTEGRATED_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
case MPT2SAS_DELL_PERC_H200_MODULAR_SSDID:
|
||||
strncpy(dell_branding,
|
||||
MPT2SAS_DELL_PERC_H200_MODULAR_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
case MPT2SAS_DELL_PERC_H200_EMBEDDED_SSDID:
|
||||
strncpy(dell_branding,
|
||||
MPT2SAS_DELL_PERC_H200_EMBEDDED_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
case MPT2SAS_DELL_PERC_H200_SSDID:
|
||||
strncpy(dell_branding, MPT2SAS_DELL_PERC_H200_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
case MPT2SAS_DELL_6GBPS_SAS_SSDID:
|
||||
strncpy(dell_branding, MPT2SAS_DELL_6GBPS_SAS_BRANDING,
|
||||
MPT2SAS_DELL_BRANDING_SIZE - 1);
|
||||
break;
|
||||
default:
|
||||
sprintf(dell_branding, "0x%4X", ioc->pdev->subsystem_device);
|
||||
break;
|
||||
}
|
||||
|
||||
printk(MPT2SAS_INFO_FMT "%s: Vendor(0x%04X), Device(0x%04X),"
|
||||
" SSVID(0x%04X), SSDID(0x%04X)\n", ioc->name, dell_branding,
|
||||
ioc->pdev->vendor, ioc->pdev->device, ioc->pdev->subsystem_vendor,
|
||||
ioc->pdev->subsystem_device);
|
||||
}
|
||||
|
||||
/**
|
||||
* _base_display_ioc_capabilities - Disply IOC's capabilities.
|
||||
* @ioc: per adapter object
|
||||
|
@ -1436,6 +1494,8 @@ _base_display_ioc_capabilities(struct MPT2SAS_ADAPTER *ioc)
|
|||
i++;
|
||||
}
|
||||
|
||||
_base_display_dell_branding(ioc);
|
||||
|
||||
i = 0;
|
||||
printk("), ");
|
||||
printk("Capabilities=(");
|
||||
|
|
|
@ -129,6 +129,30 @@
|
|||
#define MPT2SAS_WARN_FMT KERN_WARNING MPT2SAS_FMT
|
||||
#define MPT2SAS_ERR_FMT KERN_ERR MPT2SAS_FMT
|
||||
|
||||
/*
|
||||
* Dell HBA branding
|
||||
*/
|
||||
#define MPT2SAS_DELL_BRANDING_SIZE 32
|
||||
|
||||
#define MPT2SAS_DELL_6GBPS_SAS_HBA_BRANDING "Dell 6Gbps SAS HBA"
|
||||
#define MPT2SAS_DELL_PERC_H200_ADAPTER_BRANDING "Dell PERC H200 Adapter"
|
||||
#define MPT2SAS_DELL_PERC_H200_INTEGRATED_BRANDING "Dell PERC H200 Integrated"
|
||||
#define MPT2SAS_DELL_PERC_H200_MODULAR_BRANDING "Dell PERC H200 Modular"
|
||||
#define MPT2SAS_DELL_PERC_H200_EMBEDDED_BRANDING "Dell PERC H200 Embedded"
|
||||
#define MPT2SAS_DELL_PERC_H200_BRANDING "Dell PERC H200"
|
||||
#define MPT2SAS_DELL_6GBPS_SAS_BRANDING "Dell 6Gbps SAS"
|
||||
|
||||
/*
|
||||
* Dell HBA SSDIDs
|
||||
*/
|
||||
#define MPT2SAS_DELL_6GBPS_SAS_HBA_SSDID 0x1F1C
|
||||
#define MPT2SAS_DELL_PERC_H200_ADAPTER_SSDID 0x1F1D
|
||||
#define MPT2SAS_DELL_PERC_H200_INTEGRATED_SSDID 0x1F1E
|
||||
#define MPT2SAS_DELL_PERC_H200_MODULAR_SSDID 0x1F1F
|
||||
#define MPT2SAS_DELL_PERC_H200_EMBEDDED_SSDID 0x1F20
|
||||
#define MPT2SAS_DELL_PERC_H200_SSDID 0x1F21
|
||||
#define MPT2SAS_DELL_6GBPS_SAS_SSDID 0x1F22
|
||||
|
||||
/*
|
||||
* per target private data
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue