+++ /dev/null
-/** @file\r
-Provides some data struct used by OHCI controller driver.\r
-\r
-Copyright (c) 2013-2015 Intel Corporation.\r
-\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-\r
-#ifndef _OHCI_URB_H\r
-#define _OHCI_URB_H\r
-\r
-#include "Descriptor.h"\r
-\r
-\r
-//\r
-// Func List\r
-//\r
-\r
-\r
-/**\r
-\r
- Create a TD\r
-\r
- @Param Ohc UHC private data\r
-\r
- @retval TD structure pointer\r
-\r
-**/\r
-TD_DESCRIPTOR *\r
-OhciCreateTD (\r
- IN USB_OHCI_HC_DEV *Ohc\r
- );\r
-\r
-/**\r
-\r
- Free a TD\r
-\r
- @Param Ohc UHC private data\r
- @Param Td Pointer to a TD to free\r
-\r
- @retval EFI_SUCCESS TD freed\r
-\r
-**/\r
-EFI_STATUS\r
-OhciFreeTD (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN TD_DESCRIPTOR *Td\r
- );\r
-\r
-/**\r
-\r
- Create a ED\r
-\r
- @Param Ohc Device private data\r
-\r
- @retval ED descriptor pointer\r
-\r
-**/\r
-ED_DESCRIPTOR *\r
-OhciCreateED (\r
- USB_OHCI_HC_DEV *Ohc\r
- );\r
-\r
-\r
-/**\r
-\r
- Free a ED\r
-\r
- @Param Ohc UHC private data\r
- @Param Ed Pointer to a ED to free\r
-\r
- @retval EFI_SUCCESS ED freed\r
-\r
-**/\r
-\r
-EFI_STATUS\r
-OhciFreeED (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN ED_DESCRIPTOR *Ed\r
- );\r
-\r
-/**\r
-\r
- Free ED\r
-\r
- @Param Ohc Device private data\r
- @Param Ed Pointer to a ED to free\r
-\r
- @retval EFI_SUCCESS ED freed\r
-\r
-**/\r
-EFI_STATUS\r
-OhciFreeAllTDFromED (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN ED_DESCRIPTOR *Ed\r
- );\r
-\r
-/**\r
-\r
- Find a working ED match the requirement\r
-\r
- @Param EdHead Head of the ED list\r
- @Param DeviceAddress Device address to search\r
- @Param EndPointNum End point num to search\r
- @Param EdDir ED Direction to search\r
-\r
- @retval ED descriptor searched\r
-\r
-**/\r
-\r
-ED_DESCRIPTOR *\r
-OhciFindWorkingEd (\r
- IN ED_DESCRIPTOR *EdHead,\r
- IN UINT8 DeviceAddress,\r
- IN UINT8 EndPointNum,\r
- IN UINT8 EdDir\r
- );\r
-\r
-\r
-/**\r
-\r
- Initialize interrupt list.\r
-\r
- @Param Ohc Device private data\r
-\r
- @retval EFI_SUCCESS Initialization done\r
-\r
-**/\r
-EFI_STATUS\r
-OhciInitializeInterruptList (\r
- USB_OHCI_HC_DEV *Ohc\r
- );\r
-\r
-/**\r
-\r
- Attach an ED\r
-\r
- @Param Ed Ed to be attached\r
- @Param NewEd Ed to attach\r
-\r
- @retval EFI_SUCCESS NewEd attached to Ed\r
- @retval EFI_INVALID_PARAMETER Ed is NULL\r
-\r
-**/\r
-EFI_STATUS\r
-OhciAttachED (\r
- IN ED_DESCRIPTOR *Ed,\r
- IN ED_DESCRIPTOR *NewEd\r
- );\r
-\r
-/**\r
-\r
- Count ED number on a ED chain\r
-\r
- @Param Ed Head of the ED chain\r
-\r
- @retval ED number on the chain\r
-\r
-**/\r
-\r
-UINTN\r
-CountEdNum (\r
- IN ED_DESCRIPTOR *Ed\r
- );\r
-\r
-/**\r
-\r
- Find the minimal burn ED list on a specific depth level\r
-\r
- @Param Ohc Device private data\r
- @Param Depth Depth level\r
-\r
- @retval ED list found\r
-\r
-**/\r
-\r
-ED_DESCRIPTOR *\r
-OhciFindMinInterruptEDList (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN UINT32 Depth\r
- );\r
-\r
-/**\r
-\r
- Attach an ED to an ED list\r
-\r
- @Param OHC UHC private data\r
- @Param ListType Type of the ED list\r
- @Param Ed ED to attach\r
- @Param EdList ED list to be attached\r
-\r
- @retval EFI_SUCCESS ED attached to ED list\r
-\r
-**/\r
-ED_DESCRIPTOR *\r
-OhciAttachEDToList (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN DESCRIPTOR_LIST_TYPE ListType,\r
- IN ED_DESCRIPTOR *Ed,\r
- IN ED_DESCRIPTOR *EdList\r
- );\r
-\r
-/**\r
-\r
- Remove interrupt EDs that match requirement\r
-\r
- @Param Ohc UHC private data\r
- @Param IntEd The address of Interrupt endpoint\r
-\r
- @retval EFI_SUCCESS EDs match requirement removed\r
-\r
-**/\r
-\r
-EFI_STATUS\r
-OhciFreeInterruptEdByEd (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN ED_DESCRIPTOR *IntEd\r
- );\r
-\r
-/**\r
-\r
- Remove interrupt EDs that match requirement\r
-\r
- @Param Ohc UHC private data\r
- @Param FunctionAddress Requirement on function address\r
- @Param EndPointNum Requirement on end point number\r
-\r
- @retval EFI_SUCCESS EDs match requirement removed\r
-\r
-**/\r
-EFI_STATUS\r
-OhciFreeInterruptEdByAddr (\r
- IN USB_OHCI_HC_DEV *Ohc,\r
- IN UINT8 FunctionAddress,\r
- IN UINT8 EndPointNum\r
- );\r
-\r
-\r
-/**\r
-\r
- Link Td2 to the end of Td1\r
-\r
- @Param Td1 TD to be linked\r
- @Param Td2 TD to link\r
-\r
- @retval EFI_SUCCESS TD successfully linked\r
- @retval EFI_INVALID_PARAMETER Td1 is NULL\r
-\r
-**/\r
-EFI_STATUS\r
-OhciLinkTD (\r
- IN TD_DESCRIPTOR *Td1,\r
- IN TD_DESCRIPTOR *Td2\r
- );\r
-\r
-\r
-/**\r
-\r
- Attach TD list to ED\r
-\r
- @Param Ed ED which TD list attach on\r
- @Param HeadTd Head of the TD list to attach\r
-\r
- @retval EFI_SUCCESS TD list attached on the ED\r
-\r
-**/\r
-EFI_STATUS\r
-OhciAttachTDListToED (\r
- IN ED_DESCRIPTOR *Ed,\r
- IN TD_DESCRIPTOR *HeadTd\r
- );\r
-\r
-\r
-/**\r
-\r
- Set value to ED specific field\r
-\r
- @Param Ed ED to be set\r
- @Param Field Field to be set\r
- @Param Value Value to set\r
-\r
- @retval EFI_SUCCESS Value set\r
-\r
-**/\r
-EFI_STATUS\r
-OhciSetEDField (\r
- IN ED_DESCRIPTOR *Ed,\r
- IN UINT32 Field,\r
- IN UINT32 Value\r
- );\r
-\r
-\r
-/**\r
-\r
- Get value from an ED's specific field\r
-\r
- @Param Ed ED pointer\r
- @Param Field Field to get value from\r
-\r
- @retval Value of the field\r
-\r
-**/\r
-UINT32\r
-OhciGetEDField (\r
- IN ED_DESCRIPTOR *Ed,\r
- IN UINT32 Field\r
- );\r
-\r
-\r
-/**\r
-\r
- Set value to TD specific field\r
-\r
- @Param Td TD to be set\r
- @Param Field Field to be set\r
- @Param Value Value to set\r
-\r
- @retval EFI_SUCCESS Value set\r
-\r
-**/\r
-EFI_STATUS\r
-OhciSetTDField (\r
- IN TD_DESCRIPTOR *Td,\r
- IN UINT32 Field,\r
- IN UINT32 Value\r
- );\r
-\r
-\r
-/**\r
-\r
- Get value from ED specific field\r
-\r
- @Param Td TD pointer\r
- @Param Field Field to get value from\r
-\r
- @retval Value of the field\r
-\r
-**/\r
-\r
-UINT32\r
-OhciGetTDField (\r
- IN TD_DESCRIPTOR *Td,\r
- IN UINT32 Field\r
- );\r
-/**\r
-\r
- Free the Ed,Td,buffer that were created during transferring\r
-\r
- @Param Ohc Device private data\r
-**/\r
-\r
-VOID\r
-OhciFreeDynamicIntMemory(\r
- IN USB_OHCI_HC_DEV *Ohc\r
- );\r
-\r
-/**\r
-\r
- Free the Ed that were initilized during driver was starting,\r
- those memory were used as interrupt ED head\r
-\r
- @Param Ohc Device private data\r
-\r
-\r
-**/\r
-VOID\r
-OhciFreeFixedIntMemory (\r
- IN USB_OHCI_HC_DEV *Ohc\r
- );\r
-/**\r
-\r
- Release all OHCI used memory when OHCI going to quit\r
-\r
- @Param Ohc Device private data\r
-\r
- @retval EFI_SUCCESS Memory released\r
-\r
-**/\r
-\r
-EFI_STATUS\r
-OhciFreeIntTransferMemory (\r
- IN USB_OHCI_HC_DEV *Ohc\r
- );\r
-\r
-#endif\r