X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FBus%2FPci%2FEhciDxe%2FEhci.h;h=50a3f1c69893d7eae0601a1b1a39ede248d531cc;hp=2398b15667fb4b52e0fbfa4e9e53fd00b40477f7;hb=68246fa809e4a8ab61ce7bbfdd1a0b31d03e83fb;hpb=ed7748fe4a5575adea8055c6da5948fbee65fd7a diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h index 2398b15667..50a3f1c698 100644 --- a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h +++ b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h @@ -49,18 +49,35 @@ typedef struct _USB2_HC_DEV USB2_HC_DEV; #include "EhciDebug.h" enum { - USB2_HC_DEV_SIGNATURE = EFI_SIGNATURE_32 ('e', 'h', 'c', 'i'), - EHC_STALL_1_MICROSECOND = 1, - EHC_STALL_1_MILLISECOND = 1000 * EHC_STALL_1_MICROSECOND, - EHC_STALL_1_SECOND = 1000 * EHC_STALL_1_MILLISECOND, - - EHC_SET_PORT_RESET_TIME = 50 * EHC_STALL_1_MILLISECOND, - EHC_CLEAR_PORT_RESET_TIME = EHC_STALL_1_MILLISECOND, - EHC_GENERIC_TIME = 10 * EHC_STALL_1_MILLISECOND, - EHC_SYNC_POLL_TIME = 20 * EHC_STALL_1_MICROSECOND, - EHC_ASYNC_POLL_TIME = 50 * 10000UL, // The unit of time is 100us - - EHC_TPL = TPL_NOTIFY + EHC_1_MICROSECOND = 1, + EHC_1_MILLISECOND = 1000 * EHC_1_MICROSECOND, + EHC_1_SECOND = 1000 * EHC_1_MILLISECOND, + + // + // EHCI register operation timeout, set by experience + // + EHC_RESET_TIMEOUT = 1 * EHC_1_SECOND, + EHC_GENERIC_TIMEOUT = 10 * EHC_1_MILLISECOND, + + // + // Wait for roothub port power stable, refers to Spec[EHCI1.0-2.3.9] + // + EHC_ROOT_PORT_RECOVERY_STALL = 20 * EHC_1_MILLISECOND, + + // + // Sync and Async transfer polling interval, set by experience, + // and the unit of Async is 100us, means 50ms as interval. + // + EHC_SYNC_POLL_INTERVAL = 20 * EHC_1_MICROSECOND, + EHC_ASYNC_POLL_INTERVAL = 50 * 10000U, + + // + // EHC raises TPL to TPL_NOTIFY to serialize all its operations + // to protect shared data structures. + // + EHC_TPL = TPL_NOTIFY, + + USB2_HC_DEV_SIGNATURE = EFI_SIGNATURE_32 ('e', 'h', 'c', 'i') }; // @@ -94,6 +111,7 @@ struct _USB2_HC_DEV { EFI_USB2_HC_PROTOCOL Usb2Hc; EFI_PCI_IO_PROTOCOL *PciIo; + UINT64 OriginalPciAttributes; USBHC_MEM_POOL *MemPool; // @@ -140,7 +158,8 @@ struct _USB2_HC_DEV { }; -extern EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding; -extern EFI_COMPONENT_NAME_PROTOCOL gEhciComponentName; +extern EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gEhciComponentName; +extern EFI_COMPONENT_NAME2_PROTOCOL gEhciComponentName2; #endif