TianoCore EDK2 master
|
#include "Uhci.h"
Go to the source code of this file.
Functions | |
EFI_STATUS | UhciMapUserRequest (IN USB_HC_DEV *Uhc, IN OUT VOID *Request, OUT UINT8 **MappedAddr, OUT VOID **Map) |
EFI_STATUS | UhciMapUserData (IN USB_HC_DEV *Uhc, IN EFI_USB_DATA_DIRECTION Direction, IN VOID *Data, IN OUT UINTN *Len, OUT UINT8 *PktId, OUT UINT8 **MappedAddr, OUT VOID **Map) |
VOID | UhciLinkTdToQh (IN USB_HC_DEV *Uhc, IN UHCI_QH_SW *Qh, IN UHCI_TD_SW *Td) |
VOID | UhciUnlinkTdFromQh (IN UHCI_QH_SW *Qh, IN UHCI_TD_SW *Td) |
VOID | UhciAppendTd (IN USB_HC_DEV *Uhc, IN UHCI_TD_SW *PrevTd, IN UHCI_TD_SW *ThisTd) |
VOID | UhciDestoryTds (IN USB_HC_DEV *Uhc, IN UHCI_TD_SW *FirstTd) |
UHCI_QH_SW * | UhciCreateQh (IN USB_HC_DEV *Uhc, IN UINTN Interval) |
UHCI_TD_SW * | UhciCreateTd (IN USB_HC_DEV *Uhc) |
UHCI_TD_SW * | UhciCreateSetupTd (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 *Request, IN UINT8 *RequestPhy, IN BOOLEAN IsLow) |
UHCI_TD_SW * | UhciCreateDataTd (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 Endpoint, IN UINT8 *DataPtr, IN UINT8 *DataPhyPtr, IN UINTN Len, IN UINT8 PktId, IN UINT8 Toggle, IN BOOLEAN IsLow) |
UHCI_TD_SW * | UhciCreateStatusTd (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 PktId, IN BOOLEAN IsLow) |
UHCI_TD_SW * | UhciCreateCtrlTds (IN USB_HC_DEV *Uhc, IN UINT8 DeviceAddr, IN UINT8 DataPktId, IN UINT8 *Request, IN UINT8 *RequestPhy, IN UINT8 *Data, IN UINT8 *DataPhy, IN UINTN DataLen, IN UINT8 MaxPacket, IN BOOLEAN IsLow) |
UHCI_TD_SW * | UhciCreateBulkOrIntTds (IN USB_HC_DEV *Uhc, IN UINT8 DevAddr, IN UINT8 EndPoint, IN UINT8 PktId, IN UINT8 *Data, IN UINT8 *DataPhy, IN UINTN DataLen, IN OUT UINT8 *DataToggle, IN UINT8 MaxPacket, IN BOOLEAN IsLow) |
The UHCI register operation routines.
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UhciQueue.c.
VOID UhciAppendTd | ( | IN USB_HC_DEV * | Uhc, |
IN UHCI_TD_SW * | PrevTd, | ||
IN UHCI_TD_SW * | ThisTd | ||
) |
Append a new TD To the previous TD.
Uhc | The UHCI device. |
PrevTd | Previous UHCI_TD_SW to be linked to. |
ThisTd | TD to link. |
Definition at line 196 of file UhciQueue.c.
UHCI_TD_SW * UhciCreateBulkOrIntTds | ( | IN USB_HC_DEV * | Uhc, |
IN UINT8 | DevAddr, | ||
IN UINT8 | EndPoint, | ||
IN UINT8 | PktId, | ||
IN UINT8 * | Data, | ||
IN UINT8 * | DataPhy, | ||
IN UINTN | DataLen, | ||
IN OUT UINT8 * | DataToggle, | ||
IN UINT8 | MaxPacket, | ||
IN BOOLEAN | IsLow | ||
) |
Create Tds list for Bulk/Interrupt Transfer.
Uhc | USB_HC_DEV. |
DevAddr | Address of Device. |
EndPoint | Endpoint Number. |
PktId | Packet Identification of Data Tds. |
Data | A pointer to cpu memory address of user data buffer to transfer. |
DataPhy | A pointer to pci memory address of user data buffer to transfer. |
DataLen | Length of user data to transfer. |
DataToggle | Data Toggle Pointer. |
MaxPacket | Maximum packet size for Bulk/Interrupt transfer. |
IsLow | Is Low Speed Device. |
Definition at line 610 of file UhciQueue.c.
UHCI_TD_SW * UhciCreateCtrlTds | ( | IN USB_HC_DEV * | Uhc, |
IN UINT8 | DeviceAddr, | ||
IN UINT8 | DataPktId, | ||
IN UINT8 * | Request, | ||
IN UINT8 * | RequestPhy, | ||
IN UINT8 * | Data, | ||
IN UINT8 * | DataPhy, | ||
IN UINTN | DataLen, | ||
IN UINT8 | MaxPacket, | ||
IN BOOLEAN | IsLow | ||
) |
Create Tds list for Control Transfer.
Uhc | The UHCI device. |
DeviceAddr | The device address. |
DataPktId | Packet Identification of Data Tds. |
Request | A pointer to cpu memory address of request structure buffer to transfer. |
RequestPhy | A pointer to pci memory address of request structure buffer to transfer. |
Data | A pointer to cpu memory address of user data buffer to transfer. |
DataPhy | A pointer to pci memory address of user data buffer to transfer. |
DataLen | Length of user data to transfer. |
MaxPacket | Maximum packet size for control transfer. |
IsLow | Full speed or low speed. |
Definition at line 475 of file UhciQueue.c.
UHCI_TD_SW * UhciCreateDataTd | ( | IN USB_HC_DEV * | Uhc, |
IN UINT8 | DevAddr, | ||
IN UINT8 | Endpoint, | ||
IN UINT8 * | DataPtr, | ||
IN UINT8 * | DataPhyPtr, | ||
IN UINTN | Len, | ||
IN UINT8 | PktId, | ||
IN UINT8 | Toggle, | ||
IN BOOLEAN | IsLow | ||
) |
Create a TD for data.
Uhc | The UHCI device. |
DevAddr | Device address. |
Endpoint | Endpoint number. |
DataPtr | A pointer to cpu memory address of Data buffer. |
DataPhyPtr | A pointer to pci memory address of Data buffer. |
Len | Data length. |
PktId | Packet ID. |
Toggle | Data toggle value. |
IsLow | Full speed or low speed. |
Definition at line 365 of file UhciQueue.c.
UHCI_QH_SW * UhciCreateQh | ( | IN USB_HC_DEV * | Uhc, |
IN UINTN | Interval | ||
) |
Create an initialize a new queue head.
Uhc | The UHCI device. |
Interval | The polling interval for the queue. |
Definition at line 249 of file UhciQueue.c.
UHCI_TD_SW * UhciCreateSetupTd | ( | IN USB_HC_DEV * | Uhc, |
IN UINT8 | DevAddr, | ||
IN UINT8 * | Request, | ||
IN UINT8 * | RequestPhy, | ||
IN BOOLEAN | IsLow | ||
) |
Create and initialize a TD for Setup Stage of a control transfer.
Uhc | The UHCI device. |
DevAddr | Device address. |
Request | A pointer to cpu memory address of Device request. |
RequestPhy | A pointer to pci memory address of Device request. |
IsLow | Full speed or low speed. |
Definition at line 312 of file UhciQueue.c.
UHCI_TD_SW * UhciCreateStatusTd | ( | IN USB_HC_DEV * | Uhc, |
IN UINT8 | DevAddr, | ||
IN UINT8 | PktId, | ||
IN BOOLEAN | IsLow | ||
) |
Create TD for the Status Stage of control transfer.
Uhc | The UHCI device. |
DevAddr | Device address. |
PktId | Packet ID. |
IsLow | Full speed or low speed. |
Definition at line 422 of file UhciQueue.c.
UHCI_TD_SW * UhciCreateTd | ( | IN USB_HC_DEV * | Uhc | ) |
Create and intialize a TD.
Uhc | The UHCI device. |
Definition at line 280 of file UhciQueue.c.
VOID UhciDestoryTds | ( | IN USB_HC_DEV * | Uhc, |
IN UHCI_TD_SW * | FirstTd | ||
) |
Delete a list of TDs.
Uhc | The UHCI device. |
FirstTd | TD link list head. |
Definition at line 222 of file UhciQueue.c.
VOID UhciLinkTdToQh | ( | IN USB_HC_DEV * | Uhc, |
IN UHCI_QH_SW * | Qh, | ||
IN UHCI_TD_SW * | Td | ||
) |
Link the TD To QH.
Definition at line 152 of file UhciQueue.c.
EFI_STATUS UhciMapUserData | ( | IN USB_HC_DEV * | Uhc, |
IN EFI_USB_DATA_DIRECTION | Direction, | ||
IN VOID * | Data, | ||
IN OUT UINTN * | Len, | ||
OUT UINT8 * | PktId, | ||
OUT UINT8 ** | MappedAddr, | ||
OUT VOID ** | Map | ||
) |
Map address of user data buffer.
Uhc | The UHCI device. |
Direction | Direction of the data transfer. |
Data | The user data buffer. |
Len | Length of the user data. |
PktId | Packet identificaion. |
MappedAddr | Mapped address to return. |
Map | Identificaion of this mapping to return. |
Definition at line 69 of file UhciQueue.c.
EFI_STATUS UhciMapUserRequest | ( | IN USB_HC_DEV * | Uhc, |
IN OUT VOID * | Request, | ||
OUT UINT8 ** | MappedAddr, | ||
OUT VOID ** | Map | ||
) |
Map address of request structure buffer.
Uhc | The UHCI device. |
Request | The user request buffer. |
MappedAddr | Mapped address of request. |
Map | Identificaion of this mapping to return. |
Definition at line 25 of file UhciQueue.c.
VOID UhciUnlinkTdFromQh | ( | IN UHCI_QH_SW * | Qh, |
IN UHCI_TD_SW * | Td | ||
) |
Unlink TD from the QH.
Qh | The queue head to unlink from. |
Td | The TD to unlink. |
Definition at line 176 of file UhciQueue.c.