]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciUrb.h
QuarkSocPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / QuarkSocPkg / QuarkSouthCluster / Usb / Ohci / Pei / OhciUrb.h
CommitLineData
9b6bbcdb
MK
1/** @file\r
2Provides some data struct used by OHCI controller driver.\r
3\r
4Copyright (c) 2013-2015 Intel Corporation.\r
5\r
c9f231d0 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
9b6bbcdb
MK
7\r
8**/\r
9\r
10\r
11#ifndef _OHCI_URB_H\r
12#define _OHCI_URB_H\r
13\r
14#include "Descriptor.h"\r
15\r
16\r
17//\r
18// Func List\r
19//\r
20\r
21\r
22/**\r
23\r
24 Create a TD\r
25\r
26 @Param Ohc UHC private data\r
27\r
28 @retval TD structure pointer\r
29\r
30**/\r
31TD_DESCRIPTOR *\r
32OhciCreateTD (\r
33 IN USB_OHCI_HC_DEV *Ohc\r
34 );\r
35\r
36/**\r
37\r
38 Free a TD\r
39\r
40 @Param Ohc UHC private data\r
41 @Param Td Pointer to a TD to free\r
42\r
43 @retval EFI_SUCCESS TD freed\r
44\r
45**/\r
46EFI_STATUS\r
47OhciFreeTD (\r
48 IN USB_OHCI_HC_DEV *Ohc,\r
49 IN TD_DESCRIPTOR *Td\r
50 );\r
51\r
52/**\r
53\r
54 Create a ED\r
55\r
56 @Param Ohc Device private data\r
57\r
58 @retval ED descriptor pointer\r
59\r
60**/\r
61ED_DESCRIPTOR *\r
62OhciCreateED (\r
63 USB_OHCI_HC_DEV *Ohc\r
64 );\r
65\r
66\r
67/**\r
68\r
69 Free a ED\r
70\r
71 @Param Ohc UHC private data\r
72 @Param Ed Pointer to a ED to free\r
73\r
74 @retval EFI_SUCCESS ED freed\r
75\r
76**/\r
77\r
78EFI_STATUS\r
79OhciFreeED (\r
80 IN USB_OHCI_HC_DEV *Ohc,\r
81 IN ED_DESCRIPTOR *Ed\r
82 );\r
83\r
84/**\r
85\r
86 Free ED\r
87\r
88 @Param Ohc Device private data\r
89 @Param Ed Pointer to a ED to free\r
90\r
91 @retval EFI_SUCCESS ED freed\r
92\r
93**/\r
94EFI_STATUS\r
95OhciFreeAllTDFromED (\r
96 IN USB_OHCI_HC_DEV *Ohc,\r
97 IN ED_DESCRIPTOR *Ed\r
98 );\r
99\r
100/**\r
101\r
102 Attach an ED\r
103\r
104 @Param Ed Ed to be attached\r
105 @Param NewEd Ed to attach\r
106\r
107 @retval EFI_SUCCESS NewEd attached to Ed\r
108 @retval EFI_INVALID_PARAMETER Ed is NULL\r
109\r
110**/\r
111EFI_STATUS\r
112OhciAttachED (\r
113 IN ED_DESCRIPTOR *Ed,\r
114 IN ED_DESCRIPTOR *NewEd\r
115 );\r
116/**\r
117\r
118 Attach an ED to an ED list\r
119\r
120 @Param OHC UHC private data\r
121 @Param ListType Type of the ED list\r
122 @Param Ed ED to attach\r
123 @Param EdList ED list to be attached\r
124\r
125 @retval EFI_SUCCESS ED attached to ED list\r
126\r
127**/\r
128EFI_STATUS\r
129OhciAttachEDToList (\r
130 IN USB_OHCI_HC_DEV *Ohc,\r
131 IN DESCRIPTOR_LIST_TYPE ListType,\r
132 IN ED_DESCRIPTOR *Ed,\r
133 IN ED_DESCRIPTOR *EdList\r
134 );\r
135EFI_STATUS\r
136OhciLinkTD (\r
137 IN TD_DESCRIPTOR *Td1,\r
138 IN TD_DESCRIPTOR *Td2\r
139 );\r
140\r
141\r
142/**\r
143\r
144 Attach TD list to ED\r
145\r
146 @Param Ed ED which TD list attach on\r
147 @Param HeadTd Head of the TD list to attach\r
148\r
149 @retval EFI_SUCCESS TD list attached on the ED\r
150\r
151**/\r
152EFI_STATUS\r
153OhciAttachTDListToED (\r
154 IN ED_DESCRIPTOR *Ed,\r
155 IN TD_DESCRIPTOR *HeadTd\r
156 );\r
157\r
158\r
159/**\r
160\r
161 Set value to ED specific field\r
162\r
163 @Param Ed ED to be set\r
164 @Param Field Field to be set\r
165 @Param Value Value to set\r
166\r
167 @retval EFI_SUCCESS Value set\r
168\r
169**/\r
170EFI_STATUS\r
171OhciSetEDField (\r
172 IN ED_DESCRIPTOR *Ed,\r
173 IN UINT32 Field,\r
174 IN UINT32 Value\r
175 );\r
176\r
177\r
178/**\r
179\r
180 Get value from an ED's specific field\r
181\r
182 @Param Ed ED pointer\r
183 @Param Field Field to get value from\r
184\r
185 @retval Value of the field\r
186\r
187**/\r
188UINT32\r
189OhciGetEDField (\r
190 IN ED_DESCRIPTOR *Ed,\r
191 IN UINT32 Field\r
192 );\r
193\r
194\r
195/**\r
196\r
197 Set value to TD specific field\r
198\r
199 @Param Td TD to be set\r
200 @Param Field Field to be set\r
201 @Param Value Value to set\r
202\r
203 @retval EFI_SUCCESS Value set\r
204\r
205**/\r
206EFI_STATUS\r
207OhciSetTDField (\r
208 IN TD_DESCRIPTOR *Td,\r
209 IN UINT32 Field,\r
210 IN UINT32 Value\r
211 );\r
212\r
213\r
214/**\r
215\r
216 Get value from ED specific field\r
217\r
218 @Param Td TD pointer\r
219 @Param Field Field to get value from\r
220\r
221 @retval Value of the field\r
222\r
223**/\r
224\r
225UINT32\r
226OhciGetTDField (\r
227 IN TD_DESCRIPTOR *Td,\r
228 IN UINT32 Field\r
229 );\r
230\r
231#endif\r