Add function doxygen header for PciBus module.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5066 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2
2008-04-15 08:52:18 +00:00
parent 4e4a057b72
commit a3b8e25782
12 changed files with 1471 additions and 2540 deletions

View File

@ -14,205 +14,150 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef _EFI_PCI_DEVICE_SUPPORT_H
#define _EFI_PCI_DEVICE_SUPPORT_H
/**
Initialize the gPciDevicePool
**/
EFI_STATUS
InitializePciDevicePool (
VOID
)
/**
Routine Description:
TODO: Add function description
Arguments:
None
Returns:
TODO: add return values
**/
;
/**
Insert a root bridge into PCI device pool
@param RootBridge - A pointer to the PCI_IO_DEVICE.
**/
EFI_STATUS
InsertRootBridge (
PCI_IO_DEVICE *RootBridge
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridge - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
This function is used to insert a PCI device node under
a bridge
@param Bridge A pointer to the PCI_IO_DEVICE.
@param PciDeviceNode A pointer to the PCI_IO_DEVICE.
**/
EFI_STATUS
InsertPciDevice (
PCI_IO_DEVICE *Bridge,
PCI_IO_DEVICE *PciDeviceNode
)
/**
Routine Description:
TODO: Add function description
Arguments:
Bridge - TODO: add argument description
PciDeviceNode - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Destroy root bridge and remove it from deivce tree.
@param RootBridge The bridge want to be removed
**/
EFI_STATUS
DestroyRootBridge (
IN PCI_IO_DEVICE *RootBridge
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridge - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Destroy all the pci device node under the bridge.
Bridge itself is not included.
@param Bridge A pointer to the PCI_IO_DEVICE.
**/
EFI_STATUS
DestroyPciDeviceTree (
IN PCI_IO_DEVICE *Bridge
)
/**
Routine Description:
TODO: Add function description
Arguments:
Bridge - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Destroy all device nodes under the root bridge
specified by Controller.
The root bridge itself is also included.
@param Controller An efi handle.
**/
EFI_STATUS
DestroyRootBridgeByHandle (
EFI_HANDLE Controller
)
/**
Routine Description:
TODO: Add function description
Arguments:
Controller - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
This function registers the PCI IO device. It creates a handle for this PCI IO device
(if the handle does not exist), attaches appropriate protocols onto the handle, does
necessary initialization, and sets up parent/child relationship with its bus controller.
@param Controller - An EFI handle for the PCI bus controller.
@param PciIoDevice - A PCI_IO_DEVICE pointer to the PCI IO device to be registered.
@param Handle - A pointer to hold the EFI handle for the PCI IO device.
@retval EFI_SUCCESS - The PCI device is successfully registered.
@retval Others - An error occurred when registering the PCI device.
**/
EFI_STATUS
RegisterPciDevice (
IN EFI_HANDLE Controller,
IN PCI_IO_DEVICE *PciIoDevice,
OUT EFI_HANDLE *Handle OPTIONAL
)
/**
Routine Description:
TODO: Add function description
Arguments:
Controller - TODO: add argument description
PciIoDevice - TODO: add argument description
Handle - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
This function is used to remove the whole PCI devices from the bridge.
@param RootBridgeHandle An efi handle.
@param Bridge A pointer to the PCI_IO_DEVICE.
@retval EFI_SUCCESS
**/
EFI_STATUS
RemoveAllPciDeviceOnBridge (
EFI_HANDLE RootBridgeHandle,
PCI_IO_DEVICE *Bridge
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridgeHandle - TODO: add argument description
Bridge - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
This function is used to de-register the PCI device from the EFI,
That includes un-installing PciIo protocol from the specified PCI
device handle.
@param Controller - controller handle
@param Handle - device handle
@return Status of de-register pci device
**/
EFI_STATUS
DeRegisterPciDevice (
IN EFI_HANDLE Controller,
IN EFI_HANDLE Handle
)
/**
Routine Description:
TODO: Add function description
Arguments:
Controller - TODO: add argument description
Handle - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Start to manage the PCI device on specified the root bridge or PCI-PCI Bridge
@param Controller An efi handle.
@param RootBridge A pointer to the PCI_IO_DEVICE.
@param RemainingDevicePath A pointer to the EFI_DEVICE_PATH_PROTOCOL.
@param NumberOfChildren Children number.
@param ChildHandleBuffer A pointer to the child handle buffer.
@retval EFI_NOT_READY Device is not allocated
@retval EFI_UNSUPPORTED Device only support PCI-PCI bridge.
@retval EFI_NOT_FOUND Can not find the specific device
@retval EFI_SUCCESS Success to start Pci device on bridge
**/
EFI_STATUS
StartPciDevicesOnBridge (
IN EFI_HANDLE Controller,
@ -221,245 +166,138 @@ StartPciDevicesOnBridge (
IN OUT UINT8 *NumberOfChildren,
IN OUT EFI_HANDLE *ChildHandleBuffer
)
/**
Routine Description:
TODO: Add function description
Arguments:
Controller - TODO: add argument description
RootBridge - TODO: add argument description
RemainingDevicePath - TODO: add argument description
NumberOfChildren - TODO: add argument description
ChildHandleBuffer - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Start to manage all the PCI devices it found previously under
the entire host bridge.
@param Controller - root bridge handle.
**/
EFI_STATUS
StartPciDevices (
IN EFI_HANDLE Controller
)
/**
Routine Description:
TODO: Add function description
Arguments:
Controller - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Create root bridge device
@param RootBridgeHandle - Parent bridge handle.
@return pointer to new root bridge
**/
PCI_IO_DEVICE *
CreateRootBridge (
IN EFI_HANDLE RootBridgeHandle
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridgeHandle - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Get root bridge device instance by specific handle
@param RootBridgeHandle Given root bridge handle
@return root bridge device instance
**/
PCI_IO_DEVICE *
GetRootBridgeByHandle (
EFI_HANDLE RootBridgeHandle
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridgeHandle - TODO: add argument description
Returns:
TODO: add return values
**/
;
BOOLEAN
RootBridgeExisted (
IN EFI_HANDLE RootBridgeHandle
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridgeHandle - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Judege whether Pci device existed
@param Bridge Parent bridege instance
@param PciIoDevice Device instance
@return whether Pci device existed
**/
BOOLEAN
PciDeviceExisted (
IN PCI_IO_DEVICE *Bridge,
IN PCI_IO_DEVICE *PciIoDevice
)
/**
Routine Description:
TODO: Add function description
Arguments:
Bridge - TODO: add argument description
PciIoDevice - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Active VGA device
@param VgaDevice device instance for VGA
@return device instance
**/
PCI_IO_DEVICE *
ActiveVGADeviceOnTheSameSegment (
IN PCI_IO_DEVICE *VgaDevice
)
/**
Routine Description:
TODO: Add function description
Arguments:
VgaDevice - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Active VGA device on root bridge
@param RootBridge Root bridge device instance
@return VGA device instance
**/
PCI_IO_DEVICE *
ActiveVGADeviceOnTheRootBridge (
IN PCI_IO_DEVICE *RootBridge
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridge - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Get HPC PCI address according to its device path
@param PciRootBridgeIo Root bridege Io instance
@param HpcDevicePath Given searching device path
@param PciAddress Buffer holding searched result
@retval EFI_NOT_FOUND Can not find the specific device path.
@retval EFI_SUCCESS Success to get the device path
**/
EFI_STATUS
GetHpcPciAddress (
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,
IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath,
OUT UINT64 *PciAddress
)
/**
Routine Description:
TODO: Add function description
Arguments:
PciRootBridgeIo - TODO: add argument description
HpcDevicePath - TODO: add argument description
PciAddress - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Get HPC PCI address according to its device path
@param RootBridge Root bridege Io instance
@param RemainingDevicePath Given searching device path
@param PciAddress Buffer holding searched result
@retval EFI_NOT_FOUND Can not find the specific device path.
**/
EFI_STATUS
GetHpcPciAddressFromRootBridge (
IN PCI_IO_DEVICE *RootBridge,
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath,
OUT UINT64 *PciAddress
)
/**
Routine Description:
TODO: Add function description
Arguments:
RootBridge - TODO: add argument description
RemainingDevicePath - TODO: add argument description
PciAddress - TODO: add argument description
Returns:
TODO: add return values
**/
;
/**
Destroy a pci device node.
Also all direct or indirect allocated resource for this node will be freed.
@param PciIoDevice A pointer to the PCI_IO_DEVICE.
**/
EFI_STATUS
FreePciDevice (
IN PCI_IO_DEVICE *PciIoDevice
)
/**
Routine Description:
TODO: Add function description
Arguments:
PciIoDevice - TODO: add argument description
Returns:
TODO: add return values
**/
;
#endif