Add support for some IOCFacts fields that are available with mpr (12Gb)

controllers.  It's ugly due to the single codebase for mpr and mps and
not being able to share their respective headers.
This commit is contained in:
scottl 2020-04-16 04:17:06 +00:00
parent 660bb86fc4
commit c9f89bb313

View File

@ -201,6 +201,7 @@ static int
show_iocfacts(int ac, char **av)
{
MPI2_IOC_FACTS_REPLY *facts;
uint8_t *fb;
char tmpbuf[128];
int error, fd;
@ -217,6 +218,8 @@ show_iocfacts(int ac, char **av)
return (errno);
}
fb = (uint8_t *)facts;
#define IOCCAP "\3ScsiTaskFull" "\4DiagTrace" "\5SnapBuf" "\6ExtBuf" \
"\7EEDP" "\10BiDirTarg" "\11Multicast" "\14TransRetry" "\15IR" \
"\16EventReplay" "\17RaidAccel" "\20MSIXIndex" "\21HostDisc" \
@ -250,6 +253,8 @@ show_iocfacts(int ac, char **av)
facts->FWVersion.Struct.Major, facts->FWVersion.Struct.Minor,
facts->FWVersion.Struct.Unit, facts->FWVersion.Struct.Dev);
printf(" IOCRequestFrameSize: %d\n", facts->IOCRequestFrameSize);
if (is_mps == 0)
printf(" MaxChainSegmentSize: %d\n", (uint16_t)(fb[0x26]));
printf(" MaxInitiators: %d\n", facts->MaxInitiators);
printf(" MaxTargets: %d\n", facts->MaxTargets);
printf(" MaxSasExpanders: %d\n", facts->MaxSasExpanders);
@ -267,6 +272,8 @@ show_iocfacts(int ac, char **av)
printf(" MaxDevHandle: %d\n", facts->MaxDevHandle);
printf("MaxPersistentEntries: %d\n", facts->MaxPersistentEntries);
printf(" MinDevHandle: %d\n", facts->MinDevHandle);
if (is_mps == 0)
printf(" CurrentHostPageSize: %d\n", (uint8_t)(fb[0x3e]));
free(facts);
return (0);