mirror of
https://github.com/torvalds/linux
synced 2024-09-23 21:07:52 +00:00
[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
|
@ -1395,6 +1395,64 @@ mpt2sas_base_put_smid_target_assist(struct MPT2SAS_ADAPTER *ioc, u16 smid,
|
||||||
&ioc->scsi_lookup_lock);
|
&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.
|
* _base_display_ioc_capabilities - Disply IOC's capabilities.
|
||||||
* @ioc: per adapter object
|
* @ioc: per adapter object
|
||||||
|
@ -1436,6 +1494,8 @@ _base_display_ioc_capabilities(struct MPT2SAS_ADAPTER *ioc)
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_base_display_dell_branding(ioc);
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
printk("), ");
|
printk("), ");
|
||||||
printk("Capabilities=(");
|
printk("Capabilities=(");
|
||||||
|
|
|
@ -129,6 +129,30 @@
|
||||||
#define MPT2SAS_WARN_FMT KERN_WARNING MPT2SAS_FMT
|
#define MPT2SAS_WARN_FMT KERN_WARNING MPT2SAS_FMT
|
||||||
#define MPT2SAS_ERR_FMT KERN_ERR 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
|
* per target private data
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue