]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Bus/Pci/IdeBus/Dxe/ide.h
Fix capitalization.
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / IdeBus / Dxe / ide.h
1 /*++
2 Copyright (c) 2006, Intel Corporation
3 All rights reserved. This program and the accompanying materials
4 are licensed and made available under the terms and conditions of the BSD License
5 which accompanies this distribution. The full text of the license may be found at
6 http://opensource.org/licenses/bsd-license.php
7
8 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10
11 Module Name:
12
13 ide.h
14
15 Abstract:
16
17 Header file for IDE Bus Driver, containing the helper functions'
18 entire prototype.
19
20 Revision History
21
22 2002-6: Add Atapi6 enhancement, support >120GB hard disk, including
23 Add - IDEBlkIoReadBlocksExt() func definition
24 Add - IDEBlkIoWriteBlocksExt() func definition
25
26 ++*/
27
28 // TODO: fix comment to end with --*/
29 #ifndef _IDE_H
30 #define _IDE_H
31
32 //
33 // Helper functions Prototype
34 //
35 EFI_STATUS
36 DeRegisterIdeDevice (
37 IN EFI_DRIVER_BINDING_PROTOCOL *This,
38 IN EFI_HANDLE Controller,
39 IN EFI_HANDLE Handle
40 )
41 /*++
42
43 Routine Description:
44
45 TODO: Add function description
46
47 Arguments:
48
49 This - TODO: add argument description
50 Controller - TODO: add argument description
51 Handle - TODO: add argument description
52
53 Returns:
54
55 TODO: add return values
56
57 --*/
58 ;
59
60 EFI_STATUS
61 EnableIdeDevice (
62 IN EFI_HANDLE Controller,
63 IN EFI_PCI_IO_PROTOCOL *PciIo,
64 IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,
65 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
66 )
67 /*++
68
69 Routine Description:
70
71 TODO: Add function description
72
73 Arguments:
74
75 Controller - TODO: add argument description
76 PciIo - TODO: add argument description
77 ParentDevicePath - TODO: add argument description
78 RemainingDevicePath - TODO: add argument description
79
80 Returns:
81
82 TODO: add return values
83
84 --*/
85 ;
86
87 UINT8
88 IDEReadPortB (
89 IN EFI_PCI_IO_PROTOCOL *PciIo,
90 IN UINT16 Port
91 )
92 /*++
93
94 Routine Description:
95
96 TODO: Add function description
97
98 Arguments:
99
100 PciIo - TODO: add argument description
101 Port - TODO: add argument description
102
103 Returns:
104
105 TODO: add return values
106
107 --*/
108 ;
109
110 VOID
111 IDEReadPortWMultiple (
112 IN EFI_PCI_IO_PROTOCOL *PciIo,
113 IN UINT16 Port,
114 IN UINTN Count,
115 OUT VOID *Buffer
116 )
117 /*++
118
119 Routine Description:
120
121 TODO: Add function description
122
123 Arguments:
124
125 PciIo - TODO: add argument description
126 Port - TODO: add argument description
127 Count - TODO: add argument description
128 Buffer - TODO: add argument description
129
130 Returns:
131
132 TODO: add return values
133
134 --*/
135 ;
136
137 VOID
138 IDEWritePortB (
139 IN EFI_PCI_IO_PROTOCOL *PciIo,
140 IN UINT16 Port,
141 IN UINT8 Data
142 )
143 /*++
144
145 Routine Description:
146
147 TODO: Add function description
148
149 Arguments:
150
151 PciIo - TODO: add argument description
152 Port - TODO: add argument description
153 Data - TODO: add argument description
154
155 Returns:
156
157 TODO: add return values
158
159 --*/
160 ;
161
162 VOID
163 IDEWritePortW (
164 IN EFI_PCI_IO_PROTOCOL *PciIo,
165 IN UINT16 Port,
166 IN UINT16 Data
167 )
168 /*++
169
170 Routine Description:
171
172 TODO: Add function description
173
174 Arguments:
175
176 PciIo - TODO: add argument description
177 Port - TODO: add argument description
178 Data - TODO: add argument description
179
180 Returns:
181
182 TODO: add return values
183
184 --*/
185 ;
186
187 VOID
188 IDEWritePortWMultiple (
189 IN EFI_PCI_IO_PROTOCOL *PciIo,
190 IN UINT16 Port,
191 IN UINTN Count,
192 IN VOID *Buffer
193 )
194 /*++
195
196 Routine Description:
197
198 TODO: Add function description
199
200 Arguments:
201
202 PciIo - TODO: add argument description
203 Port - TODO: add argument description
204 Count - TODO: add argument description
205 Buffer - TODO: add argument description
206
207 Returns:
208
209 TODO: add return values
210
211 --*/
212 ;
213
214 EFI_STATUS
215 GetIdeRegistersBaseAddr (
216 IN EFI_PCI_IO_PROTOCOL *PciIo,
217 OUT IDE_REGISTERS_BASE_ADDR *IdeRegsBaseAddr
218 )
219 /*++
220
221 Routine Description:
222
223 TODO: Add function description
224
225 Arguments:
226
227 PciIo - TODO: add argument description
228 IdeRegsBaseAddr - TODO: add argument description
229
230 Returns:
231
232 TODO: add return values
233
234 --*/
235 ;
236
237 EFI_STATUS
238 ReassignIdeResources (
239 IN IDE_BLK_IO_DEV *IdeDev
240 )
241 /*++
242
243 Routine Description:
244
245 TODO: Add function description
246
247 Arguments:
248
249 IdeDev - TODO: add argument description
250
251 Returns:
252
253 TODO: add return values
254
255 --*/
256 ;
257
258 EFI_STATUS
259 DiscoverIdeDevice (
260 IN IDE_BLK_IO_DEV *IdeDev
261 )
262 /*++
263
264 Routine Description:
265
266 TODO: Add function description
267
268 Arguments:
269
270 IdeDev - TODO: add argument description
271
272 Returns:
273
274 TODO: add return values
275
276 --*/
277 ;
278
279 EFI_STATUS
280 DetectIDEController (
281 IN IDE_BLK_IO_DEV *IdeDev
282 )
283 /*++
284
285 Routine Description:
286
287 TODO: Add function description
288
289 Arguments:
290
291 IdeDev - TODO: add argument description
292
293 Returns:
294
295 TODO: add return values
296
297 --*/
298 ;
299
300 EFI_STATUS
301 DRQClear (
302 IN IDE_BLK_IO_DEV *IdeDev,
303 IN UINTN TimeoutInMilliSeconds
304 )
305 /*++
306
307 Routine Description:
308
309 TODO: Add function description
310
311 Arguments:
312
313 IdeDev - TODO: add argument description
314 TimeoutInMilliSeconds - TODO: add argument description
315
316 Returns:
317
318 TODO: add return values
319
320 --*/
321 ;
322
323 EFI_STATUS
324 DRQClear2 (
325 IN IDE_BLK_IO_DEV *IdeDev,
326 IN UINTN TimeoutInMilliSeconds
327 )
328 /*++
329
330 Routine Description:
331
332 TODO: Add function description
333
334 Arguments:
335
336 IdeDev - TODO: add argument description
337 TimeoutInMilliSeconds - TODO: add argument description
338
339 Returns:
340
341 TODO: add return values
342
343 --*/
344 ;
345
346 EFI_STATUS
347 DRQReady (
348 IN IDE_BLK_IO_DEV *IdeDev,
349 IN UINTN TimeoutInMilliSeconds
350 )
351 /*++
352
353 Routine Description:
354
355 TODO: Add function description
356
357 Arguments:
358
359 IdeDev - TODO: add argument description
360 TimeoutInMilliSeconds - TODO: add argument description
361
362 Returns:
363
364 TODO: add return values
365
366 --*/
367 ;
368
369 EFI_STATUS
370 DRQReady2 (
371 IN IDE_BLK_IO_DEV *IdeDev,
372 IN UINTN TimeoutInMilliSeconds
373 )
374 /*++
375
376 Routine Description:
377
378 TODO: Add function description
379
380 Arguments:
381
382 IdeDev - TODO: add argument description
383 TimeoutInMilliSeconds - TODO: add argument description
384
385 Returns:
386
387 TODO: add return values
388
389 --*/
390 ;
391
392 EFI_STATUS
393 WaitForBSYClear (
394 IN IDE_BLK_IO_DEV *IdeDev,
395 IN UINTN TimeoutInMilliSeconds
396 )
397 /*++
398
399 Routine Description:
400
401 TODO: Add function description
402
403 Arguments:
404
405 IdeDev - TODO: add argument description
406 TimeoutInMilliSeconds - TODO: add argument description
407
408 Returns:
409
410 TODO: add return values
411
412 --*/
413 ;
414
415 EFI_STATUS
416 WaitForBSYClear2 (
417 IN IDE_BLK_IO_DEV *IdeDev,
418 IN UINTN TimeoutInMilliSeconds
419 )
420 /*++
421
422 Routine Description:
423
424 TODO: Add function description
425
426 Arguments:
427
428 IdeDev - TODO: add argument description
429 TimeoutInMilliSeconds - TODO: add argument description
430
431 Returns:
432
433 TODO: add return values
434
435 --*/
436 ;
437
438 EFI_STATUS
439 DRDYReady (
440 IN IDE_BLK_IO_DEV *IdeDev,
441 IN UINTN DelayInMilliSeconds
442 )
443 /*++
444
445 Routine Description:
446
447 TODO: Add function description
448
449 Arguments:
450
451 IdeDev - TODO: add argument description
452 DelayInMilliSeconds - TODO: add argument description
453
454 Returns:
455
456 TODO: add return values
457
458 --*/
459 ;
460
461 EFI_STATUS
462 DRDYReady2 (
463 IN IDE_BLK_IO_DEV *IdeDev,
464 IN UINTN DelayInMilliSeconds
465 )
466 /*++
467
468 Routine Description:
469
470 TODO: Add function description
471
472 Arguments:
473
474 IdeDev - TODO: add argument description
475 DelayInMilliSeconds - TODO: add argument description
476
477 Returns:
478
479 TODO: add return values
480
481 --*/
482 ;
483
484 VOID
485 SwapStringChars (
486 IN CHAR8 *Destination,
487 IN CHAR8 *Source,
488 IN UINT32 Size
489 )
490 /*++
491
492 Routine Description:
493
494 TODO: Add function description
495
496 Arguments:
497
498 Destination - TODO: add argument description
499 Source - TODO: add argument description
500 Size - TODO: add argument description
501
502 Returns:
503
504 TODO: add return values
505
506 --*/
507 ;
508
509 //
510 // ATA device functions' prototype
511 //
512 EFI_STATUS
513 ATAIdentify (
514 IN IDE_BLK_IO_DEV *IdeDev
515 )
516 /*++
517
518 Routine Description:
519
520 TODO: Add function description
521
522 Arguments:
523
524 IdeDev - TODO: add argument description
525
526 Returns:
527
528 TODO: add return values
529
530 --*/
531 ;
532
533 VOID
534 PrintAtaModuleName (
535 IN IDE_BLK_IO_DEV *IdeDev
536 )
537 /*++
538
539 Routine Description:
540
541 TODO: Add function description
542
543 Arguments:
544
545 IdeDev - TODO: add argument description
546
547 Returns:
548
549 TODO: add return values
550
551 --*/
552 ;
553
554 EFI_STATUS
555 AtaPioDataIn (
556 IN IDE_BLK_IO_DEV *IdeDev,
557 IN VOID *Buffer,
558 IN UINT32 ByteCount,
559 IN UINT8 AtaCommand,
560 IN UINT8 Head,
561 IN UINT8 SectorCount,
562 IN UINT8 SectorNumber,
563 IN UINT8 CylinderLsb,
564 IN UINT8 CylinderMsb
565 )
566 /*++
567
568 Routine Description:
569
570 TODO: Add function description
571
572 Arguments:
573
574 IdeDev - TODO: add argument description
575 Buffer - TODO: add argument description
576 ByteCount - TODO: add argument description
577 AtaCommand - TODO: add argument description
578 Head - TODO: add argument description
579 SectorCount - TODO: add argument description
580 SectorNumber - TODO: add argument description
581 CylinderLsb - TODO: add argument description
582 CylinderMsb - TODO: add argument description
583
584 Returns:
585
586 TODO: add return values
587
588 --*/
589 ;
590
591 EFI_STATUS
592 AtaPioDataOut (
593 IN IDE_BLK_IO_DEV *IdeDev,
594 IN VOID *Buffer,
595 IN UINT32 ByteCount,
596 IN UINT8 AtaCommand,
597 IN UINT8 Head,
598 IN UINT8 SectorCount,
599 IN UINT8 SectorNumber,
600 IN UINT8 CylinderLsb,
601 IN UINT8 CylinderMsb
602 )
603 /*++
604
605 Routine Description:
606
607 TODO: Add function description
608
609 Arguments:
610
611 IdeDev - TODO: add argument description
612 Buffer - TODO: add argument description
613 ByteCount - TODO: add argument description
614 AtaCommand - TODO: add argument description
615 Head - TODO: add argument description
616 SectorCount - TODO: add argument description
617 SectorNumber - TODO: add argument description
618 CylinderLsb - TODO: add argument description
619 CylinderMsb - TODO: add argument description
620
621 Returns:
622
623 TODO: add return values
624
625 --*/
626 ;
627
628 EFI_STATUS
629 CheckErrorStatus (
630 IN IDE_BLK_IO_DEV *IdeDev
631 )
632 /*++
633
634 Routine Description:
635
636 TODO: Add function description
637
638 Arguments:
639
640 IdeDev - TODO: add argument description
641
642 Returns:
643
644 TODO: add return values
645
646 --*/
647 ;
648
649 EFI_STATUS
650 AtaReadSectors (
651 IN IDE_BLK_IO_DEV *IdeDev,
652 IN VOID *DataBuffer,
653 IN EFI_LBA Lba,
654 IN UINTN NumberOfBlocks
655 )
656 /*++
657
658 Routine Description:
659
660 TODO: Add function description
661
662 Arguments:
663
664 IdeDev - TODO: add argument description
665 DataBuffer - TODO: add argument description
666 Lba - TODO: add argument description
667 NumberOfBlocks - TODO: add argument description
668
669 Returns:
670
671 TODO: add return values
672
673 --*/
674 ;
675
676 EFI_STATUS
677 AtaWriteSectors (
678 IN IDE_BLK_IO_DEV *IdeDev,
679 IN VOID *BufferData,
680 IN EFI_LBA Lba,
681 IN UINTN NumberOfBlocks
682 )
683 /*++
684
685 Routine Description:
686
687 TODO: Add function description
688
689 Arguments:
690
691 IdeDev - TODO: add argument description
692 BufferData - TODO: add argument description
693 Lba - TODO: add argument description
694 NumberOfBlocks - TODO: add argument description
695
696 Returns:
697
698 TODO: add return values
699
700 --*/
701 ;
702
703 EFI_STATUS
704 AtaSoftReset (
705 IN IDE_BLK_IO_DEV *IdeDev
706 )
707 /*++
708
709 Routine Description:
710
711 TODO: Add function description
712
713 Arguments:
714
715 IdeDev - TODO: add argument description
716
717 Returns:
718
719 TODO: add return values
720
721 --*/
722 ;
723
724 EFI_STATUS
725 AtaBlkIoReadBlocks (
726 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,
727 IN UINT32 MediaId,
728 IN EFI_LBA LBA,
729 IN UINTN BufferSize,
730 OUT VOID *Buffer
731 )
732 /*++
733
734 Routine Description:
735
736 TODO: Add function description
737
738 Arguments:
739
740 IdeBlkIoDevice - TODO: add argument description
741 MediaId - TODO: add argument description
742 LBA - TODO: add argument description
743 BufferSize - TODO: add argument description
744 Buffer - TODO: add argument description
745
746 Returns:
747
748 TODO: add return values
749
750 --*/
751 ;
752
753 EFI_STATUS
754 AtaBlkIoWriteBlocks (
755 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,
756 IN UINT32 MediaId,
757 IN EFI_LBA LBA,
758 IN UINTN BufferSize,
759 OUT VOID *Buffer
760 )
761 /*++
762
763 Routine Description:
764
765 TODO: Add function description
766
767 Arguments:
768
769 IdeBlkIoDevice - TODO: add argument description
770 MediaId - TODO: add argument description
771 LBA - TODO: add argument description
772 BufferSize - TODO: add argument description
773 Buffer - TODO: add argument description
774
775 Returns:
776
777 TODO: add return values
778
779 --*/
780 ;
781
782 //
783 // ATAPI device functions' prototype
784 //
785 EFI_STATUS
786 ATAPIIdentify (
787 IN IDE_BLK_IO_DEV *IdeDev
788 )
789 /*++
790
791 Routine Description:
792
793 TODO: Add function description
794
795 Arguments:
796
797 IdeDev - TODO: add argument description
798
799 Returns:
800
801 TODO: add return values
802
803 --*/
804 ;
805
806 EFI_STATUS
807 AtapiInquiry (
808 IN IDE_BLK_IO_DEV *IdeDev
809 )
810 /*++
811
812 Routine Description:
813
814 TODO: Add function description
815
816 Arguments:
817
818 IdeDev - TODO: add argument description
819
820 Returns:
821
822 TODO: add return values
823
824 --*/
825 ;
826
827 EFI_STATUS
828 AtapiPacketCommandIn (
829 IN IDE_BLK_IO_DEV *IdeDev,
830 IN ATAPI_PACKET_COMMAND *Packet,
831 IN UINT16 *Buffer,
832 IN UINT32 ByteCount,
833 IN UINTN TimeOut
834 )
835 /*++
836
837 Routine Description:
838
839 TODO: Add function description
840
841 Arguments:
842
843 IdeDev - TODO: add argument description
844 Packet - TODO: add argument description
845 Buffer - TODO: add argument description
846 ByteCount - TODO: add argument description
847 TimeOut - TODO: add argument description
848
849 Returns:
850
851 TODO: add return values
852
853 --*/
854 ;
855
856 EFI_STATUS
857 AtapiPacketCommandOut (
858 IN IDE_BLK_IO_DEV *IdeDev,
859 IN ATAPI_PACKET_COMMAND *Packet,
860 IN UINT16 *Buffer,
861 IN UINT32 ByteCount,
862 IN UINTN TimeOut
863 )
864 /*++
865
866 Routine Description:
867
868 TODO: Add function description
869
870 Arguments:
871
872 IdeDev - TODO: add argument description
873 Packet - TODO: add argument description
874 Buffer - TODO: add argument description
875 ByteCount - TODO: add argument description
876 TimeOut - TODO: add argument description
877
878 Returns:
879
880 TODO: add return values
881
882 --*/
883 ;
884
885 EFI_STATUS
886 PioReadWriteData (
887 IN IDE_BLK_IO_DEV *IdeDev,
888 IN UINT16 *Buffer,
889 IN UINT32 ByteCount,
890 IN BOOLEAN Read,
891 IN UINTN TimeOut
892 )
893 /*++
894
895 Routine Description:
896
897 TODO: Add function description
898
899 Arguments:
900
901 IdeDev - TODO: add argument description
902 Buffer - TODO: add argument description
903 ByteCount - TODO: add argument description
904 Read - TODO: add argument description
905 TimeOut - TODO: add argument description
906
907 Returns:
908
909 TODO: add return values
910
911 --*/
912 ;
913
914 EFI_STATUS
915 AtapiTestUnitReady (
916 IN IDE_BLK_IO_DEV *IdeDev
917 )
918 /*++
919
920 Routine Description:
921
922 TODO: Add function description
923
924 Arguments:
925
926 IdeDev - TODO: add argument description
927
928 Returns:
929
930 TODO: add return values
931
932 --*/
933 ;
934
935 EFI_STATUS
936 AtapiRequestSense (
937 IN IDE_BLK_IO_DEV *IdeDev,
938 OUT UINTN *SenseCounts
939 )
940 /*++
941
942 Routine Description:
943
944 TODO: Add function description
945
946 Arguments:
947
948 IdeDev - TODO: add argument description
949 SenseCounts - TODO: add argument description
950
951 Returns:
952
953 TODO: add return values
954
955 --*/
956 ;
957
958 EFI_STATUS
959 AtapiReadCapacity (
960 IN IDE_BLK_IO_DEV *IdeDev
961 )
962 /*++
963
964 Routine Description:
965
966 TODO: Add function description
967
968 Arguments:
969
970 IdeDev - TODO: add argument description
971
972 Returns:
973
974 TODO: add return values
975
976 --*/
977 ;
978
979 EFI_STATUS
980 AtapiDetectMedia (
981 IN IDE_BLK_IO_DEV *IdeDev,
982 OUT BOOLEAN *MediaChange
983 )
984 /*++
985
986 Routine Description:
987
988 TODO: Add function description
989
990 Arguments:
991
992 IdeDev - TODO: add argument description
993 MediaChange - TODO: add argument description
994
995 Returns:
996
997 TODO: add return values
998
999 --*/
1000 ;
1001
1002 EFI_STATUS
1003 AtapiReadSectors (
1004 IN IDE_BLK_IO_DEV *IdeDev,
1005 IN VOID *Buffer,
1006 IN EFI_LBA Lba,
1007 IN UINTN NumberOfBlocks
1008 )
1009 /*++
1010
1011 Routine Description:
1012
1013 TODO: Add function description
1014
1015 Arguments:
1016
1017 IdeDev - TODO: add argument description
1018 Buffer - TODO: add argument description
1019 Lba - TODO: add argument description
1020 NumberOfBlocks - TODO: add argument description
1021
1022 Returns:
1023
1024 TODO: add return values
1025
1026 --*/
1027 ;
1028
1029 EFI_STATUS
1030 AtapiWriteSectors (
1031 IN IDE_BLK_IO_DEV *IdeDev,
1032 IN VOID *Buffer,
1033 IN EFI_LBA Lba,
1034 IN UINTN NumberOfBlocks
1035 )
1036 /*++
1037
1038 Routine Description:
1039
1040 TODO: Add function description
1041
1042 Arguments:
1043
1044 IdeDev - TODO: add argument description
1045 Buffer - TODO: add argument description
1046 Lba - TODO: add argument description
1047 NumberOfBlocks - TODO: add argument description
1048
1049 Returns:
1050
1051 TODO: add return values
1052
1053 --*/
1054 ;
1055
1056 EFI_STATUS
1057 AtapiSoftReset (
1058 IN IDE_BLK_IO_DEV *IdeDev
1059 )
1060 /*++
1061
1062 Routine Description:
1063
1064 TODO: Add function description
1065
1066 Arguments:
1067
1068 IdeDev - TODO: add argument description
1069
1070 Returns:
1071
1072 TODO: add return values
1073
1074 --*/
1075 ;
1076
1077 EFI_STATUS
1078 AtapiBlkIoReadBlocks (
1079 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,
1080 IN UINT32 MediaId,
1081 IN EFI_LBA LBA,
1082 IN UINTN BufferSize,
1083 OUT VOID *Buffer
1084 )
1085 /*++
1086
1087 Routine Description:
1088
1089 TODO: Add function description
1090
1091 Arguments:
1092
1093 IdeBlkIoDevice - TODO: add argument description
1094 MediaId - TODO: add argument description
1095 LBA - TODO: add argument description
1096 BufferSize - TODO: add argument description
1097 Buffer - TODO: add argument description
1098
1099 Returns:
1100
1101 TODO: add return values
1102
1103 --*/
1104 ;
1105
1106 EFI_STATUS
1107 AtapiBlkIoWriteBlocks (
1108 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,
1109 IN UINT32 MediaId,
1110 IN EFI_LBA LBA,
1111 IN UINTN BufferSize,
1112 OUT VOID *Buffer
1113 )
1114 /*++
1115
1116 Routine Description:
1117
1118 TODO: Add function description
1119
1120 Arguments:
1121
1122 IdeBlkIoDevice - TODO: add argument description
1123 MediaId - TODO: add argument description
1124 LBA - TODO: add argument description
1125 BufferSize - TODO: add argument description
1126 Buffer - TODO: add argument description
1127
1128 Returns:
1129
1130 TODO: add return values
1131
1132 --*/
1133 ;
1134
1135 BOOLEAN
1136 IsNoMedia (
1137 IN REQUEST_SENSE_DATA *SenseData,
1138 IN UINTN SenseCounts
1139 )
1140 /*++
1141
1142 Routine Description:
1143
1144 TODO: Add function description
1145
1146 Arguments:
1147
1148 SenseData - TODO: add argument description
1149 SenseCounts - TODO: add argument description
1150
1151 Returns:
1152
1153 TODO: add return values
1154
1155 --*/
1156 ;
1157
1158 BOOLEAN
1159 IsMediaError (
1160 IN REQUEST_SENSE_DATA *SenseData,
1161 IN UINTN SenseCounts
1162 )
1163 /*++
1164
1165 Routine Description:
1166
1167 TODO: Add function description
1168
1169 Arguments:
1170
1171 SenseData - TODO: add argument description
1172 SenseCounts - TODO: add argument description
1173
1174 Returns:
1175
1176 TODO: add return values
1177
1178 --*/
1179 ;
1180
1181 BOOLEAN
1182 IsMediaChange (
1183 IN REQUEST_SENSE_DATA *SenseData,
1184 IN UINTN SenseCounts
1185 )
1186 /*++
1187
1188 Routine Description:
1189
1190 TODO: Add function description
1191
1192 Arguments:
1193
1194 SenseData - TODO: add argument description
1195 SenseCounts - TODO: add argument description
1196
1197 Returns:
1198
1199 TODO: add return values
1200
1201 --*/
1202 ;
1203
1204 BOOLEAN
1205 IsDriveReady (
1206 IN REQUEST_SENSE_DATA *SenseData,
1207 IN UINTN SenseCounts,
1208 OUT BOOLEAN *NeedRetry
1209 )
1210 /*++
1211
1212 Routine Description:
1213
1214 TODO: Add function description
1215
1216 Arguments:
1217
1218 SenseData - TODO: add argument description
1219 SenseCounts - TODO: add argument description
1220 NeedRetry - TODO: add argument description
1221
1222 Returns:
1223
1224 TODO: add return values
1225
1226 --*/
1227 ;
1228
1229 BOOLEAN
1230 HaveSenseKey (
1231 IN REQUEST_SENSE_DATA *SenseData,
1232 IN UINTN SenseCounts
1233 )
1234 /*++
1235
1236 Routine Description:
1237
1238 TODO: Add function description
1239
1240 Arguments:
1241
1242 SenseData - TODO: add argument description
1243 SenseCounts - TODO: add argument description
1244
1245 Returns:
1246
1247 TODO: add return values
1248
1249 --*/
1250 ;
1251
1252 EFI_STATUS
1253 IsLS120orZipWriteProtected (
1254 IN IDE_BLK_IO_DEV *IdeDev,
1255 OUT BOOLEAN *WriteProtected
1256 )
1257 /*++
1258
1259 Routine Description:
1260
1261 TODO: Add function description
1262
1263 Arguments:
1264
1265 IdeDev - TODO: add argument description
1266 WriteProtected - TODO: add argument description
1267
1268 Returns:
1269
1270 TODO: add return values
1271
1272 --*/
1273 ;
1274
1275 VOID
1276 ReleaseIdeResources (
1277 IN IDE_BLK_IO_DEV *IdeBlkIoDevice
1278 )
1279 /*++
1280
1281 Routine Description:
1282
1283 TODO: Add function description
1284
1285 Arguments:
1286
1287 IdeBlkIoDevice - TODO: add argument description
1288
1289 Returns:
1290
1291 TODO: add return values
1292
1293 --*/
1294 ;
1295
1296 EFI_STATUS
1297 SetDeviceTransferMode (
1298 IN IDE_BLK_IO_DEV *IdeDev,
1299 IN ATA_TRANSFER_MODE *TransferMode
1300 )
1301 /*++
1302
1303 Routine Description:
1304
1305 TODO: Add function description
1306
1307 Arguments:
1308
1309 IdeDev - TODO: add argument description
1310 TransferMode - TODO: add argument description
1311
1312 Returns:
1313
1314 TODO: add return values
1315
1316 --*/
1317 ;
1318
1319 EFI_STATUS
1320 ReadNativeMaxAddress (
1321 IN IDE_BLK_IO_DEV *IdeDev,
1322 OUT EFI_LBA *NativeMaxAddress
1323 )
1324 /*++
1325
1326 Routine Description:
1327
1328 TODO: Add function description
1329
1330 Arguments:
1331
1332 IdeDev - TODO: add argument description
1333 NativeMaxAddress - TODO: add argument description
1334
1335 Returns:
1336
1337 TODO: add return values
1338
1339 --*/
1340 ;
1341
1342 EFI_STATUS
1343 SetMaxAddress (
1344 IN IDE_BLK_IO_DEV *IdeDev,
1345 IN EFI_LBA MaxAddress,
1346 IN BOOLEAN bVolatile
1347 )
1348 /*++
1349
1350 Routine Description:
1351
1352 TODO: Add function description
1353
1354 Arguments:
1355
1356 IdeDev - TODO: add argument description
1357 MaxAddress - TODO: add argument description
1358 bVolatile - TODO: add argument description
1359
1360 Returns:
1361
1362 TODO: add return values
1363
1364 --*/
1365 ;
1366
1367 EFI_STATUS
1368 AtaNonDataCommandIn (
1369 IN IDE_BLK_IO_DEV *IdeDev,
1370 IN UINT8 AtaCommand,
1371 IN UINT8 Device,
1372 IN UINT8 Feature,
1373 IN UINT8 SectorCount,
1374 IN UINT8 LbaLow,
1375 IN UINT8 LbaMiddle,
1376 IN UINT8 LbaHigh
1377 )
1378 /*++
1379
1380 Routine Description:
1381
1382 TODO: Add function description
1383
1384 Arguments:
1385
1386 IdeDev - TODO: add argument description
1387 AtaCommand - TODO: add argument description
1388 Device - TODO: add argument description
1389 Feature - TODO: add argument description
1390 SectorCount - TODO: add argument description
1391 LbaLow - TODO: add argument description
1392 LbaMiddle - TODO: add argument description
1393 LbaHigh - TODO: add argument description
1394
1395 Returns:
1396
1397 TODO: add return values
1398
1399 --*/
1400 ;
1401
1402 EFI_STATUS
1403 AtaNonDataCommandInExt (
1404 IN IDE_BLK_IO_DEV *IdeDev,
1405 IN UINT8 AtaCommand,
1406 IN UINT8 Device,
1407 IN UINT16 Feature,
1408 IN UINT16 SectorCount,
1409 IN EFI_LBA LbaAddress
1410 )
1411 /*++
1412
1413 Routine Description:
1414
1415 TODO: Add function description
1416
1417 Arguments:
1418
1419 IdeDev - TODO: add argument description
1420 AtaCommand - TODO: add argument description
1421 Device - TODO: add argument description
1422 Feature - TODO: add argument description
1423 SectorCount - TODO: add argument description
1424 LbaAddress - TODO: add argument description
1425
1426 Returns:
1427
1428 TODO: add return values
1429
1430 --*/
1431 ;
1432
1433 EFI_STATUS
1434 AtaReadSectorsExt (
1435 IN IDE_BLK_IO_DEV *IdeDev,
1436 IN VOID *DataBuffer,
1437 IN EFI_LBA StartLba,
1438 IN UINTN NumberOfBlocks
1439 )
1440 /*++
1441
1442 Routine Description:
1443
1444 TODO: Add function description
1445
1446 Arguments:
1447
1448 IdeDev - TODO: add argument description
1449 DataBuffer - TODO: add argument description
1450 StartLba - TODO: add argument description
1451 NumberOfBlocks - TODO: add argument description
1452
1453 Returns:
1454
1455 TODO: add return values
1456
1457 --*/
1458 ;
1459
1460 EFI_STATUS
1461 AtaWriteSectorsExt (
1462 IN IDE_BLK_IO_DEV *IdeDev,
1463 IN VOID *DataBuffer,
1464 IN EFI_LBA StartLba,
1465 IN UINTN NumberOfBlocks
1466 )
1467 /*++
1468
1469 Routine Description:
1470
1471 TODO: Add function description
1472
1473 Arguments:
1474
1475 IdeDev - TODO: add argument description
1476 DataBuffer - TODO: add argument description
1477 StartLba - TODO: add argument description
1478 NumberOfBlocks - TODO: add argument description
1479
1480 Returns:
1481
1482 TODO: add return values
1483
1484 --*/
1485 ;
1486
1487 EFI_STATUS
1488 AtaUdmaReadExt (
1489 IN IDE_BLK_IO_DEV *IdeDev,
1490 IN VOID *DataBuffer,
1491 IN EFI_LBA StartLba,
1492 IN UINTN NumberOfBlocks
1493 )
1494 /*++
1495
1496 Routine Description:
1497
1498 TODO: Add function description
1499
1500 Arguments:
1501
1502 IdeDev - TODO: add argument description
1503 DataBuffer - TODO: add argument description
1504 StartLba - TODO: add argument description
1505 NumberOfBlocks - TODO: add argument description
1506
1507 Returns:
1508
1509 TODO: add return values
1510
1511 --*/
1512 ;
1513
1514 EFI_STATUS
1515 AtaUdmaRead (
1516 IN IDE_BLK_IO_DEV *IdeDev,
1517 IN VOID *DataBuffer,
1518 IN EFI_LBA StartLba,
1519 IN UINTN NumberOfBlocks
1520 )
1521 /*++
1522
1523 Routine Description:
1524
1525 TODO: Add function description
1526
1527 Arguments:
1528
1529 IdeDev - TODO: add argument description
1530 DataBuffer - TODO: add argument description
1531 StartLba - TODO: add argument description
1532 NumberOfBlocks - TODO: add argument description
1533
1534 Returns:
1535
1536 TODO: add return values
1537
1538 --*/
1539 ;
1540
1541 EFI_STATUS
1542 AtaUdmaWriteExt (
1543 IN IDE_BLK_IO_DEV *IdeDev,
1544 IN VOID *DataBuffer,
1545 IN EFI_LBA StartLba,
1546 IN UINTN NumberOfBlocks
1547 )
1548 /*++
1549
1550 Routine Description:
1551
1552 TODO: Add function description
1553
1554 Arguments:
1555
1556 IdeDev - TODO: add argument description
1557 DataBuffer - TODO: add argument description
1558 StartLba - TODO: add argument description
1559 NumberOfBlocks - TODO: add argument description
1560
1561 Returns:
1562
1563 TODO: add return values
1564
1565 --*/
1566 ;
1567
1568 EFI_STATUS
1569 AtaUdmaWrite (
1570 IN IDE_BLK_IO_DEV *IdeDev,
1571 IN VOID *DataBuffer,
1572 IN EFI_LBA StartLba,
1573 IN UINTN NumberOfBlocks
1574 )
1575 /*++
1576
1577 Routine Description:
1578
1579 TODO: Add function description
1580
1581 Arguments:
1582
1583 IdeDev - TODO: add argument description
1584 DataBuffer - TODO: add argument description
1585 StartLba - TODO: add argument description
1586 NumberOfBlocks - TODO: add argument description
1587
1588 Returns:
1589
1590 TODO: add return values
1591
1592 --*/
1593 ;
1594
1595 EFI_STATUS
1596 AtaCommandIssueExt (
1597 IN IDE_BLK_IO_DEV *IdeDev,
1598 IN UINT8 AtaCommand,
1599 IN UINT8 Device,
1600 IN UINT16 Feature,
1601 IN UINT16 SectorCount,
1602 IN EFI_LBA LbaAddress
1603 )
1604 /*++
1605
1606 Routine Description:
1607
1608 TODO: Add function description
1609
1610 Arguments:
1611
1612 IdeDev - TODO: add argument description
1613 AtaCommand - TODO: add argument description
1614 Device - TODO: add argument description
1615 Feature - TODO: add argument description
1616 SectorCount - TODO: add argument description
1617 LbaAddress - TODO: add argument description
1618
1619 Returns:
1620
1621 TODO: add return values
1622
1623 --*/
1624 ;
1625
1626 EFI_STATUS
1627 AtaCommandIssue (
1628 IN IDE_BLK_IO_DEV *IdeDev,
1629 IN UINT8 AtaCommand,
1630 IN UINT8 Device,
1631 IN UINT16 Feature,
1632 IN UINT16 SectorCount,
1633 IN EFI_LBA LbaAddress
1634 )
1635 /*++
1636
1637 Routine Description:
1638
1639 TODO: Add function description
1640
1641 Arguments:
1642
1643 IdeDev - TODO: add argument description
1644 AtaCommand - TODO: add argument description
1645 Device - TODO: add argument description
1646 Feature - TODO: add argument description
1647 SectorCount - TODO: add argument description
1648 LbaAddress - TODO: add argument description
1649
1650 Returns:
1651
1652 TODO: add return values
1653
1654 --*/
1655 ;
1656
1657 EFI_STATUS
1658 AtaAtapi6Identify (
1659 IN IDE_BLK_IO_DEV *IdeDev
1660 )
1661 /*++
1662
1663 Routine Description:
1664
1665 TODO: Add function description
1666
1667 Arguments:
1668
1669 IdeDev - TODO: add argument description
1670
1671 Returns:
1672
1673 TODO: add return values
1674
1675 --*/
1676 ;
1677
1678
1679 VOID
1680 AtaSMARTSupport (
1681 IN IDE_BLK_IO_DEV *IdeDev
1682 )
1683 /*++
1684
1685 Routine Description:
1686
1687 TODO: Add function description
1688
1689 Arguments:
1690
1691 IdeDev - TODO: add argument description
1692
1693 Returns:
1694
1695 TODO: add return values
1696
1697 --*/
1698 ;
1699
1700 EFI_STATUS
1701 AtaPioDataInExt (
1702 IN IDE_BLK_IO_DEV *IdeDev,
1703 IN OUT VOID *Buffer,
1704 IN UINT32 ByteCount,
1705 IN UINT8 AtaCommand,
1706 IN EFI_LBA StartLba,
1707 IN UINT16 SectorCount
1708 )
1709 /*++
1710
1711 Routine Description:
1712
1713 TODO: Add function description
1714
1715 Arguments:
1716
1717 IdeDev - TODO: add argument description
1718 Buffer - TODO: add argument description
1719 ByteCount - TODO: add argument description
1720 AtaCommand - TODO: add argument description
1721 StartLba - TODO: add argument description
1722 SectorCount - TODO: add argument description
1723
1724 Returns:
1725
1726 TODO: add return values
1727
1728 --*/
1729 ;
1730
1731 EFI_STATUS
1732 AtaPioDataOutExt (
1733 IN IDE_BLK_IO_DEV *IdeDev,
1734 IN VOID *Buffer,
1735 IN UINT32 ByteCount,
1736 IN UINT8 AtaCommand,
1737 IN EFI_LBA StartLba,
1738 IN UINT16 SectorCount
1739 )
1740 /*++
1741
1742 Routine Description:
1743
1744 TODO: Add function description
1745
1746 Arguments:
1747
1748 IdeDev - TODO: add argument description
1749 Buffer - TODO: add argument description
1750 ByteCount - TODO: add argument description
1751 AtaCommand - TODO: add argument description
1752 StartLba - TODO: add argument description
1753 SectorCount - TODO: add argument description
1754
1755 Returns:
1756
1757 TODO: add return values
1758
1759 --*/
1760 ;
1761
1762 EFI_STATUS
1763 SetDriveParameters (
1764 IN IDE_BLK_IO_DEV *IdeDev,
1765 IN ATA_DRIVE_PARMS *DriveParameters
1766 )
1767 /*++
1768
1769 Routine Description:
1770
1771 TODO: Add function description
1772
1773 Arguments:
1774
1775 IdeDev - TODO: add argument description
1776 DriveParameters - TODO: add argument description
1777
1778 Returns:
1779
1780 TODO: add return values
1781
1782 --*/
1783 ;
1784
1785 EFI_STATUS
1786 EnableInterrupt (
1787 IN IDE_BLK_IO_DEV *IdeDev
1788 )
1789 /*++
1790
1791 Routine Description:
1792
1793 TODO: Add function description
1794
1795 Arguments:
1796
1797 IdeDev - TODO: add argument description
1798
1799 Returns:
1800
1801 TODO: add return values
1802
1803 --*/
1804 ;
1805
1806 #endif