MdeModulePkg/Usb: Boost the r/w performance by reducing stall time on polling cmd execution status

Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14442 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Feng Tian
2013-06-24 03:03:55 +00:00
committed by erictian
parent 22feb630eb
commit ca24313165
13 changed files with 104 additions and 38 deletions

View File

@@ -5,7 +5,7 @@
Refer to section 16.1 of the UEFI 2.3 Specification for more information on
these interfaces.
Copyright (c) 2010, Intel Corporation. All rights reserved. <BR>
Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved. <BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@@ -62,6 +62,9 @@ typedef struct _PEI_USB2_HOST_CONTROLLER_PPI PEI_USB2_HOST_CONTROLLER_PPI;
actually transferred.
@param[in] TimeOut Indicates the maximum time, in milliseconds,
that the transfer is allowed to complete.
If Timeout is 0, then the caller must wait for
the function to be completed until EFI_SUCCESS
or EFI_DEVICE_ERROR is returned.
@param[in] Translator A pointer to the transaction translator data.
@param[out] TransferResult A pointer to the detailed result information
generated by this control transfer.
@@ -114,6 +117,9 @@ EFI_STATUS
@param[in,out] DataToggle A pointer to the data toggle value.
@param[in] TimeOut Indicates the maximum time, in milliseconds,
in which the transfer is allowed to complete.
If Timeout is 0, then the caller must wait for
the function to be completed until EFI_SUCCESS
or EFI_DEVICE_ERROR is returned.
@param[in] Translator A pointer to the transaction translator data.
@param[out] TransferResult A pointer to the detailed result information
of the bulk transfer.

View File

@@ -5,7 +5,7 @@
Refer to section 16.1 of the UEFI 2.3 Specification for more information on
these interfaces.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@@ -61,7 +61,10 @@ typedef struct _PEI_USB_HOST_CONTROLLER_PPI PEI_USB_HOST_CONTROLLER_PPI;
On output, indicates the amount of data
actually transferred.
@param[in] TimeOut Indicates the maximum time, in milliseconds,
that the transfer is allowed to complete.
that the transfer is allowed to complete.
If Timeout is 0, then the caller must wait for
the function to be completed until EFI_SUCCESS
or EFI_DEVICE_ERROR is returned.
@param[out] TransferResult A pointer to the detailed result information
generated by this control transfer.
@@ -107,6 +110,9 @@ EFI_STATUS
@param[in,out] DataToggle A pointer to the data toggle value.
@param[in] TimeOut Indicates the maximum time, in milliseconds,
in which the transfer is allowed to complete.
If Timeout is 0, then the caller must wait for
the function to be completed until EFI_SUCCESS
or EFI_DEVICE_ERROR is returned.
@param[out] TransferResult A pointer to the detailed result information
of the bulk transfer.

View File

@@ -6,7 +6,7 @@
Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on
these interfaces.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@@ -47,8 +47,11 @@ typedef struct _PEI_USB_IO_PPI PEI_USB_IO_PPI;
@param[in] Direction Specifies the data direction for the transfer. There
are three values available:
EfiUsbDataIn, EfiUsbDataOut and EfiUsbNoData.
@param[in] TimeOut Indicates the maximum time, in milliseconds, that
@param[in] Timeout Indicates the maximum time, in milliseconds, that
the transfer is allowed to complete.
If Timeout is 0, then the caller must wait for the
function to be completed until EFI_SUCCESS or
EFI_DEVICE_ERROR is returned.
@param[in,out] Data A pointer to the buffer of data that will be
transmitted to or received from the USB device.
@param[in] DataLength On input, indicates the size, in bytes, of the data
@@ -82,10 +85,13 @@ EFI_STATUS
@param[in] PeiServices The pointer to the PEI Services Table.
@param[in] This The pointer to this instance of the PEI_USB_IO_PPI.
@param[in] EndPointAddress The endpoint address.
@param[in] DeviceEndpoint The endpoint address.
@param[in] Data The data buffer to be transfered.
@param[in] DataLength The length of data buffer.
@param[in] TimeOut The timeout for the transfer, in milliseconds.
@param[in] Timeout The timeout for the transfer, in milliseconds.
If Timeout is 0, then the caller must wait for the
function to be completed until EFI_SUCCESS or
EFI_DEVICE_ERROR is returned.
@retval EFI_SUCCESS The bulk transfer completed successfully.
@retval EFI_INVALID_PARAMETER Some parameters are invalid.