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