TianoCore EDK2 master
|
#include "EhcPeim.h"
Go to the source code of this file.
Functions | |
PEI_EHC_QTD * | EhcCreateQtd (IN PEI_USB2_HC_DEV *Ehc, IN UINT8 *Data, IN UINTN DataLen, IN UINT8 PktId, IN UINT8 Toggle, IN UINTN MaxPacket) |
VOID | EhcInitIntQh (IN USB_ENDPOINT *Ep, IN QH_HW *QhHw) |
PEI_EHC_QH * | EhcCreateQh (IN PEI_USB2_HC_DEV *Ehci, IN USB_ENDPOINT *Ep) |
UINTN | EhcConvertPollRate (IN UINTN Interval) |
VOID | EhcFreeQtds (IN PEI_USB2_HC_DEV *Ehc, IN EFI_LIST_ENTRY *Qtds) |
VOID | EhcFreeUrb (IN PEI_USB2_HC_DEV *Ehc, IN PEI_URB *Urb) |
EFI_STATUS | EhcCreateQtds (IN PEI_USB2_HC_DEV *Ehc, IN PEI_URB *Urb) |
PEI_URB * | EhcCreateUrb (IN PEI_USB2_HC_DEV *Ehc, IN UINT8 DevAddr, IN UINT8 EpAddr, IN UINT8 DevSpeed, IN UINT8 Toggle, IN UINTN MaxPacket, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Hub, IN UINTN Type, IN EFI_USB_DEVICE_REQUEST *Request, IN VOID *Data, IN UINTN DataLen, IN EFI_ASYNC_USB_TRANSFER_CALLBACK Callback, IN VOID *Context, IN UINTN Interval) |
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid which is used to enable recovery function from USB Drivers.
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file EhciUrb.c.
Convert the poll interval from application to that be used by EHCI interface data structure. Only need to get the max 2^n that is less than interval. UEFI can't support high speed endpoint with a interval less than 8 microframe because interval is specified in the unit of ms (millisecond).
Interval | The interval to convert. |
The | converted interval. |
PEI_EHC_QH * EhcCreateQh | ( | IN PEI_USB2_HC_DEV * | Ehci, |
IN USB_ENDPOINT * | Ep | ||
) |
PEI_EHC_QTD * EhcCreateQtd | ( | IN PEI_USB2_HC_DEV * | Ehc, |
IN UINT8 * | Data, | ||
IN UINTN | DataLen, | ||
IN UINT8 | PktId, | ||
IN UINT8 | Toggle, | ||
IN UINTN | MaxPacket | ||
) |
Delete a single asynchronous interrupt transfer for the device and endpoint.
Ehc | The EHCI device. |
Data | Current data not associated with a QTD. |
DataLen | The length of the data. |
PktId | Packet ID to use in the QTD. |
Toggle | Data toggle to use in the QTD. |
MaxPacket | Maximu packet length of the endpoint. |
the | pointer to the created QTD or NULL if failed to create one. |
EFI_STATUS EhcCreateQtds | ( | IN PEI_USB2_HC_DEV * | Ehc, |
IN PEI_URB * | Urb | ||
) |
PEI_URB * EhcCreateUrb | ( | IN PEI_USB2_HC_DEV * | Ehc, |
IN UINT8 | DevAddr, | ||
IN UINT8 | EpAddr, | ||
IN UINT8 | DevSpeed, | ||
IN UINT8 | Toggle, | ||
IN UINTN | MaxPacket, | ||
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR * | Hub, | ||
IN UINTN | Type, | ||
IN EFI_USB_DEVICE_REQUEST * | Request, | ||
IN VOID * | Data, | ||
IN UINTN | DataLen, | ||
IN EFI_ASYNC_USB_TRANSFER_CALLBACK | Callback, | ||
IN VOID * | Context, | ||
IN UINTN | Interval | ||
) |
Create a new URB and its associated QTD.
Ehc | The EHCI device. |
DevAddr | The device address. |
EpAddr | Endpoint addrress & its direction. |
DevSpeed | The device speed. |
Toggle | Initial data toggle to use. |
MaxPacket | The max packet length of the endpoint. |
Hub | The transaction translator to use. |
Type | The transaction type. |
Request | The standard USB request for control transfer. |
Data | The user data to transfer. |
DataLen | The length of data buffer. |
Callback | The function to call when data is transferred. |
Context | The context to the callback. |
Interval | The interval for interrupt transfer. |
the | pointer to the created URB or NULL. |
VOID EhcFreeQtds | ( | IN PEI_USB2_HC_DEV * | Ehc, |
IN EFI_LIST_ENTRY * | Qtds | ||
) |
VOID EhcFreeUrb | ( | IN PEI_USB2_HC_DEV * | Ehc, |
IN PEI_URB * | Urb | ||
) |
VOID EhcInitIntQh | ( | IN USB_ENDPOINT * | Ep, |
IN QH_HW * | QhHw | ||
) |