TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | UHCI_QH_RESULT |
struct | _UHCI_ASYNC_REQUEST |
Macros | |
#define | UHCI_ASYNC_INT_SIGNATURE SIGNATURE_32 ('u', 'h', 'c', 'a') |
#define | USB_ERR_FAIL_MASK |
#define | UHCI_ASYNC_INT_FROM_LINK(a) CR (a, UHCI_ASYNC_REQUEST, Link, UHCI_ASYNC_INT_SIGNATURE) |
Typedefs | |
typedef struct _UHCI_ASYNC_REQUEST | UHCI_ASYNC_REQUEST |
Functions | |
EFI_STATUS | UhciInitFrameList (IN USB_HC_DEV *Uhc) |
VOID | UhciDestoryFrameList (IN USB_HC_DEV *Uhc) |
UINTN | UhciConvertPollRate (IN UINTN Interval) |
VOID | UhciLinkQhToFrameList (USB_HC_DEV *Uhc, UHCI_QH_SW *Qh) |
VOID | UhciUnlinkQhFromFrameList (USB_HC_DEV *Uhc, UHCI_QH_SW *Qh) |
EFI_STATUS | UhciExecuteTransfer (IN USB_HC_DEV *Uhc, IN UHCI_QH_SW *Qh, IN UHCI_TD_SW *Td, IN UINTN TimeOut, IN BOOLEAN IsLow, OUT UHCI_QH_RESULT *QhResult) |
EFI_STATUS | UhciCreateAsyncReq (IN USB_HC_DEV *Uhc, IN UHCI_QH_SW *Qh, IN UHCI_TD_SW *FirstTd, IN UINT8 DevAddr, IN UINT8 EndPoint, IN UINTN DataLen, IN UINTN Interval, IN UINT8 *Data, IN EFI_ASYNC_USB_TRANSFER_CALLBACK Callback, IN VOID *Context, IN BOOLEAN IsLow) |
EFI_STATUS | UhciRemoveAsyncReq (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 EndPoint, OUT UINT8 *Toggle) |
VOID | UhciFreeAllAsyncReq (IN USB_HC_DEV *Uhc) |
VOID EFIAPI | UhciMonitorAsyncReqList (IN EFI_EVENT Event, IN VOID *Context) |
The definition for EHCI register operation routines.
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UhciSched.h.
#define UHCI_ASYNC_INT_FROM_LINK | ( | a | ) | CR (a, UHCI_ASYNC_REQUEST, Link, UHCI_ASYNC_INT_SIGNATURE) |
Definition at line 71 of file UhciSched.h.
#define UHCI_ASYNC_INT_SIGNATURE SIGNATURE_32 ('u', 'h', 'c', 'a') |
Definition at line 13 of file UhciSched.h.
#define USB_ERR_FAIL_MASK |
Definition at line 20 of file UhciSched.h.
typedef struct _UHCI_ASYNC_REQUEST UHCI_ASYNC_REQUEST |
Definition at line 37 of file UhciSched.h.
Convert the poll rate to the maxium 2^n that is smaller than Interval.
Interval | The poll rate to convert. |
Convert the poll rate to the maximum 2^n that is smaller than Interval.
Interval | The poll rate to convert. |
Definition at line 209 of file UhciSched.c.
EFI_STATUS UhciCreateAsyncReq | ( | IN USB_HC_DEV * | Uhc, |
IN UHCI_QH_SW * | Qh, | ||
IN UHCI_TD_SW * | FirstTd, | ||
IN UINT8 | DevAddr, | ||
IN UINT8 | EndPoint, | ||
IN UINTN | DataLen, | ||
IN UINTN | Interval, | ||
IN UINT8 * | Data, | ||
IN EFI_ASYNC_USB_TRANSFER_CALLBACK | Callback, | ||
IN VOID * | Context, | ||
IN BOOLEAN | IsLow | ||
) |
Create Async Request node, and Link to List.
Uhc | The UHCI device. |
Qh | The queue head of the transfer. |
FirstTd | First TD of the transfer. |
DevAddr | Device Address. |
EndPoint | EndPoint Address. |
DataLen | Data length. |
Interval | Polling Interval when inserted to frame list. |
Data | Data buffer, unmapped. |
Callback | Callback after interrupt transfeer. |
Context | Callback Context passed as function parameter. |
IsLow | Is Low Speed. |
EFI_SUCCESS | An asynchronous transfer is created. |
EFI_INVALID_PARAMETER | Paremeter is error. |
EFI_OUT_OF_RESOURCES | Failed because of resource shortage. |
Definition at line 683 of file UhciSched.c.
VOID UhciDestoryFrameList | ( | IN USB_HC_DEV * | Uhc | ) |
Destory FrameList buffer.
Uhc | The UHCI device. |
Destory FrameList buffer.
Uhc | The UHCI device. |
Definition at line 159 of file UhciSched.c.
EFI_STATUS UhciExecuteTransfer | ( | IN USB_HC_DEV * | Uhc, |
IN UHCI_QH_SW * | Qh, | ||
IN UHCI_TD_SW * | Td, | ||
IN UINTN | TimeOut, | ||
IN BOOLEAN | IsLow, | ||
OUT UHCI_QH_RESULT * | QhResult | ||
) |
Check the result of the transfer.
Uhc | The UHCI device. |
Qh | The queue head of the transfer. |
Td | The first TDs of the transfer. |
TimeOut | TimeOut value in milliseconds. |
IsLow | Is Low Speed Device. |
QhResult | The variable to return result. |
EFI_SUCCESS | The transfer finished with success. |
EFI_DEVICE_ERROR | Transfer failed. |
Definition at line 558 of file UhciSched.c.
VOID UhciFreeAllAsyncReq | ( | IN USB_HC_DEV * | Uhc | ) |
Release all the asynchronous transfers on the lsit.
Uhc | The UHCI device. |
Release all the asynchronous transfers on the lsit.
Uhc | The UHCI device. |
Definition at line 907 of file UhciSched.c.
EFI_STATUS UhciInitFrameList | ( | IN USB_HC_DEV * | Uhc | ) |
Create Frame List Structure.
Uhc | The UHCI device. |
Create Frame List Structure.
Uhc | UHCI device. |
EFI_OUT_OF_RESOURCES | Can't allocate memory resources. |
EFI_UNSUPPORTED | Map memory fail. |
EFI_SUCCESS | Success. |
Definition at line 23 of file UhciSched.c.
VOID UhciLinkQhToFrameList | ( | USB_HC_DEV * | Uhc, |
UHCI_QH_SW * | Qh | ||
) |
Link a queue head (for asynchronous interrupt transfer) to the frame list.
Uhc | The UHCI device. |
Qh | The queue head to link into. |
Definition at line 247 of file UhciSched.c.
Interrupt transfer periodic check handler.
Event | The event of the time. |
Context | Context of the event, pointer to USB_HC_DEV. |
Interrupt transfer periodic check handler.
Event | The event of the time. |
Context | Context of the event, pointer to USB_HC_DEV. |
Definition at line 943 of file UhciSched.c.
EFI_STATUS UhciRemoveAsyncReq | ( | IN USB_HC_DEV * | Uhc, |
IN UINT8 | DevAddr, | ||
IN UINT8 | EndPoint, | ||
OUT UINT8 * | Toggle | ||
) |
Delete Async Interrupt QH and TDs.
Uhc | The UHCI device. |
DevAddr | Device Address. |
EndPoint | EndPoint Address. |
Toggle | The next data toggle to use. |
EFI_SUCCESS | The request is deleted. |
EFI_INVALID_PARAMETER | Paremeter is error. |
EFI_NOT_FOUND | The asynchronous isn't found. |
Definition at line 808 of file UhciSched.c.
VOID UhciUnlinkQhFromFrameList | ( | USB_HC_DEV * | Uhc, |
UHCI_QH_SW * | Qh | ||
) |
Unlink QH from the frame list is easier: find all the precedence node, and pointer there next to QhSw's next.
Uhc | The UHCI device. |
Qh | The queue head to unlink. |
Definition at line 355 of file UhciSched.c.