From ca243131657ba03f58206a417b938aa14cff585c Mon Sep 17 00:00:00 2001 From: Feng Tian Date: Mon, 24 Jun 2013 03:03:55 +0000 Subject: MdeModulePkg/Usb: Boost the r/w performance by reducing stall time on polling cmd execution status Signed-off-by: Feng Tian Reviewed-by: Star Zeng Reviewed-by: Elvin Li git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14442 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Ppi/Usb2HostController.h | 8 +++++++- MdeModulePkg/Include/Ppi/UsbHostController.h | 10 ++++++++-- MdeModulePkg/Include/Ppi/UsbIo.h | 14 ++++++++++---- 3 files changed, 25 insertions(+), 7 deletions(-) (limited to 'MdeModulePkg/Include') diff --git a/MdeModulePkg/Include/Ppi/Usb2HostController.h b/MdeModulePkg/Include/Ppi/Usb2HostController.h index e6d00ee92e..7bcb341a94 100644 --- a/MdeModulePkg/Include/Ppi/Usb2HostController.h +++ b/MdeModulePkg/Include/Ppi/Usb2HostController.h @@ -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.
+Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
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. diff --git a/MdeModulePkg/Include/Ppi/UsbHostController.h b/MdeModulePkg/Include/Ppi/UsbHostController.h index 107b7997d2..232a666734 100644 --- a/MdeModulePkg/Include/Ppi/UsbHostController.h +++ b/MdeModulePkg/Include/Ppi/UsbHostController.h @@ -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.
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
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. diff --git a/MdeModulePkg/Include/Ppi/UsbIo.h b/MdeModulePkg/Include/Ppi/UsbIo.h index 16660f88ae..b024d4640a 100644 --- a/MdeModulePkg/Include/Ppi/UsbIo.h +++ b/MdeModulePkg/Include/Ppi/UsbIo.h @@ -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.
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
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. -- cgit v1.2.3