Rev 5270 | Rev 6102 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | #include |
23 | #include |
Line 24... | Line 24... | ||
24 | 24 | ||
25 | #include |
25 | #include |
Line -... | Line 26... | ||
- | 26 | #include |
|
- | 27 | ||
- | 28 | #include |
|
- | 29 | ||
- | 30 | #if 0 |
|
- | 31 | struct device |
|
- | 32 | { |
|
- | 33 | struct device *parent; |
|
- | 34 | void *driver_data; |
|
- | 35 | }; |
|
Line 26... | Line 36... | ||
26 | #include |
36 | |
27 | 37 | #endif |
|
Line 202... | Line 212... | ||
202 | * devices. The slot/function address of each device is encoded |
212 | * devices. The slot/function address of each device is encoded |
203 | * in a single byte as follows: |
213 | * in a single byte as follows: |
204 | * |
214 | * |
205 | * 7:3 = slot |
215 | * 7:3 = slot |
206 | * 2:0 = function |
216 | * 2:0 = function |
- | 217 | * |
|
- | 218 | * PCI_DEVFN(), PCI_SLOT(), and PCI_FUNC() are defined in uapi/linux/pci.h. |
|
- | 219 | * In the interest of not exposing interfaces to user-space unnecessarily, |
|
- | 220 | * the following kernel-only defines are being added here. |
|
207 | */ |
221 | */ |
208 | #define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) |
222 | #define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) |
209 | #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) |
223 | #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) |
210 | #define PCI_FUNC(devfn) ((devfn) & 0x07) |
224 | #define PCI_FUNC(devfn) ((devfn) & 0x07) |
Line 425... | Line 439... | ||
425 | unsigned int wakeup_prepared:1; |
439 | unsigned int wakeup_prepared:1; |
426 | unsigned int runtime_d3cold:1; /* whether go through runtime |
440 | unsigned int runtime_d3cold:1; /* whether go through runtime |
427 | D3cold, not set for devices |
441 | D3cold, not set for devices |
428 | powered on/off by the |
442 | powered on/off by the |
429 | corresponding bridge */ |
443 | corresponding bridge */ |
- | 444 | unsigned int ignore_hotplug:1; /* Ignore hotplug events */ |
|
430 | unsigned int d3_delay; /* D3->D0 transition time in ms */ |
445 | unsigned int d3_delay; /* D3->D0 transition time in ms */ |
431 | unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ |
446 | unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ |
Line 432... | Line 447... | ||
432 | 447 | ||
433 | #ifdef CONFIG_PCIEASPM |
448 | #ifdef CONFIG_PCIEASPM |
434 | struct pcie_link_state *link_state; /* ASPM link state. */ |
449 | struct pcie_link_state *link_state; /* ASPM link state */ |
Line 435... | Line 450... | ||
435 | #endif |
450 | #endif |
436 | 451 | ||
Line 444... | Line 459... | ||
444 | * directly, use the values stored here. They might be different! |
459 | * directly, use the values stored here. They might be different! |
445 | */ |
460 | */ |
446 | unsigned int irq; |
461 | unsigned int irq; |
447 | struct resource resource[DEVICE_COUNT_RESOURCE]; /* I/O and memory regions + expansion ROMs */ |
462 | struct resource resource[DEVICE_COUNT_RESOURCE]; /* I/O and memory regions + expansion ROMs */ |
Line -... | Line 463... | ||
- | 463 | ||
448 | 464 | bool match_driver; /* Skip attaching driver */ |
|
449 | /* These fields are used by common fixups */ |
465 | /* These fields are used by common fixups */ |
450 | unsigned int transparent:1; /* Transparent PCI bridge */ |
466 | unsigned int transparent:1; /* Subtractive decode PCI bridge */ |
451 | unsigned int multifunction:1;/* Part of multi-function device */ |
467 | unsigned int multifunction:1;/* Part of multi-function device */ |
452 | /* keep track of device state */ |
468 | /* keep track of device state */ |
453 | unsigned int is_added:1; |
469 | unsigned int is_added:1; |
454 | unsigned int is_busmaster:1; /* device is busmaster */ |
470 | unsigned int is_busmaster:1; /* device is busmaster */ |
- | 471 | unsigned int no_msi:1; /* device may not use msi */ |
|
455 | unsigned int no_msi:1; /* device may not use msi */ |
472 | unsigned int no_64bit_msi:1; /* device may only use 32-bit MSIs */ |
456 | unsigned int block_cfg_access:1; /* config space access is blocked */ |
473 | unsigned int block_cfg_access:1; /* config space access is blocked */ |
457 | unsigned int broken_parity_status:1; /* Device generates false positive parity */ |
474 | unsigned int broken_parity_status:1; /* Device generates false positive parity */ |
458 | unsigned int irq_reroute_variant:2; /* device needs IRQ rerouting variant */ |
475 | unsigned int irq_reroute_variant:2; /* device needs IRQ rerouting variant */ |
459 | unsigned int msi_enabled:1; |
476 | unsigned int msi_enabled:1; |
460 | unsigned int msix_enabled:1; |
477 | unsigned int msix_enabled:1; |
461 | unsigned int ari_enabled:1; /* ARI forwarding */ |
478 | unsigned int ari_enabled:1; /* ARI forwarding */ |
462 | unsigned int is_managed:1; |
- | |
463 | unsigned int is_pcie:1; /* Obsolete. Will be removed. |
- | |
464 | Use pci_is_pcie() instead */ |
479 | unsigned int is_managed:1; |
465 | unsigned int needs_freset:1; /* Dev requires fundamental reset */ |
480 | unsigned int needs_freset:1; /* Dev requires fundamental reset */ |
466 | unsigned int state_saved:1; |
481 | unsigned int state_saved:1; |
467 | unsigned int is_physfn:1; |
482 | unsigned int is_physfn:1; |
468 | unsigned int is_virtfn:1; |
483 | unsigned int is_virtfn:1; |