/** @file
|
This file contains the definination for host controller schedule routines.
|
|
Copyright (c) 2013-2015 Intel Corporation.
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
**/
|
|
|
|
#ifndef _OHCI_SCHED_H
|
#define _OHCI_SCHED_H
|
|
#include "Descriptor.h"
|
|
#define HCCA_MEM_SIZE 256
|
#define GRID_SIZE 16
|
#define GRID_SHIFT 4
|
|
/**
|
|
Convert Error code from OHCI format to EFI format
|
|
@Param ErrorCode ErrorCode in OHCI format
|
|
@retval ErrorCode in EFI format
|
|
**/
|
UINT32
|
ConvertErrorCode (
|
IN UINT32 ErrorCode
|
);
|
/**
|
|
Check TDs Results
|
|
@Param Ohc UHC private data
|
@Param Td TD_DESCRIPTOR
|
@Param Result Result to return
|
|
@retval TRUE means OK
|
@retval FLASE means Error or Short packet
|
|
**/
|
BOOLEAN
|
OhciCheckTDsResults (
|
IN USB_OHCI_HC_DEV *Ohc,
|
IN TD_DESCRIPTOR *Td,
|
OUT UINT32 *Result
|
);
|
/**
|
|
Check the task status on an ED
|
|
@Param Ed Pointer to the ED task that TD hooked on
|
@Param HeadTd TD header for current transaction
|
|
@retval Task Status Code
|
|
**/
|
|
UINT32
|
CheckEDStatus (
|
IN ED_DESCRIPTOR *Ed,
|
IN TD_DESCRIPTOR *HeadTd
|
);
|
/**
|
|
Check the task status
|
|
@Param Ohc UHC private data
|
@Param ListType Pipe type
|
@Param Ed Pointer to the ED task hooked on
|
@Param HeadTd Head of TD corresponding to the task
|
@Param ErrorCode return the ErrorCode
|
|
@retval EFI_SUCCESS Task done
|
@retval EFI_NOT_READY Task on processing
|
@retval EFI_DEVICE_ERROR Some error occured
|
|
**/
|
EFI_STATUS
|
CheckIfDone (
|
IN USB_OHCI_HC_DEV *Ohc,
|
IN DESCRIPTOR_LIST_TYPE ListType,
|
IN ED_DESCRIPTOR *Ed,
|
IN TD_DESCRIPTOR *HeadTd,
|
OUT UINT32 *ErrorCode
|
);
|
/**
|
|
Convert TD condition code to Efi Status
|
|
@Param ConditionCode Condition code to convert
|
|
@retval EFI_SUCCESS No error occured
|
@retval EFI_NOT_READY TD still on processing
|
@retval EFI_DEVICE_ERROR Error occured in processing TD
|
|
**/
|
|
EFI_STATUS
|
OhciTDConditionCodeToStatus (
|
IN UINT32 ConditionCode
|
);
|
|
#endif
|