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 + -
显示快捷键?