git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2434 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			1329 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			1329 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Header file for IDE Bus Driver, containing the helper functions'
 | 
						|
  entire prototype.
 | 
						|
 | 
						|
  Copyright (c) 2006 - 2007 Intel Corporation. <BR>
 | 
						|
  All rights reserved. This program and the accompanying materials
 | 
						|
  are licensed and made available under the terms and conditions of the BSD License
 | 
						|
  which accompanies this distribution.  The full text of the license may be found at
 | 
						|
  http://opensource.org/licenses/bsd-license.php
 | 
						|
 | 
						|
  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
						|
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
 | 
						|
  @par Revision Reference:
 | 
						|
  2002-6: Add Atapi6 enhancement, support >120GB hard disk, including
 | 
						|
  Add - IDEBlkIoReadBlocksExt() func definition
 | 
						|
  Add - IDEBlkIoWriteBlocksExt() func definition
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef _IDE_H
 | 
						|
#define _IDE_H
 | 
						|
 | 
						|
//
 | 
						|
// Helper functions Prototype
 | 
						|
//
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  This TODO: add argument description
 | 
						|
  @param  Controller TODO: add argument description
 | 
						|
  @param  Handle TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DeRegisterIdeDevice (
 | 
						|
  IN  EFI_DRIVER_BINDING_PROTOCOL    *This,
 | 
						|
  IN  EFI_HANDLE                     Controller,
 | 
						|
  IN  EFI_HANDLE                     Handle
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  Controller TODO: add argument description
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  ParentDevicePath TODO: add argument description
 | 
						|
  @param  RemainingDevicePath TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EnableIdeDevice (
 | 
						|
  IN EFI_HANDLE                          Controller,
 | 
						|
  IN EFI_PCI_IO_PROTOCOL                 *PciIo,
 | 
						|
  IN EFI_DEVICE_PATH_PROTOCOL            *ParentDevicePath,
 | 
						|
  IN EFI_DEVICE_PATH_PROTOCOL            *RemainingDevicePath
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  Port TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
UINT8
 | 
						|
IDEReadPortB (
 | 
						|
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
 | 
						|
  IN  UINT16                Port
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  Port TODO: add argument description
 | 
						|
  @param  Count TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
IDEReadPortWMultiple (
 | 
						|
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
 | 
						|
  IN  UINT16                Port,
 | 
						|
  IN  UINTN                 Count,
 | 
						|
  OUT  VOID                 *Buffer
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  Port TODO: add argument description
 | 
						|
  @param  Data TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
IDEWritePortB (
 | 
						|
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
 | 
						|
  IN  UINT16                Port,
 | 
						|
  IN  UINT8                 Data
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  Port TODO: add argument description
 | 
						|
  @param  Data TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
IDEWritePortW (
 | 
						|
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
 | 
						|
  IN  UINT16                Port,
 | 
						|
  IN  UINT16                Data
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  Port TODO: add argument description
 | 
						|
  @param  Count TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
IDEWritePortWMultiple (
 | 
						|
  IN  EFI_PCI_IO_PROTOCOL   *PciIo,
 | 
						|
  IN  UINT16                Port,
 | 
						|
  IN  UINTN                 Count,
 | 
						|
  IN  VOID                  *Buffer
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  PciIo TODO: add argument description
 | 
						|
  @param  IdeRegsBaseAddr TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
GetIdeRegistersBaseAddr (
 | 
						|
  IN  EFI_PCI_IO_PROTOCOL         *PciIo,
 | 
						|
  OUT IDE_REGISTERS_BASE_ADDR     *IdeRegsBaseAddr
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
ReassignIdeResources (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DiscoverIdeDevice (
 | 
						|
  IN IDE_BLK_IO_DEV *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  This interface is used to initialize all state data related to the
 | 
						|
  detection of one channel.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS Completed successfully.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
InitializeIDEChannelData (
 | 
						|
  VOID
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DetectIDEController (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TimeoutInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DRQClear (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           TimeoutInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TimeoutInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DRQClear2 (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           TimeoutInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TimeoutInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DRQReady (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           TimeoutInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TimeoutInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DRQReady2 (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           TimeoutInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TimeoutInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
WaitForBSYClear (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           TimeoutInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TimeoutInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
WaitForBSYClear2 (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           TimeoutInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DelayInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DRDYReady (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           DelayInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DelayInMilliSeconds TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DRDYReady2 (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINTN           DelayInMilliSeconds
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  Destination TODO: add argument description
 | 
						|
  @param  Source TODO: add argument description
 | 
						|
  @param  Size TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
SwapStringChars (
 | 
						|
  IN CHAR8  *Destination,
 | 
						|
  IN CHAR8  *Source,
 | 
						|
  IN UINT32 Size
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
//
 | 
						|
//  ATA device functions' prototype
 | 
						|
//
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
ATAIdentify (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
PrintAtaModuleName (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  Head TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
  @param  SectorNumber TODO: add argument description
 | 
						|
  @param  CylinderLsb TODO: add argument description
 | 
						|
  @param  CylinderMsb TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaPioDataIn (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *Buffer,
 | 
						|
  IN  UINT32          ByteCount,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  UINT8           Head,
 | 
						|
  IN  UINT8           SectorCount,
 | 
						|
  IN  UINT8           SectorNumber,
 | 
						|
  IN  UINT8           CylinderLsb,
 | 
						|
  IN  UINT8           CylinderMsb
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  Head TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
  @param  SectorNumber TODO: add argument description
 | 
						|
  @param  CylinderLsb TODO: add argument description
 | 
						|
  @param  CylinderMsb TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaPioDataOut (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *Buffer,
 | 
						|
  IN  UINT32          ByteCount,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  UINT8           Head,
 | 
						|
  IN  UINT8           SectorCount,
 | 
						|
  IN  UINT8           SectorNumber,
 | 
						|
  IN  UINT8           CylinderLsb,
 | 
						|
  IN  UINT8           CylinderMsb
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
CheckErrorStatus (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  Lba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaReadSectors (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         Lba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  BufferData TODO: add argument description
 | 
						|
  @param  Lba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaWriteSectors (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *BufferData,
 | 
						|
  IN  EFI_LBA         Lba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaSoftReset (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeBlkIoDevice TODO: add argument description
 | 
						|
  @param  MediaId TODO: add argument description
 | 
						|
  @param  LBA TODO: add argument description
 | 
						|
  @param  BufferSize TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaBlkIoReadBlocks (
 | 
						|
  IN IDE_BLK_IO_DEV   *IdeBlkIoDevice,
 | 
						|
  IN UINT32           MediaId,
 | 
						|
  IN EFI_LBA          LBA,
 | 
						|
  IN UINTN            BufferSize,
 | 
						|
  OUT VOID            *Buffer
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeBlkIoDevice TODO: add argument description
 | 
						|
  @param  MediaId TODO: add argument description
 | 
						|
  @param  LBA TODO: add argument description
 | 
						|
  @param  BufferSize TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaBlkIoWriteBlocks (
 | 
						|
  IN IDE_BLK_IO_DEV   *IdeBlkIoDevice,
 | 
						|
  IN UINT32           MediaId,
 | 
						|
  IN EFI_LBA          LBA,
 | 
						|
  IN UINTN            BufferSize,
 | 
						|
  OUT VOID            *Buffer
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
//
 | 
						|
// ATAPI device functions' prototype
 | 
						|
//
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
ATAPIIdentify (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiInquiry (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Packet TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  TimeOut TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiPacketCommandIn (
 | 
						|
  IN  IDE_BLK_IO_DEV        *IdeDev,
 | 
						|
  IN  ATAPI_PACKET_COMMAND  *Packet,
 | 
						|
  IN  UINT16                *Buffer,
 | 
						|
  IN  UINT32                ByteCount,
 | 
						|
  IN  UINTN                 TimeOut
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Packet TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  TimeOut TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiPacketCommandOut (
 | 
						|
  IN  IDE_BLK_IO_DEV        *IdeDev,
 | 
						|
  IN  ATAPI_PACKET_COMMAND  *Packet,
 | 
						|
  IN  UINT16                *Buffer,
 | 
						|
  IN  UINT32                ByteCount,
 | 
						|
  IN  UINTN                 TimeOut
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  Read TODO: add argument description
 | 
						|
  @param  TimeOut TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
PioReadWriteData (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINT16          *Buffer,
 | 
						|
  IN  UINT32          ByteCount,
 | 
						|
  IN  BOOLEAN         Read,
 | 
						|
  IN  UINTN           TimeOut
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiTestUnitReady (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  OUT UINTN           *SenseCount
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  SenseCounts TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiRequestSense (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  OUT UINTN           *SenseCounts
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiReadCapacity (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  OUT UINTN           *SenseCount
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  MediaChange TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiDetectMedia (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  OUT BOOLEAN         *MediaChange
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  Lba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiReadSectors (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *Buffer,
 | 
						|
  IN  EFI_LBA         Lba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  Lba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiWriteSectors (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *Buffer,
 | 
						|
  IN  EFI_LBA         Lba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiSoftReset (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeBlkIoDevice TODO: add argument description
 | 
						|
  @param  MediaId TODO: add argument description
 | 
						|
  @param  LBA TODO: add argument description
 | 
						|
  @param  BufferSize TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiBlkIoReadBlocks (
 | 
						|
  IN IDE_BLK_IO_DEV   *IdeBlkIoDevice,
 | 
						|
  IN UINT32           MediaId,
 | 
						|
  IN EFI_LBA          LBA,
 | 
						|
  IN UINTN            BufferSize,
 | 
						|
  OUT VOID            *Buffer
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeBlkIoDevice TODO: add argument description
 | 
						|
  @param  MediaId TODO: add argument description
 | 
						|
  @param  LBA TODO: add argument description
 | 
						|
  @param  BufferSize TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiBlkIoWriteBlocks (
 | 
						|
  IN IDE_BLK_IO_DEV   *IdeBlkIoDevice,
 | 
						|
  IN UINT32           MediaId,
 | 
						|
  IN EFI_LBA          LBA,
 | 
						|
  IN UINTN            BufferSize,
 | 
						|
  OUT VOID            *Buffer
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  SenseCount TODO: add argument description
 | 
						|
  @param  Result TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
ParseSenseData (
 | 
						|
  IN IDE_BLK_IO_DEV     *IdeDev,
 | 
						|
  IN UINTN              SenseCount,
 | 
						|
  OUT SENSE_RESULT      *Result
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtapiReadPendingData (
 | 
						|
  IN IDE_BLK_IO_DEV     *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  WriteProtected TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
IsLS120orZipWriteProtected (
 | 
						|
  IN  IDE_BLK_IO_DEV    *IdeDev,
 | 
						|
  OUT BOOLEAN           *WriteProtected
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeBlkIoDevice TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
ReleaseIdeResources (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeBlkIoDevice
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  TransferMode TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
SetDeviceTransferMode (
 | 
						|
  IN IDE_BLK_IO_DEV       *IdeDev,
 | 
						|
  IN ATA_TRANSFER_MODE    *TransferMode
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  NativeMaxAddress TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
ReadNativeMaxAddress (
 | 
						|
  IN  IDE_BLK_IO_DEV                *IdeDev,
 | 
						|
  OUT EFI_LBA                       *NativeMaxAddress
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  MaxAddress TODO: add argument description
 | 
						|
  @param  bVolatile TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
SetMaxAddress (
 | 
						|
  IN  IDE_BLK_IO_DEV                *IdeDev,
 | 
						|
  IN  EFI_LBA                       MaxAddress,
 | 
						|
  IN  BOOLEAN                       bVolatile
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  Device TODO: add argument description
 | 
						|
  @param  Feature TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
  @param  LbaLow TODO: add argument description
 | 
						|
  @param  LbaMiddle TODO: add argument description
 | 
						|
  @param  LbaHigh TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaNonDataCommandIn (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  UINT8           Device,
 | 
						|
  IN  UINT8           Feature,
 | 
						|
  IN  UINT8           SectorCount,
 | 
						|
  IN  UINT8           LbaLow,
 | 
						|
  IN  UINT8           LbaMiddle,
 | 
						|
  IN  UINT8           LbaHigh
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  Device TODO: add argument description
 | 
						|
  @param  Feature TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
  @param  LbaAddress TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaNonDataCommandInExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  UINT8           Device,
 | 
						|
  IN  UINT16          Feature,
 | 
						|
  IN  UINT16          SectorCount,
 | 
						|
  IN  EFI_LBA         LbaAddress
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaReadSectorsExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaWriteSectorsExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaUdmaReadExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaUdmaRead (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaUdmaWriteExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  Perform an ATA Udma operation (Read, ReadExt, Write, WriteExt).
 | 
						|
  
 | 
						|
  @param[in] *IdeDev
 | 
						|
  pointer pointing to IDE_BLK_IO_DEV data structure, used
 | 
						|
  to record all the information of the IDE device.
 | 
						|
 | 
						|
  @param[in] *DataBuffer
 | 
						|
  A pointer to the source buffer for the data.
 | 
						|
 | 
						|
  @param[in] StartLba
 | 
						|
  The starting logical block address to write to
 | 
						|
  on the device media.
 | 
						|
 | 
						|
  @param[in] NumberOfBlocks
 | 
						|
  The number of transfer data blocks.
 | 
						|
  
 | 
						|
  @param[in] UdmaOp
 | 
						|
  The perform operations could be AtaUdmaReadOp, AtaUdmaReadExOp,
 | 
						|
  AtaUdmaWriteOp, AtaUdmaWriteExOp
 | 
						|
 | 
						|
  @return The device status of UDMA operation. If the operation is
 | 
						|
  successful, return EFI_SUCCESS.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
DoAtaUdma (
 | 
						|
  IN  IDE_BLK_IO_DEV      *IdeDev,
 | 
						|
  IN  VOID                *DataBuffer,
 | 
						|
  IN  EFI_LBA             StartLba,
 | 
						|
  IN  UINTN               NumberOfBlocks,
 | 
						|
  IN  ATA_UDMA_OPERATION  UdmaOp
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DataBuffer TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  NumberOfBlocks TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaUdmaWrite (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *DataBuffer,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINTN           NumberOfBlocks
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  Device TODO: add argument description
 | 
						|
  @param  Feature TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
  @param  LbaAddress TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaCommandIssueExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  UINT8           Device,
 | 
						|
  IN  UINT16          Feature,
 | 
						|
  IN  UINT16          SectorCount,
 | 
						|
  IN  EFI_LBA         LbaAddress
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  Device TODO: add argument description
 | 
						|
  @param  Feature TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
  @param  LbaAddress TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaCommandIssue (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  UINT8           Device,
 | 
						|
  IN  UINT16          Feature,
 | 
						|
  IN  UINT16          SectorCount,
 | 
						|
  IN  EFI_LBA         LbaAddress
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaAtapi6Identify (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
AtaSMARTSupport (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaPioDataInExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  OUT VOID        *Buffer,
 | 
						|
  IN  UINT32          ByteCount,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINT16          SectorCount
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  Buffer TODO: add argument description
 | 
						|
  @param  ByteCount TODO: add argument description
 | 
						|
  @param  AtaCommand TODO: add argument description
 | 
						|
  @param  StartLba TODO: add argument description
 | 
						|
  @param  SectorCount TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
AtaPioDataOutExt (
 | 
						|
  IN  IDE_BLK_IO_DEV  *IdeDev,
 | 
						|
  IN  VOID            *Buffer,
 | 
						|
  IN  UINT32          ByteCount,
 | 
						|
  IN  UINT8           AtaCommand,
 | 
						|
  IN  EFI_LBA         StartLba,
 | 
						|
  IN  UINT16          SectorCount
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
  @param  DriveParameters TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
SetDriveParameters (
 | 
						|
  IN IDE_BLK_IO_DEV       *IdeDev,
 | 
						|
  IN ATA_DRIVE_PARMS      *DriveParameters
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  TODO: Add function description
 | 
						|
 | 
						|
  @param  IdeDev TODO: add argument description
 | 
						|
 | 
						|
  TODO: add return values
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EnableInterrupt (
 | 
						|
  IN IDE_BLK_IO_DEV       *IdeDev
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
/**
 | 
						|
  Clear pending IDE interrupt before OS loader/kernel take control of the IDE device.
 | 
						|
 | 
						|
  @param[in]  Event   Pointer to this event
 | 
						|
  @param[in]  Context Event hanlder private data
 | 
						|
 | 
						|
  @retval  EFI_SUCCESS - Interrupt cleared
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
ClearInterrupt (
 | 
						|
  IN EFI_EVENT  Event,
 | 
						|
  IN VOID       *Context
 | 
						|
  )
 | 
						|
;
 | 
						|
 | 
						|
#endif
 |