]>
Commit | Line | Data |
---|---|---|
ead42efc | 1 | /** @file\r |
2 | Header file for IDE Bus Driver, containing the helper functions'\r | |
3 | entire prototype.\r | |
4 | \r | |
5 | Copyright (c) 2006 - 2007 Intel Corporation. <BR>\r | |
6 | All rights reserved. This program and the accompanying materials\r | |
7 | are licensed and made available under the terms and conditions of the BSD License\r | |
8 | which accompanies this distribution. The full text of the license may be found at\r | |
9 | http://opensource.org/licenses/bsd-license.php\r | |
10 | \r | |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
13 | \r | |
14 | @par Revision Reference:\r | |
15 | 2002-6: Add Atapi6 enhancement, support >120GB hard disk, including\r | |
16 | Add - IDEBlkIoReadBlocksExt() func definition\r | |
17 | Add - IDEBlkIoWriteBlocksExt() func definition\r | |
18 | \r | |
19 | **/\r | |
20 | \r | |
eeefcb9d | 21 | #ifndef _IDE_H_\r |
22 | #define _IDE_H_\r | |
ead42efc | 23 | \r |
24 | //\r | |
25 | // Helper functions Prototype\r | |
26 | //\r | |
27 | /**\r | |
28 | TODO: Add function description\r | |
29 | \r | |
30 | @param This TODO: add argument description\r | |
31 | @param Controller TODO: add argument description\r | |
32 | @param Handle TODO: add argument description\r | |
33 | \r | |
97404058 | 34 | TODO: add return values.\r |
ead42efc | 35 | \r |
36 | **/\r | |
37 | EFI_STATUS\r | |
38 | DeRegisterIdeDevice (\r | |
39 | IN EFI_DRIVER_BINDING_PROTOCOL *This,\r | |
40 | IN EFI_HANDLE Controller,\r | |
41 | IN EFI_HANDLE Handle\r | |
ed66e1bc | 42 | );\r |
ead42efc | 43 | \r |
44 | /**\r | |
45 | TODO: Add function description\r | |
46 | \r | |
47 | @param Controller TODO: add argument description\r | |
48 | @param PciIo TODO: add argument description\r | |
49 | @param ParentDevicePath TODO: add argument description\r | |
50 | @param RemainingDevicePath TODO: add argument description\r | |
51 | \r | |
97404058 | 52 | TODO: add return values.\r |
ead42efc | 53 | \r |
54 | **/\r | |
55 | EFI_STATUS\r | |
56 | EnableIdeDevice (\r | |
57 | IN EFI_HANDLE Controller,\r | |
58 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
59 | IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r | |
60 | IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r | |
ed66e1bc | 61 | );\r |
ead42efc | 62 | \r |
63 | /**\r | |
64 | TODO: Add function description\r | |
65 | \r | |
66 | @param PciIo TODO: add argument description\r | |
67 | @param Port TODO: add argument description\r | |
68 | \r | |
97404058 | 69 | TODO: add return values.\r |
ead42efc | 70 | \r |
71 | **/\r | |
72 | UINT8\r | |
73 | IDEReadPortB (\r | |
74 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
75 | IN UINT16 Port\r | |
ed66e1bc | 76 | );\r |
ead42efc | 77 | \r |
78 | /**\r | |
79 | TODO: Add function description\r | |
80 | \r | |
81 | @param PciIo TODO: add argument description\r | |
82 | @param Port TODO: add argument description\r | |
83 | @param Count TODO: add argument description\r | |
84 | @param Buffer TODO: add argument description\r | |
85 | \r | |
97404058 | 86 | TODO: add return values.\r |
ead42efc | 87 | \r |
88 | **/\r | |
89 | VOID\r | |
90 | IDEReadPortWMultiple (\r | |
91 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
92 | IN UINT16 Port,\r | |
93 | IN UINTN Count,\r | |
94 | OUT VOID *Buffer\r | |
ed66e1bc | 95 | );\r |
ead42efc | 96 | \r |
97 | /**\r | |
98 | TODO: Add function description\r | |
99 | \r | |
100 | @param PciIo TODO: add argument description\r | |
101 | @param Port TODO: add argument description\r | |
102 | @param Data TODO: add argument description\r | |
103 | \r | |
97404058 | 104 | TODO: add return values.\r |
ead42efc | 105 | \r |
106 | **/\r | |
107 | VOID\r | |
108 | IDEWritePortB (\r | |
109 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
110 | IN UINT16 Port,\r | |
111 | IN UINT8 Data\r | |
ed66e1bc | 112 | );\r |
ead42efc | 113 | \r |
114 | /**\r | |
115 | TODO: Add function description\r | |
116 | \r | |
117 | @param PciIo TODO: add argument description\r | |
118 | @param Port TODO: add argument description\r | |
119 | @param Data TODO: add argument description\r | |
120 | \r | |
eeefcb9d | 121 | TODO: add return values.\r |
ead42efc | 122 | \r |
123 | **/\r | |
124 | VOID\r | |
125 | IDEWritePortW (\r | |
126 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
127 | IN UINT16 Port,\r | |
128 | IN UINT16 Data\r | |
ed66e1bc | 129 | );\r |
ead42efc | 130 | \r |
131 | /**\r | |
132 | TODO: Add function description\r | |
133 | \r | |
134 | @param PciIo TODO: add argument description\r | |
135 | @param Port TODO: add argument description\r | |
136 | @param Count TODO: add argument description\r | |
137 | @param Buffer TODO: add argument description\r | |
138 | \r | |
97404058 | 139 | TODO: add return values.\r |
ead42efc | 140 | \r |
141 | **/\r | |
142 | VOID\r | |
143 | IDEWritePortWMultiple (\r | |
144 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
145 | IN UINT16 Port,\r | |
146 | IN UINTN Count,\r | |
147 | IN VOID *Buffer\r | |
ed66e1bc | 148 | );\r |
ead42efc | 149 | \r |
150 | /**\r | |
151 | TODO: Add function description\r | |
152 | \r | |
153 | @param PciIo TODO: add argument description\r | |
154 | @param IdeRegsBaseAddr TODO: add argument description\r | |
155 | \r | |
97404058 | 156 | TODO: add return values.\r |
ead42efc | 157 | \r |
158 | **/\r | |
159 | EFI_STATUS\r | |
160 | GetIdeRegistersBaseAddr (\r | |
161 | IN EFI_PCI_IO_PROTOCOL *PciIo,\r | |
162 | OUT IDE_REGISTERS_BASE_ADDR *IdeRegsBaseAddr\r | |
ed66e1bc | 163 | );\r |
ead42efc | 164 | \r |
165 | /**\r | |
166 | TODO: Add function description\r | |
167 | \r | |
168 | @param IdeDev TODO: add argument description\r | |
169 | \r | |
97404058 | 170 | TODO: add return values.\r |
ead42efc | 171 | \r |
172 | **/\r | |
173 | EFI_STATUS\r | |
174 | ReassignIdeResources (\r | |
175 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 176 | );\r |
ead42efc | 177 | \r |
178 | /**\r | |
179 | TODO: Add function description\r | |
180 | \r | |
181 | @param IdeDev TODO: add argument description\r | |
182 | \r | |
97404058 | 183 | TODO: add return values.\r |
ead42efc | 184 | \r |
185 | **/\r | |
186 | EFI_STATUS\r | |
187 | DiscoverIdeDevice (\r | |
188 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 189 | );\r |
ead42efc | 190 | \r |
191 | /**\r | |
192 | This interface is used to initialize all state data related to the\r | |
193 | detection of one channel.\r | |
194 | \r | |
195 | @retval EFI_SUCCESS Completed successfully.\r | |
196 | \r | |
197 | **/\r | |
198 | EFI_STATUS\r | |
199 | InitializeIDEChannelData (\r | |
200 | VOID\r | |
ed66e1bc | 201 | );\r |
ead42efc | 202 | \r |
203 | /**\r | |
204 | TODO: Add function description\r | |
205 | \r | |
206 | @param IdeDev TODO: add argument description\r | |
207 | \r | |
97404058 | 208 | TODO: add return values.\r |
ead42efc | 209 | \r |
210 | **/\r | |
211 | EFI_STATUS\r | |
212 | DetectIDEController (\r | |
213 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 214 | );\r |
ead42efc | 215 | \r |
216 | /**\r | |
217 | TODO: Add function description\r | |
218 | \r | |
219 | @param IdeDev TODO: add argument description\r | |
220 | @param TimeoutInMilliSeconds TODO: add argument description\r | |
221 | \r | |
97404058 | 222 | TODO: add return values.\r |
ead42efc | 223 | \r |
224 | **/\r | |
225 | EFI_STATUS\r | |
226 | DRQClear (\r | |
227 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
228 | IN UINTN TimeoutInMilliSeconds\r | |
ed66e1bc | 229 | );\r |
ead42efc | 230 | \r |
231 | /**\r | |
232 | TODO: Add function description\r | |
233 | \r | |
234 | @param IdeDev TODO: add argument description\r | |
235 | @param TimeoutInMilliSeconds TODO: add argument description\r | |
236 | \r | |
97404058 | 237 | TODO: add return values.\r |
ead42efc | 238 | \r |
239 | **/\r | |
240 | EFI_STATUS\r | |
241 | DRQClear2 (\r | |
242 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
243 | IN UINTN TimeoutInMilliSeconds\r | |
ed66e1bc | 244 | );\r |
ead42efc | 245 | \r |
246 | /**\r | |
247 | TODO: Add function description\r | |
248 | \r | |
249 | @param IdeDev TODO: add argument description\r | |
250 | @param TimeoutInMilliSeconds TODO: add argument description\r | |
251 | \r | |
97404058 | 252 | TODO: add return values.\r |
ead42efc | 253 | \r |
254 | **/\r | |
255 | EFI_STATUS\r | |
256 | DRQReady (\r | |
257 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
258 | IN UINTN TimeoutInMilliSeconds\r | |
ed66e1bc | 259 | );\r |
ead42efc | 260 | \r |
261 | /**\r | |
262 | TODO: Add function description\r | |
263 | \r | |
264 | @param IdeDev TODO: add argument description\r | |
265 | @param TimeoutInMilliSeconds TODO: add argument description\r | |
266 | \r | |
97404058 | 267 | TODO: add return values.\r |
ead42efc | 268 | \r |
269 | **/\r | |
270 | EFI_STATUS\r | |
271 | DRQReady2 (\r | |
272 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
273 | IN UINTN TimeoutInMilliSeconds\r | |
ed66e1bc | 274 | );\r |
ead42efc | 275 | \r |
276 | /**\r | |
277 | TODO: Add function description\r | |
278 | \r | |
279 | @param IdeDev TODO: add argument description\r | |
280 | @param TimeoutInMilliSeconds TODO: add argument description\r | |
281 | \r | |
97404058 | 282 | TODO: add return values.\r |
ead42efc | 283 | \r |
284 | **/\r | |
285 | EFI_STATUS\r | |
286 | WaitForBSYClear (\r | |
287 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
288 | IN UINTN TimeoutInMilliSeconds\r | |
ed66e1bc | 289 | );\r |
ead42efc | 290 | \r |
291 | /**\r | |
292 | TODO: Add function description\r | |
293 | \r | |
294 | @param IdeDev TODO: add argument description\r | |
295 | @param TimeoutInMilliSeconds TODO: add argument description\r | |
296 | \r | |
97404058 | 297 | TODO: add return values.\r |
ead42efc | 298 | \r |
299 | **/\r | |
300 | EFI_STATUS\r | |
301 | WaitForBSYClear2 (\r | |
302 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
303 | IN UINTN TimeoutInMilliSeconds\r | |
ed66e1bc | 304 | );\r |
ead42efc | 305 | \r |
306 | /**\r | |
307 | TODO: Add function description\r | |
308 | \r | |
309 | @param IdeDev TODO: add argument description\r | |
310 | @param DelayInMilliSeconds TODO: add argument description\r | |
311 | \r | |
97404058 | 312 | TODO: add return values.\r |
ead42efc | 313 | \r |
314 | **/\r | |
315 | EFI_STATUS\r | |
316 | DRDYReady (\r | |
317 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
318 | IN UINTN DelayInMilliSeconds\r | |
ed66e1bc | 319 | );\r |
ead42efc | 320 | \r |
321 | /**\r | |
322 | TODO: Add function description\r | |
323 | \r | |
324 | @param IdeDev TODO: add argument description\r | |
325 | @param DelayInMilliSeconds TODO: add argument description\r | |
326 | \r | |
97404058 | 327 | TODO: add return values.\r |
ead42efc | 328 | \r |
329 | **/\r | |
330 | EFI_STATUS\r | |
331 | DRDYReady2 (\r | |
332 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
333 | IN UINTN DelayInMilliSeconds\r | |
ed66e1bc | 334 | );\r |
ead42efc | 335 | \r |
336 | /**\r | |
337 | TODO: Add function description\r | |
338 | \r | |
339 | @param Destination TODO: add argument description\r | |
340 | @param Source TODO: add argument description\r | |
341 | @param Size TODO: add argument description\r | |
342 | \r | |
97404058 | 343 | TODO: add return values.\r |
ead42efc | 344 | \r |
345 | **/\r | |
346 | VOID\r | |
347 | SwapStringChars (\r | |
348 | IN CHAR8 *Destination,\r | |
349 | IN CHAR8 *Source,\r | |
350 | IN UINT32 Size\r | |
ed66e1bc | 351 | );\r |
ead42efc | 352 | \r |
353 | //\r | |
354 | // ATA device functions' prototype\r | |
355 | //\r | |
356 | /**\r | |
357 | TODO: Add function description\r | |
358 | \r | |
359 | @param IdeDev TODO: add argument description\r | |
360 | \r | |
97404058 | 361 | TODO: add return values.\r |
ead42efc | 362 | \r |
363 | **/\r | |
364 | EFI_STATUS\r | |
365 | ATAIdentify (\r | |
366 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 367 | );\r |
ead42efc | 368 | \r |
369 | /**\r | |
370 | TODO: Add function description\r | |
371 | \r | |
372 | @param IdeDev TODO: add argument description\r | |
373 | \r | |
97404058 | 374 | TODO: add return values.\r |
ead42efc | 375 | \r |
376 | **/\r | |
377 | VOID\r | |
378 | PrintAtaModuleName (\r | |
379 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 380 | );\r |
ead42efc | 381 | \r |
382 | /**\r | |
383 | TODO: Add function description\r | |
384 | \r | |
385 | @param IdeDev TODO: add argument description\r | |
386 | @param Buffer TODO: add argument description\r | |
387 | @param ByteCount TODO: add argument description\r | |
388 | @param AtaCommand TODO: add argument description\r | |
389 | @param Head TODO: add argument description\r | |
390 | @param SectorCount TODO: add argument description\r | |
391 | @param SectorNumber TODO: add argument description\r | |
392 | @param CylinderLsb TODO: add argument description\r | |
393 | @param CylinderMsb TODO: add argument description\r | |
394 | \r | |
97404058 | 395 | TODO: add return values.\r |
ead42efc | 396 | \r |
397 | **/\r | |
398 | EFI_STATUS\r | |
399 | AtaPioDataIn (\r | |
400 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
401 | IN VOID *Buffer,\r | |
402 | IN UINT32 ByteCount,\r | |
403 | IN UINT8 AtaCommand,\r | |
404 | IN UINT8 Head,\r | |
405 | IN UINT8 SectorCount,\r | |
406 | IN UINT8 SectorNumber,\r | |
407 | IN UINT8 CylinderLsb,\r | |
408 | IN UINT8 CylinderMsb\r | |
ed66e1bc | 409 | );\r |
ead42efc | 410 | \r |
411 | /**\r | |
412 | TODO: Add function description\r | |
413 | \r | |
414 | @param IdeDev TODO: add argument description\r | |
415 | @param Buffer TODO: add argument description\r | |
416 | @param ByteCount TODO: add argument description\r | |
417 | @param AtaCommand TODO: add argument description\r | |
418 | @param Head TODO: add argument description\r | |
419 | @param SectorCount TODO: add argument description\r | |
420 | @param SectorNumber TODO: add argument description\r | |
421 | @param CylinderLsb TODO: add argument description\r | |
422 | @param CylinderMsb TODO: add argument description\r | |
423 | \r | |
97404058 | 424 | TODO: add return values.\r |
ead42efc | 425 | \r |
426 | **/\r | |
427 | EFI_STATUS\r | |
428 | AtaPioDataOut (\r | |
429 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
430 | IN VOID *Buffer,\r | |
431 | IN UINT32 ByteCount,\r | |
432 | IN UINT8 AtaCommand,\r | |
433 | IN UINT8 Head,\r | |
434 | IN UINT8 SectorCount,\r | |
435 | IN UINT8 SectorNumber,\r | |
436 | IN UINT8 CylinderLsb,\r | |
437 | IN UINT8 CylinderMsb\r | |
ed66e1bc | 438 | );\r |
ead42efc | 439 | \r |
440 | /**\r | |
441 | TODO: Add function description\r | |
442 | \r | |
443 | @param IdeDev TODO: add argument description\r | |
444 | \r | |
eeefcb9d | 445 | TODO: add return values.\r |
ead42efc | 446 | \r |
447 | **/\r | |
448 | EFI_STATUS\r | |
449 | CheckErrorStatus (\r | |
450 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 451 | );\r |
ead42efc | 452 | \r |
453 | /**\r | |
454 | TODO: Add function description\r | |
455 | \r | |
456 | @param IdeDev TODO: add argument description\r | |
457 | @param DataBuffer TODO: add argument description\r | |
458 | @param Lba TODO: add argument description\r | |
459 | @param NumberOfBlocks TODO: add argument description\r | |
460 | \r | |
97404058 | 461 | TODO: add return values.\r |
ead42efc | 462 | \r |
463 | **/\r | |
464 | EFI_STATUS\r | |
465 | AtaReadSectors (\r | |
466 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
467 | IN VOID *DataBuffer,\r | |
468 | IN EFI_LBA Lba,\r | |
469 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 470 | );\r |
ead42efc | 471 | \r |
472 | /**\r | |
473 | TODO: Add function description\r | |
474 | \r | |
475 | @param IdeDev TODO: add argument description\r | |
476 | @param BufferData TODO: add argument description\r | |
477 | @param Lba TODO: add argument description\r | |
478 | @param NumberOfBlocks TODO: add argument description\r | |
479 | \r | |
97404058 | 480 | TODO: add return values.\r |
ead42efc | 481 | \r |
482 | **/\r | |
483 | EFI_STATUS\r | |
484 | AtaWriteSectors (\r | |
485 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
486 | IN VOID *BufferData,\r | |
487 | IN EFI_LBA Lba,\r | |
488 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 489 | );\r |
ead42efc | 490 | \r |
491 | /**\r | |
492 | TODO: Add function description\r | |
493 | \r | |
494 | @param IdeDev TODO: add argument description\r | |
495 | \r | |
97404058 | 496 | TODO: add return values.\r |
ead42efc | 497 | \r |
498 | **/\r | |
499 | EFI_STATUS\r | |
500 | AtaSoftReset (\r | |
501 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 502 | );\r |
ead42efc | 503 | \r |
504 | /**\r | |
505 | TODO: Add function description\r | |
506 | \r | |
507 | @param IdeBlkIoDevice TODO: add argument description\r | |
508 | @param MediaId TODO: add argument description\r | |
509 | @param LBA TODO: add argument description\r | |
510 | @param BufferSize TODO: add argument description\r | |
511 | @param Buffer TODO: add argument description\r | |
512 | \r | |
97404058 | 513 | TODO: add return values.\r |
ead42efc | 514 | \r |
515 | **/\r | |
516 | EFI_STATUS\r | |
517 | AtaBlkIoReadBlocks (\r | |
518 | IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r | |
519 | IN UINT32 MediaId,\r | |
520 | IN EFI_LBA LBA,\r | |
521 | IN UINTN BufferSize,\r | |
522 | OUT VOID *Buffer\r | |
ed66e1bc | 523 | );\r |
ead42efc | 524 | \r |
525 | /**\r | |
526 | TODO: Add function description\r | |
527 | \r | |
528 | @param IdeBlkIoDevice TODO: add argument description\r | |
529 | @param MediaId TODO: add argument description\r | |
530 | @param LBA TODO: add argument description\r | |
531 | @param BufferSize TODO: add argument description\r | |
532 | @param Buffer TODO: add argument description\r | |
533 | \r | |
97404058 | 534 | TODO: add return values.\r |
ead42efc | 535 | \r |
536 | **/\r | |
537 | EFI_STATUS\r | |
538 | AtaBlkIoWriteBlocks (\r | |
539 | IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r | |
540 | IN UINT32 MediaId,\r | |
541 | IN EFI_LBA LBA,\r | |
542 | IN UINTN BufferSize,\r | |
543 | OUT VOID *Buffer\r | |
ed66e1bc | 544 | );\r |
ead42efc | 545 | \r |
546 | //\r | |
547 | // ATAPI device functions' prototype\r | |
548 | //\r | |
549 | /**\r | |
550 | TODO: Add function description\r | |
551 | \r | |
552 | @param IdeDev TODO: add argument description\r | |
553 | \r | |
97404058 | 554 | TODO: add return values.\r |
ead42efc | 555 | \r |
556 | **/\r | |
557 | EFI_STATUS\r | |
558 | ATAPIIdentify (\r | |
559 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 560 | );\r |
ead42efc | 561 | \r |
562 | /**\r | |
563 | TODO: Add function description\r | |
564 | \r | |
565 | @param IdeDev TODO: add argument description\r | |
566 | \r | |
97404058 | 567 | TODO: add return values.\r |
ead42efc | 568 | \r |
569 | **/\r | |
570 | EFI_STATUS\r | |
571 | AtapiInquiry (\r | |
572 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 573 | );\r |
ead42efc | 574 | \r |
575 | /**\r | |
576 | TODO: Add function description\r | |
577 | \r | |
578 | @param IdeDev TODO: add argument description\r | |
579 | @param Packet TODO: add argument description\r | |
580 | @param Buffer TODO: add argument description\r | |
581 | @param ByteCount TODO: add argument description\r | |
582 | @param TimeOut TODO: add argument description\r | |
583 | \r | |
97404058 | 584 | TODO: add return values.\r |
ead42efc | 585 | \r |
586 | **/\r | |
587 | EFI_STATUS\r | |
588 | AtapiPacketCommandIn (\r | |
589 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
590 | IN ATAPI_PACKET_COMMAND *Packet,\r | |
591 | IN UINT16 *Buffer,\r | |
592 | IN UINT32 ByteCount,\r | |
593 | IN UINTN TimeOut\r | |
ed66e1bc | 594 | );\r |
ead42efc | 595 | \r |
596 | /**\r | |
597 | TODO: Add function description\r | |
598 | \r | |
599 | @param IdeDev TODO: add argument description\r | |
600 | @param Packet TODO: add argument description\r | |
601 | @param Buffer TODO: add argument description\r | |
602 | @param ByteCount TODO: add argument description\r | |
603 | @param TimeOut TODO: add argument description\r | |
604 | \r | |
97404058 | 605 | TODO: add return values.\r |
ead42efc | 606 | \r |
607 | **/\r | |
608 | EFI_STATUS\r | |
609 | AtapiPacketCommandOut (\r | |
610 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
611 | IN ATAPI_PACKET_COMMAND *Packet,\r | |
612 | IN UINT16 *Buffer,\r | |
613 | IN UINT32 ByteCount,\r | |
614 | IN UINTN TimeOut\r | |
ed66e1bc | 615 | );\r |
ead42efc | 616 | \r |
617 | /**\r | |
618 | TODO: Add function description\r | |
619 | \r | |
620 | @param IdeDev TODO: add argument description\r | |
621 | @param Buffer TODO: add argument description\r | |
622 | @param ByteCount TODO: add argument description\r | |
623 | @param Read TODO: add argument description\r | |
624 | @param TimeOut TODO: add argument description\r | |
625 | \r | |
97404058 | 626 | TODO: add return values.\r |
ead42efc | 627 | \r |
628 | **/\r | |
629 | EFI_STATUS\r | |
630 | PioReadWriteData (\r | |
631 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
632 | IN UINT16 *Buffer,\r | |
633 | IN UINT32 ByteCount,\r | |
634 | IN BOOLEAN Read,\r | |
635 | IN UINTN TimeOut\r | |
ed66e1bc | 636 | );\r |
ead42efc | 637 | \r |
638 | /**\r | |
639 | TODO: Add function description\r | |
640 | \r | |
97404058 | 641 | @param IdeDev TODO: add argument description\r |
642 | @param SResult TODO: add argument description\r | |
ead42efc | 643 | \r |
97404058 | 644 | TODO: add return values.\r |
ead42efc | 645 | \r |
646 | **/\r | |
647 | EFI_STATUS\r | |
648 | AtapiTestUnitReady (\r | |
649 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
9ebae8ae | 650 | OUT SENSE_RESULT *SResult \r |
ed66e1bc | 651 | );\r |
ead42efc | 652 | \r |
653 | /**\r | |
654 | TODO: Add function description\r | |
655 | \r | |
656 | @param IdeDev TODO: add argument description\r | |
657 | @param SenseCounts TODO: add argument description\r | |
658 | \r | |
97404058 | 659 | TODO: add return values.\r |
ead42efc | 660 | \r |
661 | **/\r | |
662 | EFI_STATUS\r | |
663 | AtapiRequestSense (\r | |
664 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
665 | OUT UINTN *SenseCounts\r | |
ed66e1bc | 666 | );\r |
ead42efc | 667 | \r |
668 | /**\r | |
669 | TODO: Add function description\r | |
670 | \r | |
97404058 | 671 | @param IdeDev TODO: add argument description\r |
672 | @param SResult TODO: add argument description\r | |
ead42efc | 673 | \r |
97404058 | 674 | TODO: add return values.\r |
ead42efc | 675 | \r |
676 | **/\r | |
677 | EFI_STATUS\r | |
678 | AtapiReadCapacity (\r | |
679 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
9ebae8ae | 680 | OUT SENSE_RESULT *SResult \r |
ed66e1bc | 681 | );\r |
ead42efc | 682 | \r |
683 | /**\r | |
684 | TODO: Add function description\r | |
685 | \r | |
686 | @param IdeDev TODO: add argument description\r | |
687 | @param MediaChange TODO: add argument description\r | |
688 | \r | |
97404058 | 689 | TODO: add return values.\r |
ead42efc | 690 | \r |
691 | **/\r | |
692 | EFI_STATUS\r | |
693 | AtapiDetectMedia (\r | |
694 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
695 | OUT BOOLEAN *MediaChange\r | |
ed66e1bc | 696 | );\r |
ead42efc | 697 | \r |
698 | /**\r | |
699 | TODO: Add function description\r | |
700 | \r | |
701 | @param IdeDev TODO: add argument description\r | |
702 | @param Buffer TODO: add argument description\r | |
703 | @param Lba TODO: add argument description\r | |
704 | @param NumberOfBlocks TODO: add argument description\r | |
705 | \r | |
97404058 | 706 | TODO: add return values.\r |
ead42efc | 707 | \r |
708 | **/\r | |
709 | EFI_STATUS\r | |
710 | AtapiReadSectors (\r | |
711 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
712 | IN VOID *Buffer,\r | |
713 | IN EFI_LBA Lba,\r | |
714 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 715 | );\r |
ead42efc | 716 | \r |
717 | /**\r | |
718 | TODO: Add function description\r | |
719 | \r | |
720 | @param IdeDev TODO: add argument description\r | |
721 | @param Buffer TODO: add argument description\r | |
722 | @param Lba TODO: add argument description\r | |
723 | @param NumberOfBlocks TODO: add argument description\r | |
724 | \r | |
97404058 | 725 | TODO: add return values.\r |
ead42efc | 726 | \r |
727 | **/\r | |
728 | EFI_STATUS\r | |
729 | AtapiWriteSectors (\r | |
730 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
731 | IN VOID *Buffer,\r | |
732 | IN EFI_LBA Lba,\r | |
733 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 734 | );\r |
ead42efc | 735 | \r |
736 | /**\r | |
737 | TODO: Add function description\r | |
738 | \r | |
739 | @param IdeDev TODO: add argument description\r | |
740 | \r | |
97404058 | 741 | TODO: add return values.\r |
ead42efc | 742 | \r |
743 | **/\r | |
744 | EFI_STATUS\r | |
745 | AtapiSoftReset (\r | |
746 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 747 | );\r |
ead42efc | 748 | \r |
749 | /**\r | |
750 | TODO: Add function description\r | |
751 | \r | |
752 | @param IdeBlkIoDevice TODO: add argument description\r | |
753 | @param MediaId TODO: add argument description\r | |
754 | @param LBA TODO: add argument description\r | |
755 | @param BufferSize TODO: add argument description\r | |
756 | @param Buffer TODO: add argument description\r | |
757 | \r | |
97404058 | 758 | TODO: add return values.\r |
ead42efc | 759 | \r |
760 | **/\r | |
761 | EFI_STATUS\r | |
762 | AtapiBlkIoReadBlocks (\r | |
763 | IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r | |
764 | IN UINT32 MediaId,\r | |
765 | IN EFI_LBA LBA,\r | |
766 | IN UINTN BufferSize,\r | |
767 | OUT VOID *Buffer\r | |
ed66e1bc | 768 | );\r |
ead42efc | 769 | \r |
770 | /**\r | |
771 | TODO: Add function description\r | |
772 | \r | |
773 | @param IdeBlkIoDevice TODO: add argument description\r | |
774 | @param MediaId TODO: add argument description\r | |
775 | @param LBA TODO: add argument description\r | |
776 | @param BufferSize TODO: add argument description\r | |
777 | @param Buffer TODO: add argument description\r | |
778 | \r | |
97404058 | 779 | TODO: add return values.\r |
ead42efc | 780 | \r |
781 | **/\r | |
782 | EFI_STATUS\r | |
783 | AtapiBlkIoWriteBlocks (\r | |
784 | IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r | |
785 | IN UINT32 MediaId,\r | |
786 | IN EFI_LBA LBA,\r | |
787 | IN UINTN BufferSize,\r | |
788 | OUT VOID *Buffer\r | |
ed66e1bc | 789 | );\r |
ead42efc | 790 | \r |
791 | /**\r | |
792 | TODO: Add function description\r | |
793 | \r | |
794 | @param IdeDev TODO: add argument description\r | |
795 | @param SenseCount TODO: add argument description\r | |
796 | @param Result TODO: add argument description\r | |
797 | \r | |
97404058 | 798 | TODO: add return values.\r |
ead42efc | 799 | \r |
800 | **/\r | |
801 | EFI_STATUS\r | |
802 | ParseSenseData (\r | |
803 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
804 | IN UINTN SenseCount,\r | |
805 | OUT SENSE_RESULT *Result\r | |
ed66e1bc | 806 | );\r |
ead42efc | 807 | \r |
808 | /**\r | |
809 | TODO: Add function description\r | |
810 | \r | |
811 | @param IdeDev TODO: add argument description\r | |
812 | \r | |
97404058 | 813 | TODO: add return values.\r |
ead42efc | 814 | \r |
815 | **/\r | |
816 | EFI_STATUS\r | |
817 | AtapiReadPendingData (\r | |
818 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 819 | );\r |
ead42efc | 820 | \r |
821 | /**\r | |
822 | TODO: Add function description\r | |
823 | \r | |
824 | @param IdeDev TODO: add argument description\r | |
825 | @param WriteProtected TODO: add argument description\r | |
826 | \r | |
97404058 | 827 | TODO: add return values.\r |
ead42efc | 828 | \r |
829 | **/\r | |
830 | EFI_STATUS\r | |
831 | IsLS120orZipWriteProtected (\r | |
832 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
833 | OUT BOOLEAN *WriteProtected\r | |
ed66e1bc | 834 | );\r |
ead42efc | 835 | \r |
836 | /**\r | |
837 | TODO: Add function description\r | |
838 | \r | |
839 | @param IdeBlkIoDevice TODO: add argument description\r | |
840 | \r | |
97404058 | 841 | TODO: add return values.\r |
ead42efc | 842 | \r |
843 | **/\r | |
844 | VOID\r | |
845 | ReleaseIdeResources (\r | |
846 | IN IDE_BLK_IO_DEV *IdeBlkIoDevice\r | |
ed66e1bc | 847 | );\r |
ead42efc | 848 | \r |
849 | /**\r | |
850 | TODO: Add function description\r | |
851 | \r | |
852 | @param IdeDev TODO: add argument description\r | |
853 | @param TransferMode TODO: add argument description\r | |
854 | \r | |
97404058 | 855 | TODO: add return values.\r |
ead42efc | 856 | \r |
857 | **/\r | |
858 | EFI_STATUS\r | |
859 | SetDeviceTransferMode (\r | |
860 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
861 | IN ATA_TRANSFER_MODE *TransferMode\r | |
ed66e1bc | 862 | );\r |
ead42efc | 863 | \r |
864 | /**\r | |
865 | TODO: Add function description\r | |
866 | \r | |
867 | @param IdeDev TODO: add argument description\r | |
868 | @param NativeMaxAddress TODO: add argument description\r | |
869 | \r | |
97404058 | 870 | TODO: add return values.\r |
ead42efc | 871 | \r |
872 | **/\r | |
873 | EFI_STATUS\r | |
874 | ReadNativeMaxAddress (\r | |
875 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
876 | OUT EFI_LBA *NativeMaxAddress\r | |
ed66e1bc | 877 | );\r |
ead42efc | 878 | \r |
879 | /**\r | |
880 | TODO: Add function description\r | |
881 | \r | |
882 | @param IdeDev TODO: add argument description\r | |
883 | @param MaxAddress TODO: add argument description\r | |
884 | @param bVolatile TODO: add argument description\r | |
885 | \r | |
97404058 | 886 | TODO: add return values.\r |
ead42efc | 887 | \r |
888 | **/\r | |
889 | EFI_STATUS\r | |
890 | SetMaxAddress (\r | |
891 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
892 | IN EFI_LBA MaxAddress,\r | |
893 | IN BOOLEAN bVolatile\r | |
ed66e1bc | 894 | );\r |
ead42efc | 895 | \r |
896 | /**\r | |
897 | TODO: Add function description\r | |
898 | \r | |
899 | @param IdeDev TODO: add argument description\r | |
900 | @param AtaCommand TODO: add argument description\r | |
901 | @param Device TODO: add argument description\r | |
902 | @param Feature TODO: add argument description\r | |
903 | @param SectorCount TODO: add argument description\r | |
904 | @param LbaLow TODO: add argument description\r | |
905 | @param LbaMiddle TODO: add argument description\r | |
906 | @param LbaHigh TODO: add argument description\r | |
907 | \r | |
97404058 | 908 | TODO: add return values.\r |
ead42efc | 909 | \r |
910 | **/\r | |
911 | EFI_STATUS\r | |
912 | AtaNonDataCommandIn (\r | |
913 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
914 | IN UINT8 AtaCommand,\r | |
915 | IN UINT8 Device,\r | |
916 | IN UINT8 Feature,\r | |
917 | IN UINT8 SectorCount,\r | |
918 | IN UINT8 LbaLow,\r | |
919 | IN UINT8 LbaMiddle,\r | |
920 | IN UINT8 LbaHigh\r | |
ed66e1bc | 921 | );\r |
ead42efc | 922 | \r |
923 | /**\r | |
924 | TODO: Add function description\r | |
925 | \r | |
926 | @param IdeDev TODO: add argument description\r | |
927 | @param AtaCommand TODO: add argument description\r | |
928 | @param Device TODO: add argument description\r | |
929 | @param Feature TODO: add argument description\r | |
930 | @param SectorCount TODO: add argument description\r | |
931 | @param LbaAddress TODO: add argument description\r | |
932 | \r | |
97404058 | 933 | TODO: add return values.\r |
ead42efc | 934 | \r |
935 | **/\r | |
936 | EFI_STATUS\r | |
937 | AtaNonDataCommandInExt (\r | |
938 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
939 | IN UINT8 AtaCommand,\r | |
940 | IN UINT8 Device,\r | |
941 | IN UINT16 Feature,\r | |
942 | IN UINT16 SectorCount,\r | |
943 | IN EFI_LBA LbaAddress\r | |
ed66e1bc | 944 | );\r |
ead42efc | 945 | \r |
946 | /**\r | |
947 | TODO: Add function description\r | |
948 | \r | |
949 | @param IdeDev TODO: add argument description\r | |
950 | @param DataBuffer TODO: add argument description\r | |
951 | @param StartLba TODO: add argument description\r | |
952 | @param NumberOfBlocks TODO: add argument description\r | |
953 | \r | |
97404058 | 954 | TODO: add return values.\r |
ead42efc | 955 | \r |
956 | **/\r | |
957 | EFI_STATUS\r | |
958 | AtaReadSectorsExt (\r | |
959 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
960 | IN VOID *DataBuffer,\r | |
961 | IN EFI_LBA StartLba,\r | |
962 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 963 | );\r |
ead42efc | 964 | \r |
965 | /**\r | |
966 | TODO: Add function description\r | |
967 | \r | |
968 | @param IdeDev TODO: add argument description\r | |
969 | @param DataBuffer TODO: add argument description\r | |
970 | @param StartLba TODO: add argument description\r | |
971 | @param NumberOfBlocks TODO: add argument description\r | |
972 | \r | |
97404058 | 973 | TODO: add return values.\r |
ead42efc | 974 | \r |
975 | **/\r | |
976 | EFI_STATUS\r | |
977 | AtaWriteSectorsExt (\r | |
978 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
979 | IN VOID *DataBuffer,\r | |
980 | IN EFI_LBA StartLba,\r | |
981 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 982 | );\r |
ead42efc | 983 | \r |
984 | /**\r | |
985 | TODO: Add function description\r | |
986 | \r | |
987 | @param IdeDev TODO: add argument description\r | |
988 | @param DataBuffer TODO: add argument description\r | |
989 | @param StartLba TODO: add argument description\r | |
990 | @param NumberOfBlocks TODO: add argument description\r | |
991 | \r | |
97404058 | 992 | TODO: add return values.\r |
ead42efc | 993 | \r |
994 | **/\r | |
995 | EFI_STATUS\r | |
996 | AtaUdmaReadExt (\r | |
997 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
998 | IN VOID *DataBuffer,\r | |
999 | IN EFI_LBA StartLba,\r | |
1000 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 1001 | );\r |
ead42efc | 1002 | \r |
1003 | /**\r | |
1004 | TODO: Add function description\r | |
1005 | \r | |
1006 | @param IdeDev TODO: add argument description\r | |
1007 | @param DataBuffer TODO: add argument description\r | |
1008 | @param StartLba TODO: add argument description\r | |
1009 | @param NumberOfBlocks TODO: add argument description\r | |
1010 | \r | |
97404058 | 1011 | TODO: add return values.\r |
ead42efc | 1012 | \r |
1013 | **/\r | |
1014 | EFI_STATUS\r | |
1015 | AtaUdmaRead (\r | |
1016 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1017 | IN VOID *DataBuffer,\r | |
1018 | IN EFI_LBA StartLba,\r | |
1019 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 1020 | );\r |
ead42efc | 1021 | \r |
1022 | /**\r | |
1023 | TODO: Add function description\r | |
1024 | \r | |
1025 | @param IdeDev TODO: add argument description\r | |
1026 | @param DataBuffer TODO: add argument description\r | |
1027 | @param StartLba TODO: add argument description\r | |
1028 | @param NumberOfBlocks TODO: add argument description\r | |
1029 | \r | |
97404058 | 1030 | TODO: add return values.\r |
ead42efc | 1031 | \r |
1032 | **/\r | |
1033 | EFI_STATUS\r | |
1034 | AtaUdmaWriteExt (\r | |
1035 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1036 | IN VOID *DataBuffer,\r | |
1037 | IN EFI_LBA StartLba,\r | |
1038 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 1039 | );\r |
ead42efc | 1040 | \r |
1041 | /**\r | |
1042 | Perform an ATA Udma operation (Read, ReadExt, Write, WriteExt).\r | |
1043 | \r | |
1044 | @param[in] *IdeDev\r | |
1045 | pointer pointing to IDE_BLK_IO_DEV data structure, used\r | |
1046 | to record all the information of the IDE device.\r | |
1047 | \r | |
1048 | @param[in] *DataBuffer\r | |
1049 | A pointer to the source buffer for the data.\r | |
1050 | \r | |
1051 | @param[in] StartLba\r | |
1052 | The starting logical block address to write to\r | |
1053 | on the device media.\r | |
1054 | \r | |
1055 | @param[in] NumberOfBlocks\r | |
1056 | The number of transfer data blocks.\r | |
1057 | \r | |
1058 | @param[in] UdmaOp\r | |
1059 | The perform operations could be AtaUdmaReadOp, AtaUdmaReadExOp,\r | |
1060 | AtaUdmaWriteOp, AtaUdmaWriteExOp\r | |
1061 | \r | |
1062 | @return The device status of UDMA operation. If the operation is\r | |
1063 | successful, return EFI_SUCCESS.\r | |
1064 | \r | |
1065 | **/\r | |
1066 | EFI_STATUS\r | |
1067 | DoAtaUdma (\r | |
1068 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1069 | IN VOID *DataBuffer,\r | |
1070 | IN EFI_LBA StartLba,\r | |
1071 | IN UINTN NumberOfBlocks,\r | |
1072 | IN ATA_UDMA_OPERATION UdmaOp\r | |
ed66e1bc | 1073 | );\r |
ead42efc | 1074 | \r |
1075 | \r | |
1076 | /**\r | |
1077 | TODO: Add function description\r | |
1078 | \r | |
1079 | @param IdeDev TODO: add argument description\r | |
1080 | @param DataBuffer TODO: add argument description\r | |
1081 | @param StartLba TODO: add argument description\r | |
1082 | @param NumberOfBlocks TODO: add argument description\r | |
1083 | \r | |
97404058 | 1084 | TODO: add return values.\r |
ead42efc | 1085 | \r |
1086 | **/\r | |
1087 | EFI_STATUS\r | |
1088 | AtaUdmaWrite (\r | |
1089 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1090 | IN VOID *DataBuffer,\r | |
1091 | IN EFI_LBA StartLba,\r | |
1092 | IN UINTN NumberOfBlocks\r | |
ed66e1bc | 1093 | );\r |
ead42efc | 1094 | \r |
1095 | /**\r | |
1096 | TODO: Add function description\r | |
1097 | \r | |
1098 | @param IdeDev TODO: add argument description\r | |
1099 | @param AtaCommand TODO: add argument description\r | |
1100 | @param Device TODO: add argument description\r | |
1101 | @param Feature TODO: add argument description\r | |
1102 | @param SectorCount TODO: add argument description\r | |
1103 | @param LbaAddress TODO: add argument description\r | |
1104 | \r | |
97404058 | 1105 | TODO: add return values.\r |
ead42efc | 1106 | \r |
1107 | **/\r | |
1108 | EFI_STATUS\r | |
1109 | AtaCommandIssueExt (\r | |
1110 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1111 | IN UINT8 AtaCommand,\r | |
1112 | IN UINT8 Device,\r | |
1113 | IN UINT16 Feature,\r | |
1114 | IN UINT16 SectorCount,\r | |
1115 | IN EFI_LBA LbaAddress\r | |
ed66e1bc | 1116 | );\r |
ead42efc | 1117 | \r |
1118 | /**\r | |
1119 | TODO: Add function description\r | |
1120 | \r | |
1121 | @param IdeDev TODO: add argument description\r | |
1122 | @param AtaCommand TODO: add argument description\r | |
1123 | @param Device TODO: add argument description\r | |
1124 | @param Feature TODO: add argument description\r | |
1125 | @param SectorCount TODO: add argument description\r | |
1126 | @param LbaAddress TODO: add argument description\r | |
1127 | \r | |
97404058 | 1128 | TODO: add return values.\r |
ead42efc | 1129 | \r |
1130 | **/\r | |
1131 | EFI_STATUS\r | |
1132 | AtaCommandIssue (\r | |
1133 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1134 | IN UINT8 AtaCommand,\r | |
1135 | IN UINT8 Device,\r | |
1136 | IN UINT16 Feature,\r | |
1137 | IN UINT16 SectorCount,\r | |
1138 | IN EFI_LBA LbaAddress\r | |
ed66e1bc | 1139 | );\r |
ead42efc | 1140 | \r |
1141 | /**\r | |
1142 | TODO: Add function description\r | |
1143 | \r | |
1144 | @param IdeDev TODO: add argument description\r | |
1145 | \r | |
97404058 | 1146 | TODO: add return values.\r |
ead42efc | 1147 | \r |
1148 | **/\r | |
1149 | EFI_STATUS\r | |
1150 | AtaAtapi6Identify (\r | |
1151 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 1152 | );\r |
ead42efc | 1153 | \r |
1154 | \r | |
1155 | /**\r | |
1156 | TODO: Add function description\r | |
1157 | \r | |
1158 | @param IdeDev TODO: add argument description\r | |
1159 | \r | |
97404058 | 1160 | TODO: add return values.\r |
ead42efc | 1161 | \r |
1162 | **/\r | |
1163 | VOID\r | |
1164 | AtaSMARTSupport (\r | |
1165 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 1166 | );\r |
ead42efc | 1167 | \r |
75eccf9d | 1168 | \r |
1169 | /**\r | |
1170 | Enable Long Physical Sector Feature for ATA device.\r | |
1171 | \r | |
1172 | @param IdeDev The IDE device data\r | |
1173 | \r | |
1174 | @retval EFI_SUCCESS The ATA device supports Long Physical Sector feature\r | |
1175 | and corresponding fields in BlockIo structure is updated.\r | |
1176 | @retval EFI_UNSUPPORTED The device is not ATA device or Long Physical Sector\r | |
1177 | feature is not supported.\r | |
1178 | **/\r | |
1179 | EFI_STATUS\r | |
1180 | AtaEnableLongPhysicalSector (\r | |
1181 | IN IDE_BLK_IO_DEV *IdeDev\r | |
1182 | );\r | |
1183 | \r | |
ead42efc | 1184 | /**\r |
1185 | TODO: Add function description\r | |
1186 | \r | |
1187 | @param IdeDev TODO: add argument description\r | |
1188 | @param Buffer TODO: add argument description\r | |
1189 | @param ByteCount TODO: add argument description\r | |
1190 | @param AtaCommand TODO: add argument description\r | |
1191 | @param StartLba TODO: add argument description\r | |
1192 | @param SectorCount TODO: add argument description\r | |
1193 | \r | |
97404058 | 1194 | TODO: add return values.\r |
ead42efc | 1195 | \r |
1196 | **/\r | |
1197 | EFI_STATUS\r | |
1198 | AtaPioDataInExt (\r | |
1199 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1200 | IN OUT VOID *Buffer,\r | |
1201 | IN UINT32 ByteCount,\r | |
1202 | IN UINT8 AtaCommand,\r | |
1203 | IN EFI_LBA StartLba,\r | |
1204 | IN UINT16 SectorCount\r | |
ed66e1bc | 1205 | );\r |
ead42efc | 1206 | \r |
1207 | /**\r | |
1208 | TODO: Add function description\r | |
1209 | \r | |
1210 | @param IdeDev TODO: add argument description\r | |
1211 | @param Buffer TODO: add argument description\r | |
1212 | @param ByteCount TODO: add argument description\r | |
1213 | @param AtaCommand TODO: add argument description\r | |
1214 | @param StartLba TODO: add argument description\r | |
1215 | @param SectorCount TODO: add argument description\r | |
1216 | \r | |
97404058 | 1217 | TODO: add return values.\r |
ead42efc | 1218 | \r |
1219 | **/\r | |
1220 | EFI_STATUS\r | |
1221 | AtaPioDataOutExt (\r | |
1222 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1223 | IN VOID *Buffer,\r | |
1224 | IN UINT32 ByteCount,\r | |
1225 | IN UINT8 AtaCommand,\r | |
1226 | IN EFI_LBA StartLba,\r | |
1227 | IN UINT16 SectorCount\r | |
ed66e1bc | 1228 | );\r |
ead42efc | 1229 | \r |
1230 | /**\r | |
1231 | TODO: Add function description\r | |
1232 | \r | |
1233 | @param IdeDev TODO: add argument description\r | |
1234 | @param DriveParameters TODO: add argument description\r | |
1235 | \r | |
97404058 | 1236 | TODO: add return values.\r |
ead42efc | 1237 | \r |
1238 | **/\r | |
1239 | EFI_STATUS\r | |
1240 | SetDriveParameters (\r | |
1241 | IN IDE_BLK_IO_DEV *IdeDev,\r | |
1242 | IN ATA_DRIVE_PARMS *DriveParameters\r | |
ed66e1bc | 1243 | );\r |
ead42efc | 1244 | \r |
1245 | /**\r | |
1246 | TODO: Add function description\r | |
1247 | \r | |
1248 | @param IdeDev TODO: add argument description\r | |
1249 | \r | |
97404058 | 1250 | TODO: add return values.\r |
ead42efc | 1251 | \r |
1252 | **/\r | |
1253 | EFI_STATUS\r | |
1254 | EnableInterrupt (\r | |
1255 | IN IDE_BLK_IO_DEV *IdeDev\r | |
ed66e1bc | 1256 | );\r |
ead42efc | 1257 | \r |
1258 | /**\r | |
1259 | Clear pending IDE interrupt before OS loader/kernel take control of the IDE device.\r | |
1260 | \r | |
eeefcb9d | 1261 | @param[in] Event Pointer to this event.\r |
1262 | @param[in] Context Event hanlder private data.\r | |
ead42efc | 1263 | \r |
1264 | **/\r | |
1265 | VOID\r | |
1266 | EFIAPI\r | |
1267 | ClearInterrupt (\r | |
1268 | IN EFI_EVENT Event,\r | |
1269 | IN VOID *Context\r | |
ed66e1bc | 1270 | );\r |
ead42efc | 1271 | \r |
1272 | #endif\r |