[SCSI] lpfc 8.3.0 : Added 3 small features and improve PCI EEH support
- Added FC_REG_VPORTRSCN_EVENT to lpfc_nl.h - Added code to provide option ROM version from HBA and via sysfs - Added support for HPS bit in config port mailbox command to tell HBA that host group pointers are in host memory. - Bugfix for Extended Error Handling (EEH) support on IBM PowerPC P6 platform with MSI enabled Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:

committed by
James Bottomley

parent
eada272dfc
commit
97207482fc
@@ -76,6 +76,38 @@ lpfc_dump_mem(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb, uint16_t offset)
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* lpfc_dump_mem: Prepare a mailbox command for retrieving wakeup params.
|
||||
* @phba: pointer to lpfc hba data structure.
|
||||
* @pmb: pointer to the driver internal queue element for mailbox command.
|
||||
* This function create a dump memory mailbox command to dump wake up
|
||||
* parameters.
|
||||
*/
|
||||
void
|
||||
lpfc_dump_wakeup_param(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
|
||||
{
|
||||
MAILBOX_t *mb;
|
||||
void *ctx;
|
||||
|
||||
mb = &pmb->mb;
|
||||
/* Save context so that we can restore after memset */
|
||||
ctx = pmb->context2;
|
||||
|
||||
/* Setup to dump VPD region */
|
||||
memset(pmb, 0, sizeof(LPFC_MBOXQ_t));
|
||||
mb->mbxCommand = MBX_DUMP_MEMORY;
|
||||
mb->mbxOwner = OWN_HOST;
|
||||
mb->un.varDmp.cv = 1;
|
||||
mb->un.varDmp.type = DMP_NV_PARAMS;
|
||||
mb->un.varDmp.entry_index = 0;
|
||||
mb->un.varDmp.region_id = WAKE_UP_PARMS_REGION_ID;
|
||||
mb->un.varDmp.word_cnt = WAKE_UP_PARMS_WORD_SIZE;
|
||||
mb->un.varDmp.co = 0;
|
||||
mb->un.varDmp.resp_offset = 0;
|
||||
pmb->context2 = ctx;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* lpfc_read_nv: Prepare a mailbox command for reading HBA's NVRAM param.
|
||||
* @phba: pointer to lpfc hba data structure.
|
||||
@@ -1061,6 +1093,9 @@ lpfc_config_port(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
|
||||
mb->un.varCfgPort.pcbLow = putPaddrLow(pdma_addr);
|
||||
mb->un.varCfgPort.pcbHigh = putPaddrHigh(pdma_addr);
|
||||
|
||||
/* Always Host Group Pointer is in SLIM */
|
||||
mb->un.varCfgPort.hps = 1;
|
||||
|
||||
/* If HBA supports SLI=3 ask for it */
|
||||
|
||||
if (phba->sli_rev == 3 && phba->vpd.sli3Feat.cerbm) {
|
||||
|
Reference in New Issue
Block a user