mirror of https://github.com/acidanthera/audk.git
238 lines
4.4 KiB
C
238 lines
4.4 KiB
C
|
/** @file
|
||
|
Provides some data struct used by OHCI controller driver.
|
||
|
|
||
|
Copyright (c) 2013-2015 Intel Corporation.
|
||
|
|
||
|
This program and the accompanying materials
|
||
|
are licensed and made available under the terms and conditions of the BSD License
|
||
|
which accompanies this distribution. The full text of the license may be found at
|
||
|
http://opensource.org/licenses/bsd-license.php
|
||
|
|
||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||
|
|
||
|
**/
|
||
|
|
||
|
|
||
|
#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
|