]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciSched.h
QuarkSocPkg: Add new package for Quark SoC X1000
[mirror_edk2.git] / QuarkSocPkg / QuarkSouthCluster / Usb / Ohci / Pei / OhciSched.h
1 /** @file
2 This file contains the definination for host controller schedule routines.
3
4 Copyright (c) 2013-2015 Intel Corporation.
5
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16
17
18 #ifndef _OHCI_SCHED_H
19 #define _OHCI_SCHED_H
20
21 #include "Descriptor.h"
22
23 #define HCCA_MEM_SIZE 256
24 #define GRID_SIZE 16
25 #define GRID_SHIFT 4
26
27 /**
28
29 Convert Error code from OHCI format to EFI format
30
31 @Param ErrorCode ErrorCode in OHCI format
32
33 @retval ErrorCode in EFI format
34
35 **/
36 UINT32
37 ConvertErrorCode (
38 IN UINT32 ErrorCode
39 );
40 /**
41
42 Check TDs Results
43
44 @Param Ohc UHC private data
45 @Param Td TD_DESCRIPTOR
46 @Param Result Result to return
47
48 @retval TRUE means OK
49 @retval FLASE means Error or Short packet
50
51 **/
52 BOOLEAN
53 OhciCheckTDsResults (
54 IN USB_OHCI_HC_DEV *Ohc,
55 IN TD_DESCRIPTOR *Td,
56 OUT UINT32 *Result
57 );
58 /**
59
60 Check the task status on an ED
61
62 @Param Ed Pointer to the ED task that TD hooked on
63 @Param HeadTd TD header for current transaction
64
65 @retval Task Status Code
66
67 **/
68
69 UINT32
70 CheckEDStatus (
71 IN ED_DESCRIPTOR *Ed,
72 IN TD_DESCRIPTOR *HeadTd
73 );
74 /**
75
76 Check the task status
77
78 @Param Ohc UHC private data
79 @Param ListType Pipe type
80 @Param Ed Pointer to the ED task hooked on
81 @Param HeadTd Head of TD corresponding to the task
82 @Param ErrorCode return the ErrorCode
83
84 @retval EFI_SUCCESS Task done
85 @retval EFI_NOT_READY Task on processing
86 @retval EFI_DEVICE_ERROR Some error occured
87
88 **/
89 EFI_STATUS
90 CheckIfDone (
91 IN USB_OHCI_HC_DEV *Ohc,
92 IN DESCRIPTOR_LIST_TYPE ListType,
93 IN ED_DESCRIPTOR *Ed,
94 IN TD_DESCRIPTOR *HeadTd,
95 OUT UINT32 *ErrorCode
96 );
97 /**
98
99 Convert TD condition code to Efi Status
100
101 @Param ConditionCode Condition code to convert
102
103 @retval EFI_SUCCESS No error occured
104 @retval EFI_NOT_READY TD still on processing
105 @retval EFI_DEVICE_ERROR Error occured in processing TD
106
107 **/
108
109 EFI_STATUS
110 OhciTDConditionCodeToStatus (
111 IN UINT32 ConditionCode
112 );
113
114 #endif