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