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