discover.h

来自「6440linuxDriver的源代码」· C头文件 代码 · 共 2,308 行 · 第 1/5 页

H
2,308
字号
/*	request specific bytes for SMP Report PHY SATA response,	intended to be referenced by SMPResponse*/struct SMPResponseReportPhySATA{	/* byte 4-5 */	MV_U8 ExpanderChangeCount[2];	/* byte 6-8 */	MV_U8 ReservedByte6_8[3];	/* byte 9 */	MV_U8 PhyIdentifier;		/* byte 10 */	MV_U8 ReservedByte10;	/* byte 11 */	MV_U8 AffiliationValid:1;	MV_U8 AffiliationSupported:1;	MV_U8 STPNexusLossOccurred:1;	MV_U8 ReservedByte11Bit3_7:5;			/* byte 12-15 */	MV_U8 ReservedByte10_15[4];		/* byte 16-23 */	MV_U8 STPSASAddress[8];		/* 24-43 */	struct RegisterDeviceToHostFIS FIS;	/* byte 44-47 */	MV_U8 ReservedByte44_47[4];	/* byte 48-55 */	MV_U8 AffiliatedSTPInitiatorSASAddress[8];	/* byte 56-63 */	MV_U8 STPNexusLossSASAddress[8];		/* byte 64-67 */	MV_U32 CRC;}; /* struct SMPResponseReportPhySATA *//*	response specific bytes for SMP Report Route Information, intended to be	referenced by SMPResponse*/struct SMPResponseReportRouteInformation{	/* byte 4-5 */	MV_U8 ExpanderChangeCount[2];	/* byte 6-7 */	MV_U8 ExpanderRouteIndex[2];	/* byte 8 */	MV_U8 ReservedByte8;	/* byte 9 */	MV_U8 PhyIdentifier;	/* byte 10-11 */	MV_U8 ReservedByte10_11[2];	/* byte 12 */	MV_U8 IgnoredByte12Bit0_6:7;	MV_U8 ExpanderRouteEntryDisabled:1;	/* byte 13-15 */	MV_U8 IgnoredByte13_15[3];	/* byte 16-23 */	MV_U8 RoutedSASAddress[8];	/* byte 24-39 */	MV_U8 ReservedByte24_39[16];	/* byte 40-43 */	MV_U32 CRC;}; /* struct SMPResponseReportRouteInformation *//*	response specific bytes for SMP Report Phy Event Information, intended to be	referenced by SMPResponse*/struct SMPResponseReportPhyEventInformation{	/* byte 4-5 */	MV_U8 ExpanderChangeCount[2];	/* byte 6-8 */	MV_U8 ReservedByte6_8[3];	/* byte 9 */	MV_U8 PhyIdentifier;	/* byte 10-14 */	MV_U8 ReservedByte10_14[5];	/* byte 15 */	MV_U8 NumberOfPhyEventDescriptors;		/* byte 16-27 */	MV_U8 PhyEventDescriptor[12];	//TBD/*	byte PhyEventDescriptor[12];		...	byte PhyEventDescriptor[12];		*/	MV_U32 CRC;}; /* struct SMPResponseReportPhyEventInformation *//*	response specific bytes for SMP Report Phy Broadcast Counts, intended to be	referenced by SMPResponse*/struct SMPResponseReportBroadcastCounts{	/* byte 4-5 */	MV_U8 ExpanderChangeCount[2];	/* byte 6-8 */	MV_U8 ReservedByte6_8[3];	/* byte 9 */	MV_U8 PhyIdentifier;	/* byte 10-11 */	MV_U8 ReservedByte10_11[2];	/* byte 12 */	MV_U8 ChangeCountValid:1;	MV_U8 ReservedChange0CountValid:1;	MV_U8 ReservedChange1CountValid:1;	MV_U8 SESCountValid:1;	MV_U8 ExpanderCountValid:1;	MV_U8 AsysnchronousEventCountValid:1;	MV_U8 Reserved3CountValid:1;	MV_U8 Reserved4CountValid:1;		/* byte 13-15 */	MV_U8 ReservedByte13_15[3];		/* byte 16 */	MV_U8 BroadcastChangeCount;		/* byte 17 */	MV_U8 BroadcastReserved0ChangeCount;		/* byte 18 */	MV_U8 BroadcastReserved1ChangeCount;		/* byte 19 */	MV_U8 BroadcastSESCount;		/* byte 20 */	MV_U8 BroadcastExpanderCount;		/* byte 21 */	MV_U8 BroadcastAsynchronousEventCount;		/* byte 22 */	MV_U8 BroadcastReserved3ChangeCount;		/* byte 23 */	MV_U8 BroadcastReserved4ChangeCount;		MV_U32 CRC;}; /* struct SMPResponseReportBroadcastCounts *//*	response specific bytes for SMP Discover List Descriptor, intended to be	referenced by SMPResponseDiscoverList*/struct DiscoverShortFormatDescriptor{	/* byte 48 */	MV_U8 PhyIdentifier;		/* byte 49 */	MV_U8 FunctionResult;	/* byte 50 */	MV_U8 ReservedByte50Bit0_3:4;	MV_U8 AttachedDeviceType:3;	MV_U8 ReservedByte50Bit7:1;	/* byte 51 */	MV_U8 NegotiatedPhysicalLinkRate:4;	MV_U8 ReservedByte51Bit4_7:4;		/* byte 52 */	MV_U8 AttachedSataHost:1;	MV_U8 AttachedSMPInitiator:1;	MV_U8 AttachedSTPInitiator:1;	MV_U8 AttachedSSPInitiator:1;	MV_U8 ReservedByte52Bit4_7:4;		/* byte 53 */	MV_U8 AttachedSataDevice:1;	MV_U8 AttachedSMPTarget:1;	MV_U8 AttachedSTPTarget:1;	MV_U8 AttachedSSPTarget:1;	MV_U8 ReservedByte53Bit4_6:3;	MV_U8 AttachedSataPortSelector:1;		/* byte 54 */	MV_U8 RoutingAttribute:4;	MV_U8 ReservedByte54Bit4_6:3;	MV_U8 VirtualPhy:1;	/* byte 55 */	MV_U8 ReservedByte55;	/* byte 56 */	MV_U8 ZoneGroup;	/* byte 57 */	MV_U8 ReservedByte57Bit0:1;	MV_U8 InsideZPSDS:1;	MV_U8 ZoneGroupPersistent:1;	MV_U8 ZoneAddressResolved:1;	MV_U8 RequestedInsideZPSDS:1;	MV_U8 InsideZPSDSPersistent:1;	MV_U8 ReservedByte57Bit6_7:2;	/* byte 58 */	MV_U8 AttachedPhyIdentifier;	/* byte 59 */	MV_U8 PhyChangeCount;	/* byte 60-68 */	MV_U8 AttachedSASAddress[8];	/* byte 69-72 */	MV_U8 ReservedByte68_72[4];		}; /* DiscoverShortFormatDescriptor */union DiscoverListDescriptor{	struct DiscoverShortFormatDescriptor	ShortFormatDescriptor;	struct DiscoverLongFormatDescriptor		LongFormatDescriptor;		};	/*	response specific bytes for SMP Discover List, intended to be	referenced by SMPResponse*/struct SMPResponseDiscoverList{	/* byte 4-5 */	MV_U8 ExpanderChangeCount[2];	/* byte 6-7 */	MV_U8 ReservedByte6_8[2];	/* byte 8 */	MV_U8 StartingPhyIdentifier;		/* byte 9 */	MV_U8 NumberOfDescriptors;	/* byte 10 */	MV_U8 PhyFilter:4;	MV_U8 ReservedByte10Bit4_7:4;	/* byte 11 */	MV_U8 DescriptorType:4;	MV_U8 ReservedByte11Bit4_7:4;	/* byte 12 */	MV_U8 DescriptorLength;		/* byte 13-15 */	MV_U8 ReservedByte13_15[3];		/* byte 16 */	MV_U8 ConfigurableRouteTable:1;	MV_U8 Congiguring:1;	MV_U8 ReservedByte16Bit2_5:4;	MV_U8 ZoningEnabled:1;	MV_U8 ZoningSupported:1;	/* byte 17-31 */	MV_U8 ReservedByte17_31[15];		/* byte 32-47 */	MV_U8 VendorSpecific[16];		/* byte 48 - n */	union DiscoverListDescriptor 	FirstDescriptor;/*	DiscoverListDescriptor 	SecondDescriptor;	//TBD		...	DiscoverListDescriptor 	LastDescriptor;	*/	MV_U32 CRC;}; /* struct SMPResponseDiscoverList *//*	response specific bytes for Expander Route Table Descriptor, intended to be	referenced by SMPResponseReportExpanderTable*/struct ExpanderRouteTableDescriptor{	/* byte 32-37 */	MV_U8 PhyBitMap[6];	/* byte 38 */	MV_U8 ReservedByte38Bit0_6:7;	MV_U8 ZoneGroupValid:1;	/* byte 39 */	MV_U8 ZoneGroup;	/* byte 40-48 */	MV_U8 RoutedSASAddress[8];	};/* ExpanderRouteTableDescriptor *//*	response specific bytes for SMP Report Expander Route Table, intended to be	referenced by SMPResponse*/struct SMPResponseReportExpanderTable{	/* byte 4-5 */	MV_U8 ExpanderChangeCount[2];	/* byte 6-7 */	MV_U8 ExpanderRouteTableChangeCount[2];	/* byte 8 */	MV_U8 ReservedByte8Bit0:1;	MV_U8 Configuring:1;	MV_U8 ReservedByte8Bit2_7:6;			/* byte 9 */	MV_U8 ReservedByte9;	/* byte 10-11 */	MV_U8 NumberOfDescriptors[2];		/* byte 12-13 */	MV_U8 FirstRoutedSASAddressIndex[2];	/* byte 14-15 */	MV_U8 LastRoutedSASAddressIndex[2];		/* byte 13-15 */	MV_U8 ReservedByte13_15[3];		/* byte 16-18 */	MV_U8 ReservedByte16_18[3];		/* byte 19 */	MV_U8 StartingPhyIdentifier;		/* byte 20-31 */	MV_U8 ReservedByte20_31[12];		/* byte 32 - n */	struct ExpanderRouteTableDescriptor 	FirstRouteTableDescriptor;/*	ExpanderRouteTableDescriptor 	SecondRouteTableDescriptor;	//TBD		...	ExpanderRouteTableDescriptor 	LastRouteTableDescriptor;	*/	MV_U32 CRC;}; /* struct SMPResponseReportExpanderTable */struct SMPResponseConfigureFunction{	/* byte 4-7 */	MV_U32 CRC;};/*	response specific to SMP Read SGPIO	Corresponds to READ_GPIO_REGISTER define*/struct SMPResponseReadGPIORegister{	/* byte 4-11 */	MV_U8 Data_In_Low[8];	/* byte 12-19 */	MV_U8 Data_In_High[8];	MV_U32 CRC;};/*	response specific to SMP Write SGPIO	Corresponds to WRITE_GPIO_REGISTER define*/struct SMPResponseWriteGPIORegister{	MV_U32 CRC;};/*	generic structure referencing an SMP Response, must be initialized	before being used*/struct SMPResponse{	/* byte 0 */	MV_U8 SMPFrameType; /* always 41h for SMP responses */	/* byte 1 */	MV_U8 Function;	/* byte 2 */	MV_U8 FunctionResult;	/* byte 3 */	MV_U8 ReservedByte3;	/* bytes 4-n */	union	{/* #define REPORT_GENERAL 						0x00 */		struct SMPResponseReportGeneral ReportGeneral;/* #define REPORT_MANUFACTURER_INFORMATION 		0x01 */		struct SMPResponseReportManufacturerInformation ReportManufacturerInformation;/* #define READ_GPIO_REGISTER					0x02 */			struct SMPResponseReadGPIORegister					ReadGPIORegister;/* #define REPORT_SELF_CONFGRIGRUATION_STATUS	0x03 */		struct SMPResponseReportSelfConfigurationStatus	ReportSelfConfigurationStatus;/* #define DISCOVER 							0x10 */		struct SMPResponseDiscover 						Discover;/* #define REPORT_PHY_ERROR_LOG 				0x11 */		struct SMPResponseReportPhyErrorLog 			ReportPhyErrorLog;/* #define REPORT_PHY_SATA 						0x12 */		struct SMPResponseReportPhySATA 				ReportPhySATA;/* #define REPORT_ROUTE_INFORMATION 			0x13 */		struct SMPResponseReportRouteInformation 		ReportRouteInformation;/* #define REPORT_PHY_EVENT_INFORMATION			0x14 */		struct SMPResponseReportPhyEventInformation		ReportPhyEventInformation;/* #define REPORT_PHY_BROADCAST_COUNTS			0x15 */		struct SMPResponseReportBroadcastCounts			ReportBroadcastCounts;/* #define DISCOVER_LIST						0x16 */		struct SMPResponseDiscoverList					DiscoverList;/* #define REPORT_EXPANDER_ROUTE_TABLE			0x17 */		struct SMPResponseReportExpanderTable			ReportExpanderTable;/* #define CONFIGURE_GENERAL					0x80 */		struct SMPResponseConfigureFunction				ConfigureGeneral;/* #define ENABLE_DISABLE_ZONING				0x81 */		struct SMPResponseConfigureFunction				EnableDisableZon

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?