mirror of https://github.com/acidanthera/audk.git
232 lines
4.1 KiB
C
232 lines
4.1 KiB
C
/** @file
|
|
Provides some data struct used by OHCI controller driver.
|
|
|
|
Copyright (c) 2013-2015 Intel Corporation.
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
|
|
#ifndef _OHCI_URB_H
|
|
#define _OHCI_URB_H
|
|
|
|
#include "Descriptor.h"
|
|
|
|
|
|
//
|
|
// Func List
|
|
//
|
|
|
|
|
|
/**
|
|
|
|
Create a TD
|
|
|
|
@Param Ohc UHC private data
|
|
|
|
@retval TD structure pointer
|
|
|
|
**/
|
|
TD_DESCRIPTOR *
|
|
OhciCreateTD (
|
|
IN USB_OHCI_HC_DEV *Ohc
|
|
);
|
|
|
|
/**
|
|
|
|
Free a TD
|
|
|
|
@Param Ohc UHC private data
|
|
@Param Td Pointer to a TD to free
|
|
|
|
@retval EFI_SUCCESS TD freed
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciFreeTD (
|
|
IN USB_OHCI_HC_DEV *Ohc,
|
|
IN TD_DESCRIPTOR *Td
|
|
);
|
|
|
|
/**
|
|
|
|
Create a ED
|
|
|
|
@Param Ohc Device private data
|
|
|
|
@retval ED descriptor pointer
|
|
|
|
**/
|
|
ED_DESCRIPTOR *
|
|
OhciCreateED (
|
|
USB_OHCI_HC_DEV *Ohc
|
|
);
|
|
|
|
|
|
/**
|
|
|
|
Free a ED
|
|
|
|
@Param Ohc UHC private data
|
|
@Param Ed Pointer to a ED to free
|
|
|
|
@retval EFI_SUCCESS ED freed
|
|
|
|
**/
|
|
|
|
EFI_STATUS
|
|
OhciFreeED (
|
|
IN USB_OHCI_HC_DEV *Ohc,
|
|
IN ED_DESCRIPTOR *Ed
|
|
);
|
|
|
|
/**
|
|
|
|
Free ED
|
|
|
|
@Param Ohc Device private data
|
|
@Param Ed Pointer to a ED to free
|
|
|
|
@retval EFI_SUCCESS ED freed
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciFreeAllTDFromED (
|
|
IN USB_OHCI_HC_DEV *Ohc,
|
|
IN ED_DESCRIPTOR *Ed
|
|
);
|
|
|
|
/**
|
|
|
|
Attach an ED
|
|
|
|
@Param Ed Ed to be attached
|
|
@Param NewEd Ed to attach
|
|
|
|
@retval EFI_SUCCESS NewEd attached to Ed
|
|
@retval EFI_INVALID_PARAMETER Ed is NULL
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciAttachED (
|
|
IN ED_DESCRIPTOR *Ed,
|
|
IN ED_DESCRIPTOR *NewEd
|
|
);
|
|
/**
|
|
|
|
Attach an ED to an ED list
|
|
|
|
@Param OHC UHC private data
|
|
@Param ListType Type of the ED list
|
|
@Param Ed ED to attach
|
|
@Param EdList ED list to be attached
|
|
|
|
@retval EFI_SUCCESS ED attached to ED list
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciAttachEDToList (
|
|
IN USB_OHCI_HC_DEV *Ohc,
|
|
IN DESCRIPTOR_LIST_TYPE ListType,
|
|
IN ED_DESCRIPTOR *Ed,
|
|
IN ED_DESCRIPTOR *EdList
|
|
);
|
|
EFI_STATUS
|
|
OhciLinkTD (
|
|
IN TD_DESCRIPTOR *Td1,
|
|
IN TD_DESCRIPTOR *Td2
|
|
);
|
|
|
|
|
|
/**
|
|
|
|
Attach TD list to ED
|
|
|
|
@Param Ed ED which TD list attach on
|
|
@Param HeadTd Head of the TD list to attach
|
|
|
|
@retval EFI_SUCCESS TD list attached on the ED
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciAttachTDListToED (
|
|
IN ED_DESCRIPTOR *Ed,
|
|
IN TD_DESCRIPTOR *HeadTd
|
|
);
|
|
|
|
|
|
/**
|
|
|
|
Set value to ED specific field
|
|
|
|
@Param Ed ED to be set
|
|
@Param Field Field to be set
|
|
@Param Value Value to set
|
|
|
|
@retval EFI_SUCCESS Value set
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciSetEDField (
|
|
IN ED_DESCRIPTOR *Ed,
|
|
IN UINT32 Field,
|
|
IN UINT32 Value
|
|
);
|
|
|
|
|
|
/**
|
|
|
|
Get value from an ED's specific field
|
|
|
|
@Param Ed ED pointer
|
|
@Param Field Field to get value from
|
|
|
|
@retval Value of the field
|
|
|
|
**/
|
|
UINT32
|
|
OhciGetEDField (
|
|
IN ED_DESCRIPTOR *Ed,
|
|
IN UINT32 Field
|
|
);
|
|
|
|
|
|
/**
|
|
|
|
Set value to TD specific field
|
|
|
|
@Param Td TD to be set
|
|
@Param Field Field to be set
|
|
@Param Value Value to set
|
|
|
|
@retval EFI_SUCCESS Value set
|
|
|
|
**/
|
|
EFI_STATUS
|
|
OhciSetTDField (
|
|
IN TD_DESCRIPTOR *Td,
|
|
IN UINT32 Field,
|
|
IN UINT32 Value
|
|
);
|
|
|
|
|
|
/**
|
|
|
|
Get value from ED specific field
|
|
|
|
@Param Td TD pointer
|
|
@Param Field Field to get value from
|
|
|
|
@retval Value of the field
|
|
|
|
**/
|
|
|
|
UINT32
|
|
OhciGetTDField (
|
|
IN TD_DESCRIPTOR *Td,
|
|
IN UINT32 Field
|
|
);
|
|
|
|
#endif
|