]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/IdeControllerInit.h
MdePkg FirmwareManagement.h: Fix typo EFI_SECURITY_VIOLATIO
[mirror_edk2.git] / MdePkg / Include / Protocol / IdeControllerInit.h
index 92f94ea59e6a6ab1d0629938c0b02cd1797b3d87..023090c07122dac834a3befe0f553c3569d0d60e 100644 (file)
@@ -2,29 +2,29 @@
   This file declares EFI IDE Controller Init Protocol\r
   \r
   The EFI_IDE_CONTROLLER_INIT_PROTOCOL provides the chipset-specific information\r
-  to the IDE bus driver. This protocol is mandatory for IDE controllers if the\r
-  IDE devices behind the controller are to be enumerated by an IDE bus driver.\r
+  to the driver entity. This protocol is mandatory for IDE controllers if the\r
+  IDE devices behind the controller are to be enumerated by a driver entity.\r
   \r
   There can only be one instance of EFI_IDE_CONTROLLER_INIT_PROTOCOL for each IDE\r
   controller in a system. It is installed on the handle that corresponds to the\r
-  IDE controller. An IDE bus driver that wishes to manage an IDE bus and possibly\r
+  IDE controller. A driver entity that wishes to manage an IDE bus and possibly\r
   IDE devices in a system will have to retrieve the EFI_IDE_CONTROLLER_INIT_PROTOCOL\r
   instance that is associated with the controller to be managed.\r
   \r
   A device handle for an IDE controller must contain an EFI_DEVICE_PATH_PROTOCOL.\r
 \r
-  Copyright (c) 2007 - 2010, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.                                          \r
+    \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
   @par Revision Reference:\r
   This Protocol is defined in UEFI Platform Initialization Specification 1.2 \r
-  Volume 5: Standards\r
+  Volume 5: Standards.\r
   \r
 **/\r
 \r
@@ -34,7 +34,7 @@
 #include <IndustryStandard/Atapi.h>\r
 \r
 ///\r
-/// Global ID for the EFI_IDE_CONTROLLER_INIT_PROTOCOL\r
+/// Global ID for the EFI_IDE_CONTROLLER_INIT_PROTOCOL.\r
 ///\r
 #define EFI_IDE_CONTROLLER_INIT_PROTOCOL_GUID \\r
   { \\r
   }\r
 \r
 ///\r
-/// Forward declaration for EFI_IDE_CONTROLLER_INIT_PROTOCOL\r
+/// Forward declaration for EFI_IDE_CONTROLLER_INIT_PROTOCOL.\r
 ///\r
 typedef struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL  EFI_IDE_CONTROLLER_INIT_PROTOCOL;\r
 \r
 ///\r
-/// The phase of the IDE Controller enumeration\r
+/// The phase of the IDE Controller enumeration.\r
 ///\r
 typedef enum {\r
   ///\r
-  /// The IDE bus driver is about to begin enumerating the devices\r
+  /// The driver entity is about to begin enumerating the devices\r
   /// behind the specified channel. This notification can be used to\r
   /// perform any chipset-specific programming.\r
   ///\r
   EfiIdeBeforeChannelEnumeration,\r
   ///\r
-  /// The IDE bus driver has completed enumerating the devices\r
+  /// The driver entity has completed enumerating the devices\r
   /// behind the specified channel. This notification can be used to\r
   /// perform any chipset-specific programming.\r
   ///\r
   EfiIdeAfterChannelEnumeration,\r
   ///\r
-  /// The IDE bus driver is about to reset the devices behind the\r
+  /// The driver entity is about to reset the devices behind the\r
   /// specified channel. This notification can be used to perform any\r
   /// chipset-specific programming.\r
   ///\r
   EfiIdeBeforeChannelReset,\r
   ///\r
-  /// The IDE bus driver has completed resetting the devices behind\r
+  /// The driver entity has completed resetting the devices behind\r
   /// the specified channel. This notification can be used to perform\r
   /// any chipset-specific programming.  \r
   ///\r
   EfiIdeAfterChannelReset,\r
   ///\r
-  /// The IDE bus driver is about to detect the presence of devices\r
+  /// The driver entity is about to detect the presence of devices\r
   /// behind the specified channel. This notification can be used to\r
   /// set up the bus signals to default levels or for implementing\r
   /// predelays.\r
   ///\r
   EfiIdeBusBeforeDevicePresenceDetection,\r
   ///\r
-  /// The IDE bus driver is done with detecting the presence of\r
+  /// The driver entity is done with detecting the presence of\r
   /// devices behind the specified channel. This notification can be\r
   /// used to perform any chipset-specific programming.  \r
   ///\r
@@ -122,7 +122,7 @@ typedef enum {
 #define  EFI_SATA_GEN2_SPEED  2\r
 \r
 ///\r
-/// EFI_ATA_MODE structure\r
+/// EFI_ATA_MODE structure.\r
 ///\r
 typedef struct {\r
   BOOLEAN      Valid;   ///< TRUE if Mode is valid.\r
@@ -150,7 +150,7 @@ typedef struct {
 } EFI_ATA_EXTENDED_MODE;\r
 \r
 ///\r
-/// EFI_ATA_COLLECTIVE_MODE structure\r
+/// EFI_ATA_COLLECTIVE_MODE structure.\r
 ///\r
 typedef struct {\r
   ///\r
@@ -164,7 +164,7 @@ typedef struct {
   ///\r
   /// This field specifies the single word DMA mode. Single word DMA modes are defined\r
   /// in the ATA/ATAPI specification, versions 1 and 2. Single word DMA support was\r
-  /// obsoleted in the ATA/ATAPI specification, version 3; therefore, most devices and\r
+  /// obsoleted in the ATA/ATAPI specification, version 3. Therefore, most devices and\r
   /// controllers will not support this transfer mode. The ATA/ATAPI specification defines\r
   /// the enumeration. In other words, a value of 1 in this field means single word DMA\r
   /// mode 1. The actual meaning of single word DMA mode 1 is governed by the ATA/\r
@@ -221,7 +221,7 @@ typedef ATAPI_IDENTIFY_DATA EFI_ATAPI_IDENTIFY_DATA;
 #define   EFI_ATAPI_DEVICE_IDENTIFY_DATA  0x8000\r
 \r
 ///\r
-/// EFI_IDENTIFY_DATA structure\r
+/// EFI_IDENTIFY_DATA structure.\r
 ///\r
 typedef union {\r
   ///\r
@@ -240,33 +240,33 @@ typedef union {
   Returns the information about the specified IDE channel.\r
   \r
   This function can be used to obtain information about a particular IDE channel.\r
-  The IDE bus driver uses this information during the enumeration process. \r
+  The driver entity uses this information during the enumeration process. \r
   \r
-  If Enabled is set to FALSE, the IDE bus driver will not scan the channel. Note \r
+  If Enabled is set to FALSE, the driver entity will not scan the channel. Note \r
   that it will not prevent an operating system driver from scanning the channel.\r
   \r
   For most of today's controllers, MaxDevices will either be 1 or 2. For SATA \r
   controllers, this value will always be 1. SATA configurations can contain SATA \r
   port multipliers. SATA port multipliers behave like SATA bridges and can support\r
-  up to 16 devices on the other side. If an SATA port out of the IDE controller \r
+  up to 16 devices on the other side. If a SATA port out of the IDE controller \r
   is connected to a port multiplier, MaxDevices will be set to the number of SATA \r
   devices that the port multiplier supports. Because today's port multipliers \r
-  support up to 15 SATA devices, this number can be as large as 15. The IDE bus \r
-  driver is required to scan for the presence of port multipliers behind an SATA \r
+  support up to fifteen SATA devices, this number can be as large as fifteen. The IDE  \r
+  bus driver is required to scan for the presence of port multipliers behind an SATA \r
   controller and enumerate up to MaxDevices number of devices behind the port \r
   multiplier.    \r
   \r
   In this context, the devices behind a port multiplier constitute a channel.  \r
   \r
-  @param[in]  This         Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
+  @param[in]  This         The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
   @param[in]  Channel      Zero-based channel number.\r
   @param[out] Enabled      TRUE if this channel is enabled.  Disabled channels \r
                            are not scanned to see if any devices are present.\r
   @param[out] MaxDevices   The maximum number of IDE devices that the bus driver\r
                            can expect on this channel.  For the ATA/ATAPI \r
                            specification, version 6, this number will either be \r
-                           1 or 2. For Serial ATA (SATA) configurations with a \r
-                           port multiplier, this number can be as large as 15.\r
+                           one or two. For Serial ATA (SATA) configurations with a \r
+                           port multiplier, this number can be as large as fifteen.\r
 \r
   @retval EFI_SUCCESS             Information was returned without any errors.\r
   @retval EFI_INVALID_PARAMETER   Channel is invalid (Channel >= ChannelCount).\r
@@ -282,7 +282,7 @@ EFI_STATUS
   );\r
 \r
 /**\r
-  The notifications from the IDE bus driver that it is about to enter a certain\r
+  The notifications from the driver entity that it is about to enter a certain\r
   phase of the IDE channel enumeration process.\r
   \r
   This function can be used to notify the IDE controller driver to perform \r
@@ -292,12 +292,12 @@ EFI_STATUS
   \r
   More synchronization points may be added as required in the future.  \r
 \r
-  @param[in] This      Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
+  @param[in] This      The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
   @param[in] Phase     The phase during enumeration.\r
   @param[in] Channel   Zero-based channel number.\r
 \r
   @retval EFI_SUCCESS             The notification was accepted without any errors.\r
-  @retval EFI_NOT_SUPPORTED       Phase is not supported.\r
+  @retval EFI_UNSUPPORTED         Phase is not supported.\r
   @retval EFI_INVALID_PARAMETER   Channel is invalid (Channel >= ChannelCount).\r
   @retval EFI_NOT_READY           This phase cannot be entered at this time; for \r
                                   example, an attempt was made to enter a Phase \r
@@ -316,11 +316,11 @@ EFI_STATUS
 /**\r
   Submits the device information to the IDE controller driver.\r
 \r
-  This function is used by the IDE bus driver to pass detailed information about \r
-  a particular device to the IDE controller driver. The IDE bus driver obtains \r
+  This function is used by the driver entity to pass detailed information about \r
+  a particular device to the IDE controller driver. The driver entity obtains \r
   this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. IdentifyData\r
   is the pointer to the response data buffer. The IdentifyData buffer is owned \r
-  by the IDE bus driver, and the IDE controller driver must make a local copy \r
+  by the driver entity, and the IDE controller driver must make a local copy \r
   of the entire buffer or parts of the buffer as needed. The original IdentifyData \r
   buffer pointer may not be valid when\r
   \r
@@ -332,7 +332,7 @@ EFI_STATUS
   timing information. For example, an implementation of the IDE controller driver \r
   may examine the vendor and type/mode field to match known bad drives.  \r
   \r
-  The IDE bus driver may submit drive information in any order, as long as it \r
+  The driver entity may submit drive information in any order, as long as it \r
   submits information for all the devices belonging to the enumeration group \r
   before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for any device\r
   in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()\r
@@ -342,7 +342,7 @@ EFI_STATUS
   EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a \r
   given (Channel, Device) pair.  \r
     \r
-  @param[in] This           Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
+  @param[in] This           A pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
   @param[in] Channel        Zero-based channel number.\r
   @param[in] Device         Zero-based device number on the Channel.\r
   @param[in] IdentifyData   The device's response to the ATA IDENTIFY_DEVICE command.\r
@@ -364,20 +364,20 @@ EFI_STATUS
 /**\r
   Disqualifies specific modes for an IDE device.\r
 \r
-  This function allows the IDE bus driver or other drivers (such as platform \r
+  This function allows the driver entity or other drivers (such as platform \r
   drivers) to reject certain timing modes and request the IDE controller driver\r
-  to recalculate modes. This function allows the IDE bus driver and the IDE \r
+  to recalculate modes. This function allows the driver entity and the IDE \r
   controller driver to negotiate the timings on a per-device basis. This function \r
   is useful in the case of drives that lie about their capabilities. An example \r
   is when the IDE device fails to accept the timing modes that are calculated \r
   by the IDE controller driver based on the response to the Identify Drive command.\r
 \r
-  If the IDE bus driver does not want to limit the ATA timing modes and leave that \r
+  If the driver entity does not want to limit the ATA timing modes and leave that \r
   decision to the IDE controller driver, it can either not call this function for \r
   the given device or call this function and set the Valid flag to FALSE for all \r
   modes that are listed in EFI_ATA_COLLECTIVE_MODE.\r
   \r
-  The IDE bus driver may disqualify modes for a device in any order and any number \r
+  The driver entity may disqualify modes for a device in any order and any number \r
   of times.\r
   \r
   This function can be called multiple times to invalidate multiple modes of the \r
@@ -389,9 +389,9 @@ EFI_STATUS
   may inform the IDE controller driver to not use second-generation (Gen2) speeds \r
   for a certain SATA drive.\r
   \r
-  @param[in] This       Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
-  @param[in] Channel    Zero-based channel number.\r
-  @param[in] Device     Zero-based device number on the Channel.\r
+  @param[in] This       The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
+  @param[in] Channel    The zero-based channel number.\r
+  @param[in] Device     The zero-based device number on the Channel.\r
   @param[in] BadModes   The modes that the device does not support and that\r
                         should be disqualified.\r
 \r
@@ -413,25 +413,25 @@ EFI_STATUS
 /**\r
   Returns the information about the optimum modes for the specified IDE device.\r
 \r
-  This function is used by the IDE bus driver to obtain the optimum ATA modes for\r
+  This function is used by the driver entity to obtain the optimum ATA modes for\r
   a specific device.  The IDE controller driver takes into account the following \r
   while calculating the mode:\r
     - The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()\r
     - The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()\r
 \r
-  The IDE bus driver is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() \r
+  The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() \r
   for all the devices that belong to an enumeration group before calling \r
   EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.  \r
   \r
   The IDE controller driver will use controller- and possibly platform-specific \r
   algorithms to arrive at SupportedModes.  The IDE controller may base its \r
   decision on user preferences and other considerations as well. This function \r
-  may be called multiple times because the IDE bus driver may renegotiate the mode \r
+  may be called multiple times because the driver entity may renegotiate the mode \r
   with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().\r
     \r
-  The IDE bus driver may collect timing information for various devices in any \r
-  order. The IDE bus driver is responsible for making sure that all the dependencies\r
-  are satisfied; for example, the SupportedModes information for device A that \r
+  The driver entity may collect timing information for various devices in any \r
+  order. The driver entity is responsible for making sure that all the dependencies\r
+  are satisfied. For example, the SupportedModes information for device A that \r
   was previously returned may become stale after a call to \r
   EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B.\r
   \r
@@ -444,12 +444,12 @@ EFI_STATUS
   The IDE controller driver for a Serial ATA (SATA) controller can use this \r
   member function to force a lower speed (first-generation [Gen1] speeds on a \r
   second-generation [Gen2]-capable hardware).  The IDE controller driver can \r
-  also allow the IDE bus driver to stay with the speed that has been negotiated \r
+  also allow the driver entity to stay with the speed that has been negotiated \r
   by the physical layer.\r
   \r
-  @param[in]  This             Pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
-  @param[in]  Channel          Zero-based channel number.\r
-  @param[in]  Device           Zero-based device number on the Channel.\r
+  @param[in]  This             The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.\r
+  @param[in]  Channel          A zero-based channel number.\r
+  @param[in]  Device           A zero-based device number on the Channel.\r
   @param[out] SupportedModes   The optimum modes for the device.\r
 \r
   @retval EFI_SUCCESS             SupportedModes was returned.\r
@@ -477,7 +477,7 @@ EFI_STATUS
   Commands the IDE controller driver to program the IDE controller hardware\r
   so that the specified device can operate at the specified mode.\r
 \r
-  This function is used by the IDE bus driver to instruct the IDE controller \r
+  This function is used by the driver entity to instruct the IDE controller \r
   driver to program the IDE controller hardware to the specified modes. This \r
   function can be called only once for a particular device. For a Serial ATA \r
   (SATA) Advanced Host Controller Interface (AHCI) controller, no controller-\r
@@ -493,7 +493,7 @@ EFI_STATUS
   @retval EFI_INVALID_PARAMETER   Device is invalid.\r
   @retval EFI_NOT_READY           Modes cannot be set at this time due to lack of data.\r
   @retval EFI_DEVICE_ERROR        Modes cannot be set due to hardware failure.\r
-                                  The IDE bus driver should not use this device.\r
+                                  The driver entity should not use this device.\r
 \r
 **/\r
 typedef\r
@@ -515,7 +515,7 @@ struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL {
   EFI_IDE_CONTROLLER_GET_CHANNEL_INFO    GetChannelInfo;\r
   \r
   ///\r
-  /// The notification that the IDE bus driver is about to enter the\r
+  /// The notification that the driver entity is about to enter the\r
   /// specified phase during the enumeration process.  \r
   ///\r
   EFI_IDE_CONTROLLER_NOTIFY_PHASE        NotifyPhase;\r
@@ -545,7 +545,7 @@ struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL {
   \r
   ///\r
   /// Set to TRUE if the enumeration group includes all the channels that are\r
-  /// produced by this controller. FALSE if an enumeration group consists of\r
+  /// produced by this controller. Set to FALSE if an enumeration group consists of\r
   /// only one channel.  \r
   ///\r
   BOOLEAN                                EnumAll;\r
@@ -555,7 +555,7 @@ struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL {
   /// (PATA) controllers can support up to two channels. Advanced Host Controller \r
   /// Interface (AHCI) Serial ATA (SATA) controllers can support up to 32 channels,\r
   /// each of which can have up to one device. In the presence of a multiplier, \r
-  /// each channel can have 15 devices.\r
+  /// each channel can have fifteen devices.\r
   ///\r
   UINT8                                  ChannelCount;\r
 };\r