]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/PciIo.h
Code Scrub for Protocol and Ppi Definition
[mirror_edk2.git] / MdePkg / Include / Protocol / PciIo.h
index cb3c3bcdf7e59f926087e4ff7eb96561bfe745c8..09d0ea7773b0d0a939e70e65f5da02e4c459f37b 100644 (file)
@@ -1,7 +1,8 @@
 /** @file\r
-  EFI PCI I/O Protocol\r
+  EFI PCI I/O Protocol provides the basic Memory, I/O, PCI configuration, \r
+  and DMA interfaces that a driver uses to access its PCI controller.\r
 \r
-  Copyright (c) 2006, Intel Corporation                                                         \r
+  Copyright (c) 2006 - 2008, 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
@@ -473,9 +474,84 @@ EFI_STATUS
   IN OUT UINT64                       *Length\r
   );\r
 \r
-//\r
-// Interface structure for the PCI I/O Protocol\r
-//\r
+/**  \r
+  @par Protocol Description:\r
+  The EFI_PCI_IO_PROTOCOL provides the basic Memory, I/O, PCI configuration, \r
+  and DMA interfaces that are used to abstract accesses to PCI controllers. \r
+  There is one EFI_PCI_IO_PROTOCOL instance for each PCI controller on a PCI bus. \r
+  A device driver that wishes to manage a PCI controller in a system will have to \r
+  retrieve the EFI_PCI_IO_PROTOCOL instance that is associated with the PCI controller. \r
+\r
+  @param PollMem\r
+  Polls an address in PCI memory space until an exit condition is met, or a timeout occurs. \r
+\r
+  @param PollIo\r
+  Polls an address in PCI I/O space until an exit condition is met, or a timeout occurs. \r
+\r
+  @param Mem.Read\r
+  Allows BAR relative reads to PCI memory space. \r
+\r
+  @param Mem.Write\r
+  Allows BAR relative writes to PCI memory space. \r
+\r
+  @param Io.Read\r
+  Allows BAR relative reads to PCI I/O space. \r
+\r
+  @param Io.Write\r
+  Allows BAR relative writes to PCI I/O space. \r
+\r
+  @param Pci.Read\r
+  Allows PCI controller relative reads to PCI configuration space. \r
+\r
+  @param Pci.Write\r
+  Allows PCI controller relative writes to PCI configuration space. \r
+\r
+  @param CopyMem\r
+  Allows one region of PCI memory space to be copied to another region of PCI memory space. \r
+\r
+  @param Map\r
+  Provides the PCI controller's specific address needed to access system memory for DMA. \r
+\r
+  @param Unmap\r
+  Releases any resources allocated by Map(). \r
+\r
+  @param AllocateBuffer\r
+  Allocates pages that are suitable for a common buffer mapping. \r
+\r
+  @param FreeBuffer\r
+  Frees pages that were allocated with AllocateBuffer(). \r
+\r
+  @param Flush\r
+  Flushes all PCI posted write transactions to system memory. \r
+\r
+  @param GetLocation\r
+  Retrieves this PCI controller's current PCI bus number, device number, and function number. \r
+\r
+  @param Attributes\r
+  Performs an operation on the attributes that this PCI controller supports. \r
+  The operations include getting the set of supported attributes, retrieving \r
+  the current attributes, setting the current\r
+  attributes, enabling attributes, and disabling attributes. \r
+\r
+  @param GetBarAttributes\r
+  Gets the attributes that this PCI controller supports setting on a BAR using \r
+  SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. \r
+\r
+  @param SetBarAttributes\r
+  Sets the attributes for a range of a BAR on a PCI controller. \r
+\r
+  @param RomSize\r
+  The size, in bytes, of the ROM image.\r
+\r
+  @param RomImage\r
+  A pointer to the in memory copy of the ROM image. The PCI Bus Driver is responsible \r
+  for allocating memory for the ROM image, and copying the contents of the ROM to memory. \r
+  The contents of this buffer are either from the PCI option ROM that can be accessed \r
+  through the ROM BAR of the PCI controller, or it is from a platform-specific location. \r
+  The Attributes() function can be used to determine from which of these two sources \r
+  the RomImage buffer was initialized.\r
+\r
+**/\r
 struct _EFI_PCI_IO_PROTOCOL {\r
   EFI_PCI_IO_PROTOCOL_POLL_IO_MEM         PollMem;\r
   EFI_PCI_IO_PROTOCOL_POLL_IO_MEM         PollIo;\r