discover.h

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

H
2,308
字号
	The bit may be set to one when:	 a) the phy is contained within a zoning expander device; and	 b) the INSIDE ZPSDS bit for the phy is set to zero.	The bit may be set to zero when:	 a) the phy is contained within a non-zoning expander device; or	 b) the phy is contained within a zoning expander device and the INSIDE ZPSDS for the	    phy is set to one.	    	byte 60-bit4: REQUESTED INSIDE ZPSDS	Used to establish the boundary of the ZPSDS and to determine the value of other zone	phy information fields after a link reset sequence.	byte 60-bit5: INSIDE ZPSDS PERSISTENT	Indicates the method used to determine the value of the INSIDE ZPSDS bit after a	link reset sequence.	byte 60-bit6: REQUESTED INSIDE ZPSDS CHANGED BY EXPANDER	Set to one indicates that the zoning expander device set the REQUESTED INSIDE 	ZPSDS bit to zero in the zone phy information at the completion of the last 	link reset sequence. A REQUESTED INSIDE ZPSDS CHANGED BY EXPANDER bit set to 	zero indicates that the zoning expander device did not set the REQUESTED INSIDE	ZPSDS bit to zero in the zone phy information at the completion of the last link 	reset sequence.	The zone manager may use the REQUESTED INSIDE ZPSDS CHANGED BY EXPANDER bit to 	determine why the REQUESTED INSIDE ZPSDS bit has changed in the DISCOVER 	response from the value to which it last set the bit.	All phys in an expander port shall have the same zone phy information. The zone phy	information fields should be no-volatile and shall be preserved while zone is	disabled.		*/	MV_U8 ZoningEnabled:1;			/* bit 0 */	MV_U8 InsideZPSDS:1;				/* bit 1 */	MV_U8 ZoneGroupPersistent:1;		/* bit 2 */	MV_U8 ZoneAddressResolved:1;		/* bit 3 */		MV_U8 RequestedInsideZPSDS:1;	/* bit 4 */	MV_U8 InsideZPSDSPersistent:1;	/* bit 5 */	MV_U8 RequestedInsideZPSDSChangedbyExpander:1;	/* bit 6 */	MV_U8 ReservedByte60Bit7:1;/*	byte 61-62: Reserved */	MV_U8 ReservedByte61_62[2];/*	byte 63: ZONE GROUP	Contains a value in the range of 0 to 127 that specifies the zone group to which the phy	blongs. The zone group of the SMP initiator port and SMP target port in a zoning expander	device shall be 1.	*/	MV_U8 ZoneGroup;/*	byte 64:SELF-CONFIGURATION STATUS	Indicates the status of a self-configuring expander device pertaining to	the specified phy.	Code 	Description	00h 	Reserved	01h 	Error not related to a specific layer	02h 	The expander device currently has a connection or is currently attempting to establish a			connection with the SMP target port with the indicated SAS address.	03h 	Expander route table is full. The expander device was not able to add the indicated SAS			address to the expander route table.	04h		Expander device is out of resources (e.g., it discovered too many SAS addresses while			performing the discover process through a subtractive port). This does not affect the expander			route table.	05h-1Fh Reserved for status not related to specific layers	Status reported by the phy layer:	20h 	Error reported by the phy layer	21h 	All phys in the expander port containing the indicated phy lost dword synchronication	22h-3Fh Reserved for status reported by the phy layer	*/	MV_U8 SelfConfigurationStatus;/*	byte 65: SELF-CONFIGURATION LEVELS COMPLETED	Indicates the number of levels of expander devices beyond the expander port	containing the specified phy for which the self-configuring expander device’s 	management application client has completed the discover process.	Code 	Description	00h		The management application client:			a) has not begun the discover process through the expander port containing the specified			phy; or			b) has not completed the discover process through the expander port containing the			specified phy.	01h 	The management application client has completed discovery of the expander device			attached to the expander port containing the specified phy (i.e., level 1).	02h		The management application client has completed discovery of the expander devices			attached to the expander device attached to the expander port containing the specified phy			(i.e., level 2).	... ...	FFh 	The management application client has completed discovery of the expander devices			attached at level 255.*/	MV_U8 SelfConfgurationLevelsCompleted;/*	byte 66-67: Reserved */	MV_U8 ReservedByte66_67[2];/*	byte 68-75: SELF-CONFIGURATION SAS ADDRESS	Indicates the SAS address of the SMP target port to which the self-configuring 	expander device established a connection or attempted to establish a connection	using the specified phy and resulted in the status indicated by the 	SELF-CONFIGURATION STATUS field.*/	MV_U8 SelfConfigurationSASAddress[8];}; /* DiscoverLongFormatDescriptor *//* * Response specific bytes for SMP Discover, intended to be referenced * by SMPResponse */struct SMPResponseDiscover{/* 	byte 4-5: 	EXPANDER CHANGE COUNT	Counts the number of Broadcast (Change)s originated by an expander device. 	Management device servers in expander devices shall support this field. 	Management device servers in other device types (e.g., end devices) shall 	set this field to 0000h. This field shall be set to at least 0001h at power 	on. If the expander device has originated Broadcast (Change) for any reason 	described in 7.11 since transmitting a REPORT GENERAL response, it shall increment	this field at least once from the value in the previous REPORT GENERAL response. 	It shall not increment this field when forwarding a Broadcast (Change). This field 	shall wrap to at least 0001h after the maximum value (i.e., FFFFh) has been reached.*/	MV_U8 ExpanderChangeCount[2];/*	byte 6-8: Reserved	*/	MV_U8 ReservedByte6_8[3];/*		byte 9: PHY IDENTIFIER	Indicates the phy for which physical configuration link information 	is being returned.*/	MV_U8 PhyIdentifier;/*	byte 10-11: Reserved	*/	MV_U8 ReservedByte10_11[2];/*	byte 12-bit4-6:ATTACHED DEVICE TYPE	001b: No device	010b: End device	010b: Expander device	011b: Expander device compliant with a previous version of this standard	Others: Reserved*/	MV_U8 ReservedByte12Bit0_3:4;	/* Bit0-3 */	MV_U8 AttachedDeviceType:3;		/* Bit4-6 */	MV_U8 IgnoredByte12Bit7:1;		/* Bit7 *//*	byte 13-bit0-3:	NEGOTIATED PHYSICAL LINK RATE	0x0: UNKNOW, Phy is enabled; unknown physical link rate.	0x1: DISABLED, Phy is disabled.	0x2: PHY_RESET_PROBLEM	0x3: SPINUP_HOLD, detected a SATA device and entered the SATA spinup hold state.	0x4: PORT_SELECTOR	0x5: RESET_IN_PROGRESS	0x8: G1, Phy is enabled; 1,5 Gbps physical link rate.	0x9: G2, Phy is enabled; 3,0 Gbps physical link rate.	*/	MV_U8 NegotiatedPhysicalLinkRate:4;	MV_U8 ReservedByte13Bit4_7:4;/*	byte 14-bit0:ATTACHED SATA HOST	Set to one indicates a SATA host port is attached. An ATTACHED SATA HOST bit set	to zero indicates a SATA host port is not attached.	byte 14-bit1:ATTACHED SMP INITIATOR	Set to one specifies that an SMP initiator port is present.	byte 14-bit2:ATTACHED STP INITIATOR 	Set to one specifies that an STP initiator port is present.	byte 14-bit3:ATTACHED SSP INITIATOR	Set to one specifies that an SSP initiator port is present.	*/	MV_U8 InitiatorBits;	MV_U8 TargetBits;/*	byte 16-23:SAS ADDRESS	Contains the value of the SAS ADDRESS field transmitted in the IDENTIFY address 	frame during the identification sequence. If the phy is an expander phy, the 	SAS ADDRESS field contains the SAS address of the expander device. If the phy 	is a SAS phy, the SAS ADDRESS field contains the SAS address of the SAS port.*/	MV_U8 SASAddress[8];/*	byte 24-31:ATTACHED SAS ADDRESS	Contains the value of the SAS ADDRESS field received in the IDENTIFY	address frame during the identification sequence. If the attached port 	is an expander port, the ATTACHED SAS ADDRESS field contains the SAS address 	of the attached expander device. If the attached port is a SAS port, the 	ATTACHED SAS ADDRESS field contains SAS address of the attached SAS port. 	If the attached port is a SATA device port, the ATTACHED SAS ADDRESS field 	contains the SAS address of the STP/SATA bridge.	The ATTACHED SAS ADDRESS field shall be updated:		a) after the identification sequence completes, if a SAS phy or expander 	phy is attached; or		b) after the COMSAS Detect Timeout timer expires (see 6.8.3.9), if a SATA 	phy is attached.	An STP initiator port should not make a connection request to the attached SAS address until the ATTACHED	DEVICE TYPE field is set to a value other than 000b.*/	MV_U8 AttachedSASAddress[8];/*	byte 32: ATTACHED PHY IDENTIFIER	Contains a phy identifier for the attached phy:	a) If the attached phy is a SAS phy or an expander phy, the ATTACHED PHY 	IDENTIFIER field contains the value of the PHY IDENTIFIER field received 	in the IDENTIFY address frame during the identification sequence:		A) If the attached phy is a SAS phy, the ATTACHED PHY IDENTIFIER field 		contains the phy identifier of the attached SAS phy in the attached SAS device;		B) If the attached phy is an expander phy, the ATTACHED PHY IDENTIFIER 		field contains the phy identifier of the attached expander phy in the attached		expander device; 	b) If the attached phy is a SATA device phy, the ATTACHED PHY IDENTIFIER field 	contains 00h;	c) If the attached phy is a SATA port selector phy and the expander device is 	able to determine the port of the SATA port selector to which it is attached, 	the ATTACHED PHY IDENTIFIER field contains 00h or 01h; and	d) If the attached phy is a SATA port selector phy and the expander device is not 	able to determine the port of the SATA port selector to which it is attached, 	the ATTACHED PHY IDENTIFIER field contains 00h.		The ATTACHED PHY IDENTIFIER field shall be updated:		a) after the identification sequence completes, if a SAS phy or expander phy is attached; or		b) after the COMSAS Detect Timeout timer expires, if a SATA phy is attached.*/	MV_U8 AttachedPhyIdentifier;/*	byte 32-bit0:ATTACHED BREAK_REPLY CAPABLE	Set to one indicate that the phy is capable of responding to received BREAK primitive	sequences with a BREAK_REPLY primitive sequence.	byte 32-bit1: ATTACHED REQUESTED INSIDE ZPSDS	Is used to establish the boundary of ZPSDS. The bit is transmitted in the IDENTIFY	address frame to the attached phy and is used to determine the value of other zone	phy information fields after a link reset sequence.	byte 32-bit2: ATTACHED INSIDE ZPSDS PERSISTENT	Indicate the method used to determine the value of the INSIZE ZPSDS bit after a link	reset sequence. The bit is transmitted in the IDENTIFY address frame.*/#if __MV_BIG_ENDIAN_BITFIELD__	MV_U8 ReservedByte32Bit3_7          : 5;	MV_U8 AttachedInsideZPSDSPersistent : 1;  /* Bit 2 */	MV_U8 AttachedRequestedInsideZPSDS  : 1;  /* Bit 1 */	MV_U8 AttachedBreakReplyCapable     : 1;  /* Bit 0 */#else	MV_U8 AttachedBreakReplyCapable     : 1;  /* Bit 0 */	MV_U8 AttachedRequestedInsideZPSDS  : 1;  /* Bit 1 */	MV_U8 AttachedInsideZPSDSPersistent : 1;  /* Bit 2 */	MV_U8 ReservedByte32Bit3_7          : 5;#endif /* __MV_BIG_ENDIAN_BITFIELD__ */	/*	byte 34-39: Reserved */	MV_U8 ReservedByte34_39[6];/*	byte 40-bit0-3:HARDWARE MINIMUM PHYSICAL LINK RATE	Indicates the minimum physical link rate supported by the phy.	0x8: 1.5Gbps	0x9: 3.0Gbps	Others: Reserved	byte 40-bit4-7:PROGRAMMED MINIMUM PHYSICAL LINK RATE	Indicates the minimum physical link rate set by the PHY CONTROL function. 	The default value shall be the value of the HARDWARE MINIMUM PHYSICAL LINK RATE 	field.	0x0: Not programmable	0x8: 1.5Gbps	0x9: 3.0Gbps	Others: Reserved*/	MV_U8 HardwareMinimumPhysicalLinkRate:4;	MV_U8 ProgrammedMinimumPhysicalLinkRate:4;/*	byte 41-bit0-3:HARDWARE MAXIMUM PHYSICAL LINK RATE	Indicates the maximum physical link rate supported by the phy.	0x8: 1.5Gbps	0x9: 3.0Gbps	Others: Reserved	byte 41-bit4-7:PROGRAMMED MAXIMUM PHYSICAL LINK RATE	Indicates the maximum physical link rate set by the PHY CONTROL function. 	The default value shall be the value of the HARDWARE MINIMUM PHYSICAL LINK RATE 	field.	0x0: Not programmable	0x8: 1.5Gbps	0x9: 3.0Gbps	Others: Reserved*/	MV_U8 HardwareMaximumPhysicalLinkRate:4;	MV_U8 ProgrammedMaximumPhysicalLinkRate:4;/* 	byte 42: PHY CHANGE COUNT	Counts the number of Broadcast(Change)s originated by an expander phy.	Expander devices shall support this field. Other device types shall not support 	this field. This field shall be set to zero at power on. The expander device shall 	increment this field at least once when it originates a Broadcast (Change) for 	any reason from the specified expander phy and shall not increment this field when	forwarding a Broadcast (Change).	After incrementing the PHY CHANGE COUNT field, the expander device is not 	required to increment the PHY CHANGE COUNT field again unless a DISCOVER response 	is transmitted. The PHY CHANGE COUNT field shall wrap to zero after the maximum 	value (i.e., FFh) has been reached.	Application clients that use the PHY CHANGE COUNT field should read it often 	enough to ensure that it does not increment a multiple of 256 times between 	reading the field.*/	MV_U8 PhyChangeCount;/*	byte 43-bit0-3:PARTIAL PATHWAY TIMEOUT VALUE	Indicates the partial pathway timeout value in microseconds set by the PHY 	CONTROL function. The recommended default value for PARTIAL PATHWAY TIMEOUT 	VALUE is 7 μs.	byte 43-bit7: VIRTUAL PHY	Set to one indicates the phy is part of an internal port and the attached device 	is contained within the expander device. A VIRTUAL PHY bit set to zero indicates 	the phy is a physical phy and the attached device is not contained within the 	expander device.*/	MV_U8 PartialPathwayTimeoutValue:4;	MV_U8 IgnoredByte36Bit4_6:3;	MV_U8 VirtualPhy:1;/*	byte 44-bit0-3: ROUTING ATTRIBUTE	Indicates the routing attribute supported by the phy.	Code 	Name 			Description	0h 		Direct 			Direct routing method for attached end devices.							Attached expander devices are not supported on this phy.								1h 		Subtractive		a) subtractive routing method for attached expander.							b) direct routing method for attached end devices.								2h 		Table			a) table routing method for attached expander devices;							b) direct routing method for attached end devices.	The ROUTING ATTRIBUTE field shall not change based on the attached device type.*/	MV_U8 RoutingAttribute:4;	MV_U8 ReservedByte44Bit4_7:4;/*	byte 45-bit0-6:CONNECTOR TYPE	Indicates the type of connector used to access the phy, as reported by the	enclosure services process for the enclosure. A CONNECTOR TYPE field set to 00h 	indicates no connector information is available and that the CONNECTOR ELEMENT 	INDEX field and the CONNECTOR PHYSICAL LINK fields are invalid and shall be 	ignored.*/	MV_U8 ConnectorType:7;	MV_U8 ReservedByte45Bit7:1;/*	byte 46:CONNECTOR ELEMENT INDEX	Indicates the element index of the SAS Connector element representing the	connector used to access the phy, as reported by the enclosure services 	process for the enclosure.*/	MV_U8 ConnectorElementIndex;/*	byte 47: CONNECTOR PHYSICAL LINK	Indicates the physical link in the connector used to access the phy, as	reported by the enclosure services process for the enclosure.*/	MV_U8 ConnectorPhysicalLink;	struct DiscoverLongFormatDescriptor	LongFormatDescriptor;	/*	byte 76-77: CRC*/	MV_U32 CRC;	}; /* struct SMPResponseDiscover *//*	this structure describes the Register Device to Host FIS defined in the	SATA specification*/struct RegisterDeviceToHostFIS{	/* byte 24 */	MV_U8 FISType;	/* byte 25 */	MV_U8 ReservedByte25Bit0_5:6;	MV_U8 Interrupt:1;	MV_U8 ReservedByte25Bit7:1;	/* byte 26 */	MV_U8 Status;	/* byte 27 */	MV_U8 Error;	/* byte 28 */	MV_U8 SectorNumber;	/* byte 29 */	MV_U8 CylLow;	/* byte 30 */	MV_U8 CylHigh;	/* byte 31 */	MV_U8 DevHead;	/* byte 32 */	MV_U8 SectorNumberExp;	/* byte 33 */	MV_U8 CylLowExp;	/* byte 34 */	MV_U8 CylHighExp;	/* byte 35 */	MV_U8 ReservedByte35;	/* byte 36 */	MV_U8 SectorCount;	/* byte 37 */	MV_U8 SectorCountExp;	/* byte 38-43 */	MV_U8 ReservedByte38_43[6];}; /* struct RegisterDeviceToHostFIS */

⌨️ 快捷键说明

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