Lines Matching +full:io +full:- +full:expander
1 /*-
17 * 3. Neither the name of the author nor the names of any co-contributors
94 if (man0->Header.PageLength < sizeof(*man0) / 4) { in show_adapter()
99 printf(" Board Name: %.16s\n", man0->BoardName); in show_adapter()
100 printf(" Board Assembly: %.16s\n", man0->BoardAssembly); in show_adapter()
101 printf(" Chip Name: %.16s\n", man0->ChipName); in show_adapter()
102 printf(" Chip Revision: %.16s\n", man0->ChipRevision); in show_adapter()
111 v = le32toh(bios3->BiosVersion); in show_adapter()
122 v = facts->FWVersion.Word; in show_adapter()
127 (facts->IOCCapabilities & MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID) in show_adapter()
138 ((iounit1->Flags & MPI2_IOUNITPAGE1_NATIVE_COMMAND_Q_DISABLE) == 0) ? in show_adapter()
148 printf(" PCIe Width/Speed: x%d (%s GB/sec)\n", iounit7->PCIeWidth, in show_adapter()
149 pcie_speed[iounit7->PCIeSpeed]); in show_adapter()
150 printf(" IOC Speed: %s\n", ioc_speeds[iounit7->IOCSpeed]); in show_adapter()
152 if (iounit7->IOCTemperatureUnits == MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT) in show_adapter()
155 printf("%d %s\n", iounit7->IOCTemperature, in show_adapter()
156 temp_units[iounit7->IOCTemperatureUnits]); in show_adapter()
171 warn("Error retrieving SAS IO Unit page %d", IOCStatus); in show_adapter()
182 warn("Error retrieving SAS IO Unit page %d", IOCStatus); in show_adapter()
189 printf("%-8s%-12s%-11s%-10s%-8s%-7s%-7s%s\n", "PhyNum", "CtlrHandle", in show_adapter()
191 for (i = 0; i < sas0->NumPhys; i++) { in show_adapter()
192 phy0 = &sas0->PhyData[i]; in show_adapter()
193 phy1 = &sas1->PhyData[i]; in show_adapter()
194 if (phy0->PortFlags & in show_adapter()
199 if (phy0->PhyFlags & MPI2_SASIOUNIT0_PHYFLAGS_PHY_DISABLED) in show_adapter()
204 minspeed = get_device_speed(phy1->MaxMinLinkRate); in show_adapter()
205 maxspeed = get_device_speed(phy1->MaxMinLinkRate >> 4); in show_adapter()
206 type = get_device_type(le32toh(phy0->ControllerPhyDeviceInfo)); in show_adapter()
208 if (le16toh(phy0->AttachedDevHandle) != 0) { in show_adapter()
210 le16toh(phy0->AttachedDevHandle)); in show_adapter()
212 le16toh(phy0->ControllerDevHandle)); in show_adapter()
213 speed = get_device_speed(phy0->NegotiatedLinkRate); in show_adapter()
219 printf("%-8d%-12s%-11s%-10s%-8s%-7s%-7s%s\n", in show_adapter()
261 mps_parse_flags(facts->IOCCapabilities, IOCCAP, tmpbuf, sizeof(tmpbuf)); in show_iocfacts()
264 facts->MsgVersion >> 8, facts->MsgVersion & 0xff); in show_iocfacts()
265 printf(" MsgLength: %d\n", facts->MsgLength); in show_iocfacts()
266 printf(" Function: 0x%x\n", facts->Function); in show_iocfacts()
268 facts->HeaderVersion >> 8, facts->HeaderVersion & 0xff); in show_iocfacts()
269 printf(" IOCNumber: %d\n", facts->IOCNumber); in show_iocfacts()
270 printf(" MsgFlags: 0x%x\n", facts->MsgFlags); in show_iocfacts()
271 printf(" VP_ID: %d\n", facts->VP_ID); in show_iocfacts()
272 printf(" VF_ID: %d\n", facts->VF_ID); in show_iocfacts()
273 printf(" IOCExceptions: %d\n", facts->IOCExceptions); in show_iocfacts()
274 printf(" IOCStatus: %d\n", facts->IOCStatus); in show_iocfacts()
275 printf(" IOCLogInfo: 0x%x\n", facts->IOCLogInfo); in show_iocfacts()
276 printf(" MaxChainDepth: %d\n", facts->MaxChainDepth); in show_iocfacts()
277 printf(" WhoInit: 0x%x\n", facts->WhoInit); in show_iocfacts()
278 printf(" NumberOfPorts: %d\n", facts->NumberOfPorts); in show_iocfacts()
279 printf(" MaxMSIxVectors: %d\n", facts->MaxMSIxVectors); in show_iocfacts()
280 printf(" RequestCredit: %d\n", facts->RequestCredit); in show_iocfacts()
281 printf(" ProductID: 0x%x\n", facts->ProductID); in show_iocfacts()
282 printf(" IOCCapabilities: 0x%x %s\n", facts->IOCCapabilities, in show_iocfacts()
285 facts->FWVersion.Struct.Major, facts->FWVersion.Struct.Minor, in show_iocfacts()
286 facts->FWVersion.Struct.Unit, facts->FWVersion.Struct.Dev); in show_iocfacts()
287 printf(" IOCRequestFrameSize: %d\n", facts->IOCRequestFrameSize); in show_iocfacts()
290 printf(" MaxInitiators: %d\n", facts->MaxInitiators); in show_iocfacts()
291 printf(" MaxTargets: %d\n", facts->MaxTargets); in show_iocfacts()
292 printf(" MaxSasExpanders: %d\n", facts->MaxSasExpanders); in show_iocfacts()
293 printf(" MaxEnclosures: %d\n", facts->MaxEnclosures); in show_iocfacts()
296 mps_parse_flags(facts->ProtocolFlags, in show_iocfacts()
298 printf(" ProtocolFlags: 0x%x %s\n", facts->ProtocolFlags, tmpbuf); in show_iocfacts()
299 printf(" HighPriorityCredit: %d\n", facts->HighPriorityCredit); in show_iocfacts()
301 facts->MaxReplyDescriptorPostQueueDepth); in show_iocfacts()
302 printf(" ReplyFrameSize: %d\n", facts->ReplyFrameSize); in show_iocfacts()
303 printf(" MaxVolumes: %d\n", facts->MaxVolumes); in show_iocfacts()
304 printf(" MaxDevHandle: %d\n", facts->MaxDevHandle); in show_iocfacts()
305 printf("MaxPersistentEntries: %d\n", facts->MaxPersistentEntries); in show_iocfacts()
306 printf(" MinDevHandle: %d\n", facts->MinDevHandle); in show_iocfacts()
343 if (man0->Header.PageLength < sizeof(*man0) / 4) { in show_adapters()
352 man0->ChipName, man0->BoardName, facts->FWVersion.Word); in show_adapters()
394 type = "Direct Attached SES-2"; in get_enc_type()
401 type = "Expander SGPIO"; in get_enc_type()
404 type = "External SES-2"; in get_enc_type()
450 "IO Unit",
466 "SAS IO Unit",
467 "SAS Expander",
532 warn("Error retrieving SAS IO Unit page %d", IOCStatus); in show_devices()
535 nphys = sas0->NumPhys; in show_devices()
537 printf("B____%-5s%-17s%-8s%-10s%-14s%-6s%-5s%-6s%s\n", in show_devices()
555 handle = le16toh(device->DevHandle); in show_devices()
557 if (device->ParentDevHandle == 0x0) { in show_devices()
574 type = get_device_type(le32toh(device->DeviceInfo)); in show_devices()
576 if (device->DeviceInfo & 0x800) { /* Direct Attached */ in show_devices()
577 if (device->PhyNum < nphys) { in show_devices()
578 phydata = &sas0->PhyData[device->PhyNum]; in show_devices()
579 speed = get_device_speed(phydata->NegotiatedLinkRate); in show_devices()
582 } else if (device->ParentDevHandle > 0) { in show_devices()
587 (device->PhyNum << in show_devices()
589 le16toh(device->ParentDevHandle), &IOCStatus); in show_devices()
593 warn("Error retrieving expander page 1: 0x%x", in show_devices()
601 speed = get_device_speed(exp1->NegotiatedLinkRate); in show_devices()
607 if (device->EnclosureHandle != 0) { in show_devices()
608 snprintf(enchandle, sizeof(enchandle), "%04x", le16toh(device->EnclosureHandle)); in show_devices()
609 snprintf(slot, sizeof(slot), "%02d", le16toh(device->Slot)); in show_devices()
614 printf("%-10s", bt); in show_devices()
615 snprintf(buf, sizeof(buf), "%08x%08x", le32toh(device->SASAddress.High), in show_devices()
616 le32toh(device->SASAddress.Low)); in show_devices()
617 printf("%-17s", buf); in show_devices()
618 snprintf(buf, sizeof(buf), "%04x", le16toh(device->DevHandle)); in show_devices()
619 printf("%-8s", buf); in show_devices()
620 snprintf(buf, sizeof(buf), "%04x", le16toh(device->ParentDevHandle)); in show_devices()
621 printf("%-10s", buf); in show_devices()
622 printf("%-14s%-6s%-5s%-6s%d\n", type, speed, in show_devices()
623 enchandle, slot, device->MaxPortConnections); in show_devices()
664 type = get_enc_type(le16toh(enc->Flags), &issep); in show_enclosures()
668 snprintf(sepstr, sizeof(sepstr), "%04x", le16toh(enc->SEPDevHandle)); in show_enclosures()
670 le16toh(enc->NumSlots), le32toh(enc->EnclosureLogicalID.High), in show_enclosures()
671 le32toh(enc->EnclosureLogicalID.Low), sepstr, le16toh(enc->EnclosureHandle), in show_enclosures()
673 handle = le16toh(enc->EnclosureHandle); in show_enclosures()
711 warn("Error retrieving expander page 0"); in show_expanders()
716 nphys = exp0->NumPhys; in show_expanders()
717 handle = le16toh(exp0->DevHandle); in show_expanders()
719 if (exp0->EnclosureHandle == 0x00) in show_expanders()
722 snprintf(enchandle, sizeof(enchandle), "%04d", le16toh(exp0->EnclosureHandle)); in show_expanders()
723 if (exp0->ParentDevHandle == 0x0) in show_expanders()
726 snprintf(parent, sizeof(parent), "%04x", le16toh(exp0->ParentDevHandle)); in show_expanders()
728 exp0->NumPhys, le32toh(exp0->SASAddress.High), le32toh(exp0->SASAddress.Low), in show_expanders()
729 le16toh(exp0->DevHandle), parent, enchandle, exp0->SASLevel); in show_expanders()
739 exp0->DevHandle, &IOCStatus); in show_expanders()
743 warn("Error retrieving expander pg 1"); in show_expanders()
746 type = get_device_type(le32toh(exp1->AttachedDeviceInfo)); in show_expanders()
747 if ((le32toh(exp1->AttachedDeviceInfo) &0x7) == 0) { in show_expanders()
753 exp1->NegotiatedLinkRate); in show_expanders()
755 exp1->AttachedPhyIdentifier); in show_expanders()
757 le16toh(exp1->AttachedDevHandle)); in show_expanders()
759 min = get_device_speed(exp1->HwLinkRate); in show_expanders()
760 max = get_device_speed(exp1->HwLinkRate >> 4); in show_expanders()
761 …printf(" %02d %s %s %s %s %s %s\n", exp1->Phy, rphy, rhandle, speed, mi… in show_expanders()
827 len = le16toh(ehdr->ExtPageLength) * 4; in show_cfgpage()
828 page = ehdr->ExtPageType; in show_cfgpage()
829 attrs = ehdr->PageType >> 4; in show_cfgpage()
832 len = hdr->PageLength * 4; in show_cfgpage()
833 page = hdr->PageType & 0xf; in show_cfgpage()
834 attrs = hdr->PageType >> 4; in show_cfgpage()
839 pgattr = "Read-only"; in show_cfgpage()
841 pgattr = "Read-Write"; in show_cfgpage()
843 pgattr = "Read-Write Persistent"; in show_cfgpage()