⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uhci.h

📁 Next BIOS Source code : Extensible Firmware Interface
💻 H
📖 第 1 页 / 共 2 页
字号:
BOOLEAN
IsQHHorizontalQHSelect(
  IN QH_STRUCT  *ptrQH
  ) ;

VOID
SetQHVerticalValidorInvalid(
  IN QH_STRUCT  *ptrQH,
  IN BOOLEAN    bValid
  ) ;

BOOLEAN
GetQHVerticalValidorInvalid(
  IN QH_STRUCT  *ptrQH
  ) ;


EFI_STATUS
AllocateTDStruct(
  IN  USB_HC_DEV          *HcDev,
  OUT TD_STRUCT           **ppTDStruct
  ) ;

VOID
InitTD(
  IN  TD_STRUCT *ptrTD
  ) ;

EFI_STATUS
CreateTD(
  IN  USB_HC_DEV          *HcDev,
  OUT TD_STRUCT           **pptrTD
  ) ;

EFI_STATUS
GenSetupStageTD(
  IN  USB_HC_DEV          *HcDev,
  IN  UINT8               DevAddr,
  IN  UINT8               Endpoint,
  IN  BOOLEAN             bSlow,
  IN  UINT8               *pDevReq,
  IN  UINT8               RequestLen,
  OUT TD_STRUCT           **ppTD
) ;
  
EFI_STATUS
GenDataTD(
  IN  USB_HC_DEV          *HcDev,
  IN  UINT8               DevAddr,
  IN  UINT8               Endpoint,
  IN  UINT8               *pData,
  IN  UINT8               Len,
  IN  UINT8               PktID,
  IN  UINT8               Toggle,
  IN  BOOLEAN             bSlow,
  OUT TD_STRUCT           **ppTD
  );


EFI_STATUS
CreateStatusTD(
  IN  USB_HC_DEV          *HcDev,
  IN  UINT8               DevAddr,
  IN  UINT8               Endpoint,
  IN  UINT8               PktID,
  IN  BOOLEAN             bSlow,
  OUT TD_STRUCT           **ppTD
  ) ;


VOID
SetTDLinkPtrValidorInvalid(
  IN  TD_STRUCT *ptrTDStruct,
  IN  BOOLEAN   bValid
  ) ;

VOID
SetTDLinkPtrQHorTDSelect(
  IN  TD_STRUCT *ptrTDStruct,
  IN  BOOLEAN   bQH
  ) ;

VOID
SetTDLinkPtrDepthorBreadth(
  IN  TD_STRUCT   *ptrTDStruct,
  IN  BOOLEAN     bDepth
  ) ;

VOID
SetTDLinkPtr(
  IN  TD_STRUCT *ptrTDStruct,
  IN  VOID      *ptrNext
  ) ;

VOID*
GetTDLinkPtr(
  IN  TD_STRUCT   *ptrTDStruct
  ) ;

VOID
EnableorDisableTDShortPacket (
  IN  TD_STRUCT   *ptrTDStruct,
  IN  BOOLEAN     bEnable
  ) ;

VOID
SetTDControlErrorCounter(
  IN  TD_STRUCT *ptrTDStruct,
  IN  UINT8     nMaxErrors
  ) ;


VOID
SetTDLoworFullSpeedDevice (
  IN  TD_STRUCT *ptrTDStruct,
  IN  BOOLEAN   bLowSpeedDevice
  ) ;

VOID
SetTDControlIsochronousorNot(
  IN  TD_STRUCT   *ptrTDStruct,
  IN  BOOLEAN     bIsochronous
  ) ;

VOID
SetorClearTDControlIOC(
  IN  TD_STRUCT *ptrTDStruct,
  IN  BOOLEAN   bSet
  ) ;

VOID
SetTDStatusActiveorInactive(
  IN  TD_STRUCT *ptrTDStruct,
  IN  BOOLEAN   bActive
  ) ;

UINT16
SetTDTokenMaxLength(
  IN  TD_STRUCT *ptrTDStruct,
  IN  UINT16    nMaxLen
  ) ;

VOID
SetTDTokenDataToggle1(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

VOID
SetTDTokenDataToggle0(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT8
GetTDTokenDataToggle(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

VOID
SetTDTokenEndPoint(
  IN  TD_STRUCT *ptrTDStruct,
  IN  UINTN     nEndPoint
  ) ;

VOID
SetTDTokenDeviceAddress(
  IN  TD_STRUCT *ptrTDStruct,
  IN  UINTN     nDevAddr
  ) ;

VOID
SetTDTokenPacketID(
  IN  TD_STRUCT *ptrTDStruct,
  IN  UINT8     nPID
  ) ;

VOID
SetTDDataBuffer(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN
IsTDStatusActive(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN
IsTDStatusStalled(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN
IsTDStatusBufferError(
  IN  TD_STRUCT *ptrTDStruct
  ) ;


BOOLEAN 
IsTDStatusBabbleError(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN
IsTDStatusNAKReceived(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN 
IsTDStatusCRCTimeOutError(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN 
IsTDStatusBitStuffError(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT16
GetTDStatusActualLength (
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT16 
GetTDTokenMaxLength(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT8 
GetTDTokenEndPoint(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT8 
GetTDTokenDeviceAddress(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT8 
GetTDTokenPacketID(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINT8*
GetTDDataBuffer(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

BOOLEAN
GetTDLinkPtrValidorInvalid(
  IN  TD_STRUCT *ptrTDStruct
  ) ;

UINTN
CountTDsNumber(
  IN  TD_STRUCT *ptrFirstTD
  ) ;

VOID
LinkTDToQH(
  IN  QH_STRUCT *ptrQH,
  IN  TD_STRUCT *ptrTD
  ) ;

VOID
LinkTDToTD(
  IN  TD_STRUCT *ptrPreTD,
  IN  TD_STRUCT *ptrTD
  ) ;


VOID
SetorClearCurFrameListTerminate(
  IN  FRAMELIST_ENTRY   *pCurEntry,
  IN  BOOLEAN           bSet
  ) ;

VOID
SetCurFrameListQHorTD(
  IN  FRAMELIST_ENTRY    *pCurEntry,
  IN  BOOLEAN             bQH
  ) ;


BOOLEAN
GetCurFrameListTerminate(
  IN  FRAMELIST_ENTRY    *pCurEntry
  ) ;

VOID
SetCurFrameListPointer(
  IN  FRAMELIST_ENTRY   *pCurEntry,
  IN  UINT8             *ptr
  );

VOID*
GetCurFrameListPointer(
  IN  FRAMELIST_ENTRY    *pCurEntry
  ) ;

VOID
LinkQHToFrameList(
  IN  FRAMELIST_ENTRY   *pEntry,
  IN  UINT16            FrameListIndex,
  IN  QH_STRUCT         *ptrQH
  );


VOID
DeleteQHTDs(
  IN  FRAMELIST_ENTRY *pEntry,
  IN  QH_STRUCT       *ptrQH,
  IN  TD_STRUCT       *ptrFirstTD,
  IN  UINT16          FrameListIndex,
  IN  BOOLEAN         SearchOther
  ) ;
  
VOID
DelLinkSingleQH (
  IN  USB_HC_DEV      *HcDev,
  IN  QH_STRUCT       *ptrQH,
  IN  UINT16          FrameListIndex,
  IN  BOOLEAN         SearchOther,
  IN  BOOLEAN         Delete
  );

VOID
DeleteQueuedTDs(
  IN  USB_HC_DEV      *HcDev,
  IN  TD_STRUCT       *ptrFirstTD
  );
  
VOID
InsertQHTDToINTList(
  IN  USB_HC_DEV                        *HcDev,
  IN  QH_STRUCT                         *ptrQH,
  IN  TD_STRUCT                         *ptrFirstTD,
  IN  UINT8                             DeviceAddress,
  IN  UINT8                             EndPointAddress,
  IN  UINT8                             DataToggle,
  IN  UINTN                             DataLength,  
  IN  UINTN                             PollingInterval,
  IN  VOID                              *Mapping,
  IN  UINT8                             *DataBuffer,
  IN  EFI_ASYNC_USB_TRANSFER_CALLBACK   CallBackFunction,
  IN  VOID                              *Context
  );

EFI_STATUS
DeleteAsyncINTQHTDs(
  IN  USB_HC_DEV  *HcDev,
  IN  UINT8       DeviceAddress,
  IN  UINT8       EndPointAddress,
  OUT UINT8       *DataToggle
  );


BOOLEAN
CheckTDsResults(
  IN  TD_STRUCT               *ptrTD,
  OUT UINT32                  *Result,
  OUT UINTN                   *ErrTDPos,
  OUT UINTN                   *ActualTransferSize
  );

VOID
ExecuteAsyncINTTDs(
  IN  USB_HC_DEV      *HcDev,
  IN  INTERRUPT_LIST  *ptrList,
  OUT UINT32          *Result,
  OUT UINTN           *ErrTDPos,
  OUT UINTN           *ActualLen
  )  ;


VOID
UpdateAsyncINTQHTDs(
  IN  INTERRUPT_LIST  *ptrList,
  IN  UINT32          Result,
  IN  UINT32          ErrTDPos
  ) ;

VOID
ClearTDStatus(
  IN  TD_STRUCT *ptrTD
  ) ;


VOID
ReleaseInterruptList(
  IN  USB_HC_DEV      *HcDev,
  IN  EFI_LIST_ENTRY  *ListHead
  ) ;

EFI_STATUS
ExecuteControlTransfer (
  IN  USB_HC_DEV  *HcDev,
  IN  TD_STRUCT   *ptrTD,
  IN  UINT32      wIndex,
  OUT UINTN       *ActualLen,
  IN  UINTN       TimeOut,
  OUT UINT32      *TransferResult
  );
  
EFI_STATUS
ExecBulkorSyncInterruptTransfer (
  IN  USB_HC_DEV  *HcDev,
  IN  TD_STRUCT   *ptrTD,
  IN  UINT32      wIndex,
  OUT UINTN       *ActualLen,
  OUT UINT8       *DataToggle,
  IN  UINTN       TimeOut,
  OUT UINT32      *TransferResult
  );    

EFI_STATUS
InitializeMemoryManagement (
  USB_HC_DEV           *HcDev
  );

EFI_STATUS
CreateMemoryBlock (
  USB_HC_DEV            *HcDev,
  MEMORY_MANAGE_HEADER  **MemoryHeader,
  UINTN                 MemoryBlockSizeInPages
  );

EFI_STATUS
FreeMemoryHeader (
  USB_HC_DEV            *HcDev,
  MEMORY_MANAGE_HEADER  *MemoryHeader
  );

EFI_STATUS
UhciAllocatePool (
  USB_HC_DEV      *UhcDev,
  UINT8           **Pool,
  UINTN           AllocSize
  );

VOID
UhciFreePool (
  USB_HC_DEV      *HcDev,
  UINT8           *Pool,
  UINTN           AllocSize
  );

VOID
InsertMemoryHeaderToList (
  MEMORY_MANAGE_HEADER  *MemoryHeader,
  MEMORY_MANAGE_HEADER  *NewMemoryHeader
  );

EFI_STATUS
AllocMemInMemoryBlock (
  MEMORY_MANAGE_HEADER  *MemoryHeader,
  VOID                  **Pool,
  UINTN                 NumberOfMemoryUnit
  );

BOOLEAN
IsMemoryBlockEmptied (
  MEMORY_MANAGE_HEADER  *MemoryHeaderPtr
  );

VOID
DelinkMemoryBlock (  
  MEMORY_MANAGE_HEADER    *FirstMemoryHeader,
  MEMORY_MANAGE_HEADER    *FreeMemoryHeader
  );

EFI_STATUS
DelMemoryManagement (
  USB_HC_DEV      *HcDev
  );

VOID
SelfLinkBulkTransferQH (
  IN  QH_STRUCT *ptrQH
  );  

VOID
EnableUhc (
  IN EFI_PCI_IO_PROTOCOL  *PciIo
  );

VOID
EnableMaxPacketSize (
  USB_HC_DEV          *HcDev
  );

EFI_STATUS
GenPseudoTD (
  USB_HC_DEV      *HcDev,
  UINT8           DeviceAddress,
  UINT8           Endpoint,
  UINT8           PktID,
  UINT8           DataToggle,
  BOOLEAN         bSlowDevice,
  TD_STRUCT       **ppTD  
  );
  
VOID
MakeQHLoop (
  QH_STRUCT   *PseudoQH,
  QH_STRUCT   *ptrQH
  );
  
BOOLEAN
IsQHsLooped (
  QH_STRUCT   *CurrentQH,
  QH_STRUCT   **LastLoopQH
  );
  
VOID
CleanUsbTransactions (
  USB_HC_DEV    *HcDev
  );

VOID
TurnOffUSBEmulation (
  IN EFI_PCI_IO_PROTOCOL  *PciIo  
  );

#endif  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -