]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Bus/Pci/IdeBus/Dxe/idebus.h
In IdeBus driver block I/O read/write interface, it will always try to use UDMA mode...
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / IdeBus / Dxe / idebus.h
index 428dffa65d42373e75c865728f08058120096e8e..78c79d7665dacc22f14871d6588e20da94b93923 100644 (file)
@@ -1,25 +1,17 @@
-/*++\r
-Copyright (c) 2006, 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
+/** @file\r
+  Header file for IDE Bus Driver.\r
 \r
-Module Name:\r
+  Copyright (c) 2006, 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
-    idebus.h\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
-Abstract:\r
+**/\r
 \r
-    Header file for IDE Bus Driver.\r
-\r
-Revision History\r
-++*/\r
-\r
-// TODO: fix comment to end with --*/\r
 #ifndef _IDE_BUS_H\r
 #define _IDE_BUS_H\r
 \r
@@ -36,6 +28,10 @@ Revision History
 #define MAX_IDE_CHANNELS  2\r
 #define MAX_IDE_DRIVES    2\r
 \r
+#define INVALID_DEVICE_TYPE 0xff\r
+#define ATA_DEVICE_TYPE     0x00\r
+#define ATAPI_DEVICE_TYPE   0x01\r
+\r
 typedef struct {\r
   BOOLEAN HaveScannedDevice[MAX_IDE_DEVICE];\r
   BOOLEAN DeviceFound[MAX_IDE_DEVICE];\r
@@ -69,12 +65,17 @@ typedef struct {
   INQUIRY_DATA                *pInquiryData;\r
   EFI_IDENTIFY_DATA           *pIdData;\r
   ATA_PIO_MODE                PioMode;\r
-  ATA_UDMA_MODE               UDma_Mode;\r
+  EFI_ATA_MODE                UdmaMode;\r
   CHAR8                       ModelName[41];\r
   REQUEST_SENSE_DATA          *SenseData;\r
   UINT8                       SenseDataNumber;\r
   UINT8                       *Cache;\r
 \r
+  //\r
+  // ExitBootService Event, it is used to clear pending IDE interrupt\r
+  //\r
+  EFI_EVENT                   ExitBootServiceEvent;\r
+\r
   EFI_UNICODE_STRING_TABLE    *ControllerNameTable;\r
 } IDE_BLK_IO_DEV;\r
 \r
@@ -94,30 +95,33 @@ extern EFI_DRIVER_BINDING_PROTOCOL  gIDEBusDriverBinding;
 // Prototypes\r
 // Driver model protocol interface\r
 //\r
+/**\r
+  TODO: Add function description\r
+\r
+  @param  ImageHandle TODO: add argument description\r
+  @param  SystemTable TODO: add argument description\r
+\r
+  TODO: add return values\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBusControllerDriverEntryPoint (\r
   IN EFI_HANDLE                   ImageHandle,\r
   IN EFI_SYSTEM_TABLE             *SystemTable\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  ImageHandle - TODO: add argument description\r
-  SystemTable - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  Controller TODO: add argument description\r
+  @param  RemainingDevicePath TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBusDriverBindingSupported (\r
@@ -125,25 +129,18 @@ IDEBusDriverBindingSupported (
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This                - TODO: add argument description\r
-  Controller          - TODO: add argument description\r
-  RemainingDevicePath - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  Controller TODO: add argument description\r
+  @param  RemainingDevicePath TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBusDriverBindingStart (\r
@@ -151,25 +148,19 @@ IDEBusDriverBindingStart (
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This                - TODO: add argument description\r
-  Controller          - TODO: add argument description\r
-  RemainingDevicePath - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  Controller TODO: add argument description\r
+  @param  NumberOfChildren TODO: add argument description\r
+  @param  ChildHandleBuffer TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBusDriverBindingStop (\r
@@ -178,53 +169,83 @@ IDEBusDriverBindingStop (
   IN  UINTN                       NumberOfChildren,\r
   IN  EFI_HANDLE                  *ChildHandleBuffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
+;\r
 \r
-  This              - TODO: add argument description\r
-  Controller        - TODO: add argument description\r
-  NumberOfChildren  - TODO: add argument description\r
-  ChildHandleBuffer - TODO: add argument description\r
+//\r
+// EFI Driver Configuration Functions\r
+//\r
+EFI_STATUS\r
+IDEBusDriverConfigurationSetOptions (\r
+  IN  EFI_DRIVER_CONFIGURATION_PROTOCOL                      *This,\r
+  IN  EFI_HANDLE                                             ControllerHandle,\r
+  IN  EFI_HANDLE                                             ChildHandle  OPTIONAL,\r
+  IN  CHAR8                                                  *Language,\r
+  OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED               *ActionRequired\r
+  );\r
 \r
-Returns:\r
+EFI_STATUS\r
+IDEBusDriverConfigurationOptionsValid (\r
+  IN  EFI_DRIVER_CONFIGURATION_PROTOCOL               *This,\r
+  IN  EFI_HANDLE                                      ControllerHandle,\r
+  IN  EFI_HANDLE                                      ChildHandle  OPTIONAL\r
+  );\r
 \r
-  TODO: add return values\r
+EFI_STATUS\r
+IDEBusDriverConfigurationForceDefaults (\r
+  IN  EFI_DRIVER_CONFIGURATION_PROTOCOL                      *This,\r
+  IN  EFI_HANDLE                                             ControllerHandle,\r
+  IN  EFI_HANDLE                                             ChildHandle  OPTIONAL,\r
+  IN  UINT32                                                 DefaultType,\r
+  OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED               *ActionRequired\r
+  );\r
 \r
---*/\r
-;\r
+//\r
+// EFI Driver Diagnostics Functions\r
+//\r
+EFI_STATUS\r
+IDEBusDriverDiagnosticsRunDiagnostics (\r
+  IN  EFI_DRIVER_DIAGNOSTICS_PROTOCOL               *This,\r
+  IN  EFI_HANDLE                                    ControllerHandle,\r
+  IN  EFI_HANDLE                                    ChildHandle  OPTIONAL,\r
+  IN  EFI_DRIVER_DIAGNOSTIC_TYPE                    DiagnosticType,\r
+  IN  CHAR8                                         *Language,\r
+  OUT EFI_GUID                                      **ErrorType,\r
+  OUT UINTN                                         *BufferSize,\r
+  OUT CHAR16                                        **Buffer\r
+  );\r
 \r
 //\r
 // Block I/O Protocol Interface\r
 //\r
+/**\r
+  TODO: Add function description\r
+\r
+  @param  This TODO: add argument description\r
+  @param  ExtendedVerification TODO: add argument description\r
+\r
+  TODO: add return values\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBlkIoReset (\r
   IN  EFI_BLOCK_IO_PROTOCOL       *This,\r
   IN  BOOLEAN                     ExtendedVerification\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This                  - TODO: add argument description\r
-  ExtendedVerification  - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  MediaId TODO: add argument description\r
+  @param  LBA TODO: add argument description\r
+  @param  BufferSize TODO: add argument description\r
+  @param  Buffer TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBlkIoReadBlocks (\r
@@ -234,27 +255,20 @@ IDEBlkIoReadBlocks (
   IN  UINTN                       BufferSize,\r
   OUT VOID                        *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This        - TODO: add argument description\r
-  MediaId     - TODO: add argument description\r
-  LBA         - TODO: add argument description\r
-  BufferSize  - TODO: add argument description\r
-  Buffer      - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  MediaId TODO: add argument description\r
+  @param  LBA TODO: add argument description\r
+  @param  BufferSize TODO: add argument description\r
+  @param  Buffer TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBlkIoWriteBlocks (\r
@@ -264,72 +278,49 @@ IDEBlkIoWriteBlocks (
   IN  UINTN                       BufferSize,\r
   IN  VOID                        *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This        - TODO: add argument description\r
-  MediaId     - TODO: add argument description\r
-  LBA         - TODO: add argument description\r
-  BufferSize  - TODO: add argument description\r
-  Buffer      - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEBlkIoFlushBlocks (\r
   IN  EFI_BLOCK_IO_PROTOCOL       *This\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This  - TODO: add argument description\r
-\r
-Returns:\r
+  @param  PciIo TODO: add argument description\r
+  @param  Enable TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 IDERegisterDecodeEnableorDisable (\r
   IN  EFI_PCI_IO_PROTOCOL         *PciIo,\r
   IN  BOOLEAN                     Enable\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  PciIo   - TODO: add argument description\r
-  Enable  - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  InquiryData TODO: add argument description\r
+  @param  IntquiryDataSize TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEDiskInfoInquiry (\r
@@ -337,25 +328,18 @@ IDEDiskInfoInquiry (
   IN OUT VOID                     *InquiryData,\r
   IN OUT UINT32                   *IntquiryDataSize\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This              - TODO: add argument description\r
-  InquiryData       - TODO: add argument description\r
-  IntquiryDataSize  - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  IdentifyData TODO: add argument description\r
+  @param  IdentifyDataSize TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEDiskInfoIdentify (\r
@@ -363,25 +347,19 @@ IDEDiskInfoIdentify (
   IN OUT VOID                     *IdentifyData,\r
   IN OUT UINT32                   *IdentifyDataSize\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This              - TODO: add argument description\r
-  IdentifyData      - TODO: add argument description\r
-  IdentifyDataSize  - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  SenseData TODO: add argument description\r
+  @param  SenseDataSize TODO: add argument description\r
+  @param  SenseDataNumber TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEDiskInfoSenseData (\r
@@ -390,26 +368,18 @@ IDEDiskInfoSenseData (
   IN OUT UINT32                   *SenseDataSize,\r
   OUT UINT8                       *SenseDataNumber\r
   )\r
-/*++\r
-\r
-Routine Description:\r
+;\r
 \r
+/**\r
   TODO: Add function description\r
 \r
-Arguments:\r
-\r
-  This            - TODO: add argument description\r
-  SenseData       - TODO: add argument description\r
-  SenseDataSize   - TODO: add argument description\r
-  SenseDataNumber - TODO: add argument description\r
-\r
-Returns:\r
+  @param  This TODO: add argument description\r
+  @param  IdeChannel TODO: add argument description\r
+  @param  IdeDevice TODO: add argument description\r
 \r
   TODO: add return values\r
 \r
---*/\r
-;\r
-\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 IDEDiskInfoWhichIde (\r
@@ -417,23 +387,6 @@ IDEDiskInfoWhichIde (
   OUT UINT32                      *IdeChannel,\r
   OUT UINT32                      *IdeDevice\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This        - TODO: add argument description\r
-  IdeChannel  - TODO: add argument description\r
-  IdeDevice   - TODO: add argument description\r
-\r
-Returns:\r
-\r
-  TODO: add return values\r
-\r
---*/\r
 ;\r
 \r
 #endif\r