]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciIo.h
Coding style modification.
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Pci / PciBusDxe / PciIo.h
CommitLineData
3db51098 1/**@file\r
ead42efc 2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
3db51098 12**/\r
ead42efc 13\r
ead42efc 14\r
15#ifndef _EFI_PCI_IO_PROTOCOL_H\r
16#define _EFI_PCI_IO_PROTOCOL_H\r
17\r
18EFI_STATUS\r
19InitializePciIoInstance (\r
20 PCI_IO_DEVICE *PciIoDevice\r
21 )\r
bcd70414 22/**\r
ead42efc 23\r
24Routine Description:\r
25\r
26 TODO: Add function description\r
27\r
28Arguments:\r
29\r
30 PciIoDevice - TODO: add argument description\r
31\r
32Returns:\r
33\r
34 TODO: add return values\r
35\r
bcd70414 36**/\r
ead42efc 37;\r
38\r
39EFI_STATUS\r
40PciIoVerifyBarAccess (\r
41 PCI_IO_DEVICE *PciIoDevice,\r
42 UINT8 BarIndex,\r
43 PCI_BAR_TYPE Type,\r
44 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
45 IN UINTN Count,\r
46 UINT64 *Offset\r
47 )\r
bcd70414 48/**\r
ead42efc 49\r
50Routine Description:\r
51\r
52 TODO: Add function description\r
53\r
54Arguments:\r
55\r
56 PciIoDevice - TODO: add argument description\r
57 BarIndex - TODO: add argument description\r
58 Type - TODO: add argument description\r
59 Width - TODO: add argument description\r
60 Count - TODO: add argument description\r
61 Offset - TODO: add argument description\r
62\r
63Returns:\r
64\r
65 TODO: add return values\r
66\r
bcd70414 67**/\r
ead42efc 68;\r
69\r
70EFI_STATUS\r
71PciIoVerifyConfigAccess (\r
72 PCI_IO_DEVICE *PciIoDevice,\r
73 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
74 IN UINTN Count,\r
75 IN UINT64 *Offset\r
76 )\r
bcd70414 77/**\r
ead42efc 78\r
79Routine Description:\r
80\r
81 TODO: Add function description\r
82\r
83Arguments:\r
84\r
85 PciIoDevice - TODO: add argument description\r
86 Width - TODO: add argument description\r
87 Count - TODO: add argument description\r
88 Offset - TODO: add argument description\r
89\r
90Returns:\r
91\r
92 TODO: add return values\r
93\r
bcd70414 94**/\r
ead42efc 95;\r
96\r
97EFI_STATUS\r
98EFIAPI\r
99PciIoPollMem (\r
100 IN EFI_PCI_IO_PROTOCOL *This,\r
101 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
102 IN UINT8 BarIndex,\r
103 IN UINT64 Offset,\r
104 IN UINT64 Mask,\r
105 IN UINT64 Value,\r
106 IN UINT64 Delay,\r
107 OUT UINT64 *Result\r
108 )\r
bcd70414 109/**\r
ead42efc 110\r
111Routine Description:\r
112\r
113 TODO: Add function description\r
114\r
115Arguments:\r
116\r
117 This - TODO: add argument description\r
118 Width - TODO: add argument description\r
119 BarIndex - TODO: add argument description\r
120 Offset - TODO: add argument description\r
121 Mask - TODO: add argument description\r
122 Value - TODO: add argument description\r
123 Delay - TODO: add argument description\r
124 Result - TODO: add argument description\r
125\r
126Returns:\r
127\r
128 TODO: add return values\r
129\r
bcd70414 130**/\r
ead42efc 131;\r
132\r
133EFI_STATUS\r
134EFIAPI\r
135PciIoPollIo (\r
136 IN EFI_PCI_IO_PROTOCOL *This,\r
137 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
138 IN UINT8 BarIndex,\r
139 IN UINT64 Offset,\r
140 IN UINT64 Mask,\r
141 IN UINT64 Value,\r
142 IN UINT64 Delay,\r
143 OUT UINT64 *Result\r
144 )\r
bcd70414 145/**\r
ead42efc 146\r
147Routine Description:\r
148\r
149 TODO: Add function description\r
150\r
151Arguments:\r
152\r
153 This - TODO: add argument description\r
154 Width - TODO: add argument description\r
155 BarIndex - TODO: add argument description\r
156 Offset - TODO: add argument description\r
157 Mask - TODO: add argument description\r
158 Value - TODO: add argument description\r
159 Delay - TODO: add argument description\r
160 Result - TODO: add argument description\r
161\r
162Returns:\r
163\r
164 TODO: add return values\r
165\r
bcd70414 166**/\r
ead42efc 167;\r
168\r
169EFI_STATUS\r
170EFIAPI\r
171PciIoMemRead (\r
172 IN EFI_PCI_IO_PROTOCOL *This,\r
173 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
174 IN UINT8 BarIndex,\r
175 IN UINT64 Offset,\r
176 IN UINTN Count,\r
177 IN OUT VOID *Buffer\r
178 )\r
bcd70414 179/**\r
ead42efc 180\r
181Routine Description:\r
182\r
183 TODO: Add function description\r
184\r
185Arguments:\r
186\r
187 This - TODO: add argument description\r
188 Width - TODO: add argument description\r
189 BarIndex - TODO: add argument description\r
190 Offset - TODO: add argument description\r
191 Count - TODO: add argument description\r
192 Buffer - TODO: add argument description\r
193\r
194Returns:\r
195\r
196 TODO: add return values\r
197\r
bcd70414 198**/\r
ead42efc 199;\r
200\r
201EFI_STATUS\r
202EFIAPI\r
203PciIoMemWrite (\r
204 IN EFI_PCI_IO_PROTOCOL *This,\r
205 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
206 IN UINT8 BarIndex,\r
207 IN UINT64 Offset,\r
208 IN UINTN Count,\r
209 IN OUT VOID *Buffer\r
210 )\r
bcd70414 211/**\r
ead42efc 212\r
213Routine Description:\r
214\r
215 TODO: Add function description\r
216\r
217Arguments:\r
218\r
219 This - TODO: add argument description\r
220 Width - TODO: add argument description\r
221 BarIndex - TODO: add argument description\r
222 Offset - TODO: add argument description\r
223 Count - TODO: add argument description\r
224 Buffer - TODO: add argument description\r
225\r
226Returns:\r
227\r
228 TODO: add return values\r
229\r
bcd70414 230**/\r
ead42efc 231;\r
232\r
233EFI_STATUS\r
234EFIAPI\r
235PciIoIoRead (\r
236 IN EFI_PCI_IO_PROTOCOL *This,\r
237 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
238 IN UINT8 BarIndex,\r
239 IN UINT64 Offset,\r
240 IN UINTN Count,\r
241 IN OUT VOID *Buffer\r
242 )\r
bcd70414 243/**\r
ead42efc 244\r
245Routine Description:\r
246\r
247 TODO: Add function description\r
248\r
249Arguments:\r
250\r
251 This - TODO: add argument description\r
252 Width - TODO: add argument description\r
253 BarIndex - TODO: add argument description\r
254 Offset - TODO: add argument description\r
255 Count - TODO: add argument description\r
256 Buffer - TODO: add argument description\r
257\r
258Returns:\r
259\r
260 TODO: add return values\r
261\r
bcd70414 262**/\r
ead42efc 263;\r
264\r
265EFI_STATUS\r
266EFIAPI\r
267PciIoIoWrite (\r
268 IN EFI_PCI_IO_PROTOCOL *This,\r
269 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
270 IN UINT8 BarIndex,\r
271 IN UINT64 Offset,\r
272 IN UINTN Count,\r
273 IN OUT VOID *Buffer\r
274 )\r
bcd70414 275/**\r
ead42efc 276\r
277Routine Description:\r
278\r
279 TODO: Add function description\r
280\r
281Arguments:\r
282\r
283 This - TODO: add argument description\r
284 Width - TODO: add argument description\r
285 BarIndex - TODO: add argument description\r
286 Offset - TODO: add argument description\r
287 Count - TODO: add argument description\r
288 Buffer - TODO: add argument description\r
289\r
290Returns:\r
291\r
292 TODO: add return values\r
293\r
bcd70414 294**/\r
ead42efc 295;\r
296\r
297EFI_STATUS\r
298EFIAPI\r
299PciIoConfigRead (\r
300 IN EFI_PCI_IO_PROTOCOL *This,\r
301 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
302 IN UINT32 Offset,\r
303 IN UINTN Count,\r
304 IN OUT VOID *Buffer\r
305 )\r
bcd70414 306/**\r
ead42efc 307\r
308Routine Description:\r
309\r
310 TODO: Add function description\r
311\r
312Arguments:\r
313\r
314 This - TODO: add argument description\r
315 Width - TODO: add argument description\r
316 Offset - TODO: add argument description\r
317 Count - TODO: add argument description\r
318 Buffer - TODO: add argument description\r
319\r
320Returns:\r
321\r
322 TODO: add return values\r
323\r
bcd70414 324**/\r
ead42efc 325;\r
326\r
327EFI_STATUS\r
328EFIAPI\r
329PciIoConfigWrite (\r
330 IN EFI_PCI_IO_PROTOCOL *This,\r
331 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
332 IN UINT32 Offset,\r
333 IN UINTN Count,\r
334 IN OUT VOID *Buffer\r
335 )\r
bcd70414 336/**\r
ead42efc 337\r
338Routine Description:\r
339\r
340 TODO: Add function description\r
341\r
342Arguments:\r
343\r
344 This - TODO: add argument description\r
345 Width - TODO: add argument description\r
346 Offset - TODO: add argument description\r
347 Count - TODO: add argument description\r
348 Buffer - TODO: add argument description\r
349\r
350Returns:\r
351\r
352 TODO: add return values\r
353\r
bcd70414 354**/\r
ead42efc 355;\r
356\r
357EFI_STATUS\r
358EFIAPI\r
359PciIoCopyMem (\r
360 IN EFI_PCI_IO_PROTOCOL *This,\r
361 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,\r
362 IN UINT8 DestBarIndex,\r
363 IN UINT64 DestOffset,\r
364 IN UINT8 SrcBarIndex,\r
365 IN UINT64 SrcOffset,\r
366 IN UINTN Count\r
367 )\r
bcd70414 368/**\r
ead42efc 369\r
370Routine Description:\r
371\r
372 TODO: Add function description\r
373\r
374Arguments:\r
375\r
376 This - TODO: add argument description\r
377 Width - TODO: add argument description\r
378 DestBarIndex - TODO: add argument description\r
379 DestOffset - TODO: add argument description\r
380 SrcBarIndex - TODO: add argument description\r
381 SrcOffset - TODO: add argument description\r
382 Count - TODO: add argument description\r
383\r
384Returns:\r
385\r
386 TODO: add return values\r
387\r
bcd70414 388**/\r
ead42efc 389;\r
390\r
391EFI_STATUS\r
392EFIAPI\r
393PciIoMap (\r
394 IN EFI_PCI_IO_PROTOCOL *This,\r
395 IN EFI_PCI_IO_PROTOCOL_OPERATION Operation,\r
396 IN VOID *HostAddress,\r
397 IN OUT UINTN *NumberOfBytes,\r
398 OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,\r
399 OUT VOID **Mapping\r
400 )\r
bcd70414 401/**\r
ead42efc 402\r
403Routine Description:\r
404\r
405 TODO: Add function description\r
406\r
407Arguments:\r
408\r
409 This - TODO: add argument description\r
410 Operation - TODO: add argument description\r
411 HostAddress - TODO: add argument description\r
412 NumberOfBytes - TODO: add argument description\r
413 DeviceAddress - TODO: add argument description\r
414 Mapping - TODO: add argument description\r
415\r
416Returns:\r
417\r
418 TODO: add return values\r
419\r
bcd70414 420**/\r
ead42efc 421;\r
422\r
423EFI_STATUS\r
424EFIAPI\r
425PciIoUnmap (\r
426 IN EFI_PCI_IO_PROTOCOL *This,\r
427 IN VOID *Mapping\r
428 )\r
bcd70414 429/**\r
ead42efc 430\r
431Routine Description:\r
432\r
433 TODO: Add function description\r
434\r
435Arguments:\r
436\r
437 This - TODO: add argument description\r
438 Mapping - TODO: add argument description\r
439\r
440Returns:\r
441\r
442 TODO: add return values\r
443\r
bcd70414 444**/\r
ead42efc 445;\r
446\r
447EFI_STATUS\r
448EFIAPI\r
449PciIoAllocateBuffer (\r
450 IN EFI_PCI_IO_PROTOCOL *This,\r
451 IN EFI_ALLOCATE_TYPE Type,\r
452 IN EFI_MEMORY_TYPE MemoryType,\r
453 IN UINTN Pages,\r
454 OUT VOID **HostAddress,\r
455 IN UINT64 Attributes\r
456 )\r
bcd70414 457/**\r
ead42efc 458\r
459Routine Description:\r
460\r
461 TODO: Add function description\r
462\r
463Arguments:\r
464\r
465 This - TODO: add argument description\r
466 Type - TODO: add argument description\r
467 MemoryType - TODO: add argument description\r
468 Pages - TODO: add argument description\r
469 HostAddress - TODO: add argument description\r
470 Attributes - TODO: add argument description\r
471\r
472Returns:\r
473\r
474 TODO: add return values\r
475\r
bcd70414 476**/\r
ead42efc 477;\r
478\r
479EFI_STATUS\r
480EFIAPI\r
481PciIoFreeBuffer (\r
482 IN EFI_PCI_IO_PROTOCOL *This,\r
483 IN UINTN Pages,\r
484 IN VOID *HostAddress\r
485 )\r
bcd70414 486/**\r
ead42efc 487\r
488Routine Description:\r
489\r
490 TODO: Add function description\r
491\r
492Arguments:\r
493\r
494 This - TODO: add argument description\r
495 Pages - TODO: add argument description\r
496 HostAddress - TODO: add argument description\r
497\r
498Returns:\r
499\r
500 TODO: add return values\r
501\r
bcd70414 502**/\r
ead42efc 503;\r
504\r
505EFI_STATUS\r
506EFIAPI\r
507PciIoFlush (\r
508 IN EFI_PCI_IO_PROTOCOL *This\r
509 )\r
bcd70414 510/**\r
ead42efc 511\r
512Routine Description:\r
513\r
514 TODO: Add function description\r
515\r
516Arguments:\r
517\r
518 This - TODO: add argument description\r
519\r
520Returns:\r
521\r
522 TODO: add return values\r
523\r
bcd70414 524**/\r
ead42efc 525;\r
526\r
527EFI_STATUS\r
528EFIAPI\r
529PciIoGetLocation (\r
530 IN EFI_PCI_IO_PROTOCOL *This,\r
531 OUT UINTN *Segment,\r
532 OUT UINTN *Bus,\r
533 OUT UINTN *Device,\r
534 OUT UINTN *Function\r
535 )\r
bcd70414 536/**\r
ead42efc 537\r
538Routine Description:\r
539\r
540 TODO: Add function description\r
541\r
542Arguments:\r
543\r
544 This - TODO: add argument description\r
545 Segment - TODO: add argument description\r
546 Bus - TODO: add argument description\r
547 Device - TODO: add argument description\r
548 Function - TODO: add argument description\r
549\r
550Returns:\r
551\r
552 TODO: add return values\r
553\r
bcd70414 554**/\r
ead42efc 555;\r
556\r
557BOOLEAN\r
558CheckBarType (\r
559 IN PCI_IO_DEVICE *PciIoDevice,\r
560 UINT8 BarIndex,\r
561 PCI_BAR_TYPE BarType\r
562 )\r
bcd70414 563/**\r
ead42efc 564\r
565Routine Description:\r
566\r
567 TODO: Add function description\r
568\r
569Arguments:\r
570\r
571 PciIoDevice - TODO: add argument description\r
572 BarIndex - TODO: add argument description\r
573 BarType - TODO: add argument description\r
574\r
575Returns:\r
576\r
577 TODO: add return values\r
578\r
bcd70414 579**/\r
ead42efc 580;\r
581\r
582EFI_STATUS\r
583ModifyRootBridgeAttributes (\r
584 IN PCI_IO_DEVICE *PciIoDevice,\r
585 IN UINT64 Attributes,\r
586 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation\r
587 )\r
bcd70414 588/**\r
ead42efc 589\r
590Routine Description:\r
591\r
592 TODO: Add function description\r
593\r
594Arguments:\r
595\r
596 PciIoDevice - TODO: add argument description\r
597 Attributes - TODO: add argument description\r
598 Operation - TODO: add argument description\r
599\r
600Returns:\r
601\r
602 TODO: add return values\r
603\r
bcd70414 604**/\r
ead42efc 605;\r
606\r
607EFI_STATUS\r
608SupportPaletteSnoopAttributes (\r
609 IN PCI_IO_DEVICE *PciIoDevice,\r
610 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation\r
611 )\r
bcd70414 612/**\r
ead42efc 613\r
614Routine Description:\r
615\r
616 TODO: Add function description\r
617\r
618Arguments:\r
619\r
620 PciIoDevice - TODO: add argument description\r
621 Operation - TODO: add argument description\r
622\r
623Returns:\r
624\r
625 TODO: add return values\r
626\r
bcd70414 627**/\r
ead42efc 628;\r
629\r
630EFI_STATUS\r
631EFIAPI\r
632PciIoAttributes (\r
633 IN EFI_PCI_IO_PROTOCOL * This,\r
634 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation,\r
635 IN UINT64 Attributes,\r
636 OUT UINT64 *Result OPTIONAL\r
637 )\r
bcd70414 638/**\r
ead42efc 639\r
640Routine Description:\r
641\r
642 TODO: Add function description\r
643\r
644Arguments:\r
645\r
646 This - TODO: add argument description\r
647 Operation - TODO: add argument description\r
648 Attributes - TODO: add argument description\r
649 Result - TODO: add argument description\r
650\r
651Returns:\r
652\r
653 TODO: add return values\r
654\r
bcd70414 655**/\r
ead42efc 656;\r
657\r
658EFI_STATUS\r
659EFIAPI\r
660PciIoGetBarAttributes (\r
661 IN EFI_PCI_IO_PROTOCOL * This,\r
662 IN UINT8 BarIndex,\r
663 OUT UINT64 *Supports, OPTIONAL\r
664 OUT VOID **Resources OPTIONAL\r
665 )\r
bcd70414 666/**\r
ead42efc 667\r
668Routine Description:\r
669\r
670 TODO: Add function description\r
671\r
672Arguments:\r
673\r
674 This - TODO: add argument description\r
675 BarIndex - TODO: add argument description\r
676 Supports - TODO: add argument description\r
677 Resources - TODO: add argument description\r
678\r
679Returns:\r
680\r
681 TODO: add return values\r
682\r
bcd70414 683**/\r
ead42efc 684;\r
685\r
686EFI_STATUS\r
687EFIAPI\r
688PciIoSetBarAttributes (\r
689 IN EFI_PCI_IO_PROTOCOL *This,\r
690 IN UINT64 Attributes,\r
691 IN UINT8 BarIndex,\r
692 IN OUT UINT64 *Offset,\r
693 IN OUT UINT64 *Length\r
694 )\r
bcd70414 695/**\r
ead42efc 696\r
697Routine Description:\r
698\r
699 TODO: Add function description\r
700\r
701Arguments:\r
702\r
703 This - TODO: add argument description\r
704 Attributes - TODO: add argument description\r
705 BarIndex - TODO: add argument description\r
706 Offset - TODO: add argument description\r
707 Length - TODO: add argument description\r
708\r
709Returns:\r
710\r
711 TODO: add return values\r
712\r
bcd70414 713**/\r
ead42efc 714;\r
715\r
716EFI_STATUS\r
717UpStreamBridgesAttributes (\r
718 IN PCI_IO_DEVICE *PciIoDevice,\r
719 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation,\r
720 IN UINT64 Attributes\r
721 )\r
bcd70414 722/**\r
ead42efc 723\r
724Routine Description:\r
725\r
726 TODO: Add function description\r
727\r
728Arguments:\r
729\r
730 PciIoDevice - TODO: add argument description\r
731 Operation - TODO: add argument description\r
732 Attributes - TODO: add argument description\r
733\r
734Returns:\r
735\r
736 TODO: add return values\r
737\r
bcd70414 738**/\r
ead42efc 739;\r
740\r
741BOOLEAN\r
742PciDevicesOnTheSamePath (\r
743 IN PCI_IO_DEVICE *PciDevice1,\r
744 IN PCI_IO_DEVICE *PciDevice2\r
745 )\r
bcd70414 746/**\r
ead42efc 747\r
748Routine Description:\r
749\r
750 TODO: Add function description\r
751\r
752Arguments:\r
753\r
754 PciDevice1 - TODO: add argument description\r
755 PciDevice2 - TODO: add argument description\r
756\r
757Returns:\r
758\r
759 TODO: add return values\r
760\r
bcd70414 761**/\r
ead42efc 762;\r
763\r
764#endif\r