|
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.