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