]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/UhciDxe/Uhci.h
Fixed unexpected timeout in Usb MassStorage Driver.
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / UhciDxe / Uhci.h
index 27d7497b879288c275a4a30e90bf6eb109c13d74..e7b4447def9953b1faaf933b0ed2215a6a233cd1 100644 (file)
@@ -51,25 +51,43 @@ typedef struct _USB_HC_DEV  USB_HC_DEV;
 #include "UhciDebug.h"\r
 \r
 enum {\r
+  UHC_1_MICROSECOND             = 1,\r
+  UHC_1_MILLISECOND             = 1000 * UHC_1_MICROSECOND,\r
+  UHC_1_SECOND                  = 1000 * UHC_1_MILLISECOND,\r
+\r
+  //\r
+  // UHCI register operation timeout, set by experience\r
   //\r
-  // Stall times\r
+  UHC_GENERIC_TIMEOUT           = UHC_1_SECOND,\r
+  \r
   //\r
-  STALL_1_MS               = 1000,\r
-  STALL_1_SECOND           = 1000 *STALL_1_MS,\r
+  // Wait for force global resume(FGR) complete, refers to\r
+  // specification[UHCI11-2.1.1]\r
+  // \r
+  UHC_FORCE_GLOBAL_RESUME_STALL = 20 * UHC_1_MILLISECOND,\r
 \r
-  UHC_SYN_POLL             = 50,\r
-  FORCE_GLOBAL_RESUME_TIME = 20 *STALL_1_MS,\r
-  ROOT_PORT_REST_TIME      = 50 *STALL_1_MS,\r
-  PORT_RESET_RECOVERY_TIME = 10 *STALL_1_MS,\r
-  INTERRUPT_POLLING_TIME   = 50 * 10000UL,\r
+  //\r
+  // Wait for roothub port reset and recovery, reset stall\r
+  // is set by experience, and recovery stall refers to \r
+  // specification[UHCI11-2.1.1]\r
+  //\r
+  UHC_ROOT_PORT_RESET_STALL     = 50 * UHC_1_MILLISECOND,\r
+  UHC_ROOT_PORT_RECOVERY_STALL  = 10 * UHC_1_MILLISECOND,\r
 \r
+  //\r
+  // Sync and Async transfer polling interval, set by experience, \r
+  // and the unit of Async is 100us.\r
+  //\r
+  UHC_SYNC_POLL_INTERVAL        = 50 * UHC_1_MICROSECOND,\r
+  UHC_ASYNC_POLL_INTERVAL       = 50 * 10000UL,\r
+  \r
   //\r
   // UHC raises TPL to TPL_NOTIFY to serialize all its operations\r
   // to protect shared data structures.\r
   //\r
   UHCI_TPL                 = TPL_NOTIFY,\r
 \r
-  USB_HC_DEV_SIGNATURE     = EFI_SIGNATURE_32 ('u', 'h', 'c', 'i')\r
+  USB_HC_DEV_SIGNATURE          = EFI_SIGNATURE_32 ('u', 'h', 'c', 'i'),\r
 };\r
 \r
 #pragma pack(1)\r
@@ -128,7 +146,8 @@ struct _USB_HC_DEV {
   VOID                      *FrameMapping;\r
 };\r
 \r
-extern EFI_DRIVER_BINDING_PROTOCOL  gUhciDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL  gUhciComponentName;\r
+extern EFI_DRIVER_BINDING_PROTOCOL   gUhciDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL   gUhciComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL  gUhciComponentName2;\r
 \r
 #endif\r