TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | UHCI_QH_HW |
struct | UHCI_TD_HW |
struct | _UHCI_QH_SW |
struct | _UHCI_TD_SW |
Macros | |
#define | QH_HLINK(Pointer, Terminate) (((UINT32) ((UINTN) (Pointer)) & 0xFFFFFFF0) | 0x02 | ((Terminate) ? 0x01 : 0)) |
#define | QH_VLINK(Pointer, Terminate) (((UINT32) ((UINTN) (Pointer)) & 0xFFFFFFF0) | ((Terminate) ? 0x01 : 0)) |
#define | TD_LINK(Pointer, VertFirst, Terminate) |
#define | LINK_TERMINATED(Link) (((Link) & 0x01) != 0) |
#define | UHCI_ADDR(QhOrTd) ((VOID *) (UINTN) ((QhOrTd) & 0xFFFFFFF0)) |
Typedefs | |
typedef struct _UHCI_TD_SW | UHCI_TD_SW |
typedef struct _UHCI_QH_SW | UHCI_QH_SW |
Functions | |
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) |
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 | 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 * | 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 definition for UHCI register operation routines.
Copyright (c) 2007, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UhciQueue.h.
#define LINK_TERMINATED | ( | Link | ) | (((Link) & 0x01) != 0) |
Definition at line 33 of file UhciQueue.h.
#define QH_HLINK | ( | Pointer, | |
Terminate | |||
) | (((UINT32) ((UINTN) (Pointer)) & 0xFFFFFFF0) | 0x02 | ((Terminate) ? 0x01 : 0)) |
Definition at line 23 of file UhciQueue.h.
#define QH_VLINK | ( | Pointer, | |
Terminate | |||
) | (((UINT32) ((UINTN) (Pointer)) & 0xFFFFFFF0) | ((Terminate) ? 0x01 : 0)) |
Definition at line 26 of file UhciQueue.h.
#define TD_LINK | ( | Pointer, | |
VertFirst, | |||
Terminate | |||
) |
Definition at line 29 of file UhciQueue.h.
#define UHCI_ADDR | ( | QhOrTd | ) | ((VOID *) (UINTN) ((QhOrTd) & 0xFFFFFFF0)) |
Definition at line 35 of file UhciQueue.h.
typedef struct _UHCI_QH_SW UHCI_QH_SW |
Definition at line 74 of file UhciQueue.h.
typedef struct _UHCI_TD_SW UHCI_TD_SW |
Definition at line 73 of file UhciQueue.h.
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_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.
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 | ||
) |