diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:31:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:31:35 -0400 |
commit | 862f0012549110d6f2586bf54b52ed4540cbff3a (patch) | |
tree | 83d29a684b885b1f58af76e0cd29b8552fd480ea /include | |
parent | f991fae5c6d42dfc5029150b05a78cf3f6c18cc9 (diff) | |
parent | a0f75f9d495b3905b4c658c1d813a127f558a350 (diff) |
Merge tag 'pci-v3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI changes from Bjorn Helgaas:
"PCI device hotplug
- Add pci_alloc_dev() interface (Gu Zheng)
- Add pci_bus_get()/put() for reference counting (Jiang Liu)
- Fix SR-IOV reference count issues (Jiang Liu)
- Remove unused acpi_pci_roots list (Jiang Liu)
MSI
- Conserve interrupt resources on x86 (Alexander Gordeev)
AER
- Force fatal severity when component has been reset (Betty Dall)
- Reset link below Root Port as well as Downstream Port (Betty Dall)
- Fix "Firmware first" flag setting (Bjorn Helgaas)
- Don't parse HEST for non-PCIe devices (Bjorn Helgaas)
ASPM
- Warn when we can't disable ASPM as driver requests (Bjorn Helgaas)
Miscellaneous
- Add CircuitCo PCI IDs (Darren Hart)
- Add AMD CZ SATA and SMBus PCI IDs (Shane Huang)
- Work around Ivytown NTB BAR size issue (Jon Mason)
- Detect invalid initial BAR values (Kevin Hao)
- Add pcibios_release_device() (Sebastian Ott)
- Fix powerpc & sparc PCI_UNKNOWN power state usage (Bjorn Helgaas)"
* tag 'pci-v3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (51 commits)
MAINTAINERS: Add ACPI folks for ACPI-related things under drivers/pci
PCI: Add CircuitCo vendor ID and subsystem ID
PCI: Use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
PCI: Return early on allocation failures to unindent mainline code
PCI: Simplify IOV implementation and fix reference count races
PCI: Drop redundant setting of bus->is_added in virtfn_add_bus()
unicore32/PCI: Remove redundant call of pci_bus_add_devices()
m68k/PCI: Remove redundant call of pci_bus_add_devices()
PCI / ACPI / PM: Use correct power state strings in messages
PCI: Fix comment typo for pcie_pme_remove()
PCI: Rename pci_release_bus_bridge_dev() to pci_release_host_bridge_dev()
PCI: Fix refcount issue in pci_create_root_bus() error recovery path
ia64/PCI: Clean up pci_scan_root_bus() usage
PCI/AER: Reset link for devices below Root Port or Downstream Port
ACPI / APEI: Force fatal AER severity when component has been reset
PCI/AER: Remove "extern" from function declarations
PCI/AER: Move AER severity defines to aer.h
PCI/AER: Set dev->__aer_firmware_first only for matching devices
PCI/AER: Factor out HEST device type matching
PCI/AER: Don't parse HEST table for non-PCIe devices
...
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/acpi_bus.h | 1 | ||||
-rw-r--r-- | include/linux/aer.h | 22 | ||||
-rw-r--r-- | include/linux/msi.h | 1 | ||||
-rw-r--r-- | include/linux/pci.h | 5 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 7 | ||||
-rw-r--r-- | include/uapi/linux/pci_regs.h | 2 |
6 files changed, 24 insertions, 14 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index ca081ace2a1d..56e6b68c8d2f 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -434,7 +434,6 @@ int register_acpi_bus_type(struct acpi_bus_type *); | |||
434 | int unregister_acpi_bus_type(struct acpi_bus_type *); | 434 | int unregister_acpi_bus_type(struct acpi_bus_type *); |
435 | 435 | ||
436 | struct acpi_pci_root { | 436 | struct acpi_pci_root { |
437 | struct list_head node; | ||
438 | struct acpi_device * device; | 437 | struct acpi_device * device; |
439 | struct pci_bus *bus; | 438 | struct pci_bus *bus; |
440 | u16 segment; | 439 | u16 segment; |
diff --git a/include/linux/aer.h b/include/linux/aer.h index 737f90ab4b62..4dbaa7081530 100644 --- a/include/linux/aer.h +++ b/include/linux/aer.h | |||
@@ -7,6 +7,10 @@ | |||
7 | #ifndef _AER_H_ | 7 | #ifndef _AER_H_ |
8 | #define _AER_H_ | 8 | #define _AER_H_ |
9 | 9 | ||
10 | #define AER_NONFATAL 0 | ||
11 | #define AER_FATAL 1 | ||
12 | #define AER_CORRECTABLE 2 | ||
13 | |||
10 | struct aer_header_log_regs { | 14 | struct aer_header_log_regs { |
11 | unsigned int dw0; | 15 | unsigned int dw0; |
12 | unsigned int dw1; | 16 | unsigned int dw1; |
@@ -31,9 +35,9 @@ struct aer_capability_regs { | |||
31 | 35 | ||
32 | #if defined(CONFIG_PCIEAER) | 36 | #if defined(CONFIG_PCIEAER) |
33 | /* pci-e port driver needs this function to enable aer */ | 37 | /* pci-e port driver needs this function to enable aer */ |
34 | extern int pci_enable_pcie_error_reporting(struct pci_dev *dev); | 38 | int pci_enable_pcie_error_reporting(struct pci_dev *dev); |
35 | extern int pci_disable_pcie_error_reporting(struct pci_dev *dev); | 39 | int pci_disable_pcie_error_reporting(struct pci_dev *dev); |
36 | extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev); | 40 | int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev); |
37 | #else | 41 | #else |
38 | static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev) | 42 | static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev) |
39 | { | 43 | { |
@@ -49,11 +53,11 @@ static inline int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) | |||
49 | } | 53 | } |
50 | #endif | 54 | #endif |
51 | 55 | ||
52 | extern void cper_print_aer(struct pci_dev *dev, | 56 | void cper_print_aer(struct pci_dev *dev, int cper_severity, |
53 | int cper_severity, struct aer_capability_regs *aer); | 57 | struct aer_capability_regs *aer); |
54 | extern int cper_severity_to_aer(int cper_severity); | 58 | int cper_severity_to_aer(int cper_severity); |
55 | extern void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, | 59 | void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, |
56 | int severity, | 60 | int severity, |
57 | struct aer_capability_regs *aer_regs); | 61 | struct aer_capability_regs *aer_regs); |
58 | #endif //_AER_H_ | 62 | #endif //_AER_H_ |
59 | 63 | ||
diff --git a/include/linux/msi.h b/include/linux/msi.h index 20c2d6dd5d25..ee66f3a12fb6 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h | |||
@@ -35,6 +35,7 @@ struct msi_desc { | |||
35 | 35 | ||
36 | u32 masked; /* mask bits */ | 36 | u32 masked; /* mask bits */ |
37 | unsigned int irq; | 37 | unsigned int irq; |
38 | unsigned int nvec_used; /* number of messages */ | ||
38 | struct list_head list; | 39 | struct list_head list; |
39 | 40 | ||
40 | union { | 41 | union { |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 8f170e9073a5..0fd1f1582fa1 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -364,7 +364,8 @@ static inline struct pci_dev *pci_physfn(struct pci_dev *dev) | |||
364 | return dev; | 364 | return dev; |
365 | } | 365 | } |
366 | 366 | ||
367 | struct pci_dev *alloc_pci_dev(void); | 367 | struct pci_dev *pci_alloc_dev(struct pci_bus *bus); |
368 | struct pci_dev * __deprecated alloc_pci_dev(void); | ||
368 | 369 | ||
369 | #define to_pci_dev(n) container_of(n, struct pci_dev, dev) | 370 | #define to_pci_dev(n) container_of(n, struct pci_dev, dev) |
370 | #define for_each_pci_dev(d) while ((d = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, d)) != NULL) | 371 | #define for_each_pci_dev(d) while ((d = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, d)) != NULL) |
@@ -1018,6 +1019,8 @@ int pci_request_selected_regions_exclusive(struct pci_dev *, int, const char *); | |||
1018 | void pci_release_selected_regions(struct pci_dev *, int); | 1019 | void pci_release_selected_regions(struct pci_dev *, int); |
1019 | 1020 | ||
1020 | /* drivers/pci/bus.c */ | 1021 | /* drivers/pci/bus.c */ |
1022 | struct pci_bus *pci_bus_get(struct pci_bus *bus); | ||
1023 | void pci_bus_put(struct pci_bus *bus); | ||
1021 | void pci_add_resource(struct list_head *resources, struct resource *res); | 1024 | void pci_add_resource(struct list_head *resources, struct resource *res); |
1022 | void pci_add_resource_offset(struct list_head *resources, struct resource *res, | 1025 | void pci_add_resource_offset(struct list_head *resources, struct resource *res, |
1023 | resource_size_t offset); | 1026 | resource_size_t offset); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index c12916248469..3bed2e89611b 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -556,7 +556,6 @@ | |||
556 | #define PCI_DEVICE_ID_AMD_8131_BRIDGE 0x7450 | 556 | #define PCI_DEVICE_ID_AMD_8131_BRIDGE 0x7450 |
557 | #define PCI_DEVICE_ID_AMD_8131_APIC 0x7451 | 557 | #define PCI_DEVICE_ID_AMD_8131_APIC 0x7451 |
558 | #define PCI_DEVICE_ID_AMD_8132_BRIDGE 0x7458 | 558 | #define PCI_DEVICE_ID_AMD_8132_BRIDGE 0x7458 |
559 | #define PCI_DEVICE_ID_AMD_HUDSON2_SMBUS 0x780b | ||
560 | #define PCI_DEVICE_ID_AMD_CS5535_IDE 0x208F | 559 | #define PCI_DEVICE_ID_AMD_CS5535_IDE 0x208F |
561 | #define PCI_DEVICE_ID_AMD_CS5536_ISA 0x2090 | 560 | #define PCI_DEVICE_ID_AMD_CS5536_ISA 0x2090 |
562 | #define PCI_DEVICE_ID_AMD_CS5536_FLASH 0x2091 | 561 | #define PCI_DEVICE_ID_AMD_CS5536_FLASH 0x2091 |
@@ -568,8 +567,9 @@ | |||
568 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A | 567 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A |
569 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 | 568 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 |
570 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 | 569 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 |
571 | #define PCI_DEVICE_ID_AMD_HUDSON2_IDE 0x780c | ||
572 | #define PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE 0x7800 | 570 | #define PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE 0x7800 |
571 | #define PCI_DEVICE_ID_AMD_HUDSON2_SMBUS 0x780b | ||
572 | #define PCI_DEVICE_ID_AMD_HUDSON2_IDE 0x780c | ||
573 | 573 | ||
574 | #define PCI_VENDOR_ID_TRIDENT 0x1023 | 574 | #define PCI_VENDOR_ID_TRIDENT 0x1023 |
575 | #define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 0x2000 | 575 | #define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 0x2000 |
@@ -2476,6 +2476,9 @@ | |||
2476 | 2476 | ||
2477 | #define PCI_VENDOR_ID_ASMEDIA 0x1b21 | 2477 | #define PCI_VENDOR_ID_ASMEDIA 0x1b21 |
2478 | 2478 | ||
2479 | #define PCI_VENDOR_ID_CIRCUITCO 0x1cc8 | ||
2480 | #define PCI_SUBSYSTEM_ID_CIRCUITCO_MINNOWBOARD 0x0001 | ||
2481 | |||
2479 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 | 2482 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 |
2480 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 | 2483 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 |
2481 | 2484 | ||
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 864e324da80d..c3cc01d474b0 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h | |||
@@ -468,7 +468,7 @@ | |||
468 | #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ | 468 | #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ |
469 | #define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ | 469 | #define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ |
470 | #define PCI_EXP_LNKCAP_L1EL 0x00038000 /* L1 Exit Latency */ | 470 | #define PCI_EXP_LNKCAP_L1EL 0x00038000 /* L1 Exit Latency */ |
471 | #define PCI_EXP_LNKCAP_CLKPM 0x00040000 /* L1 Clock Power Management */ | 471 | #define PCI_EXP_LNKCAP_CLKPM 0x00040000 /* Clock Power Management */ |
472 | #define PCI_EXP_LNKCAP_SDERC 0x00080000 /* Surprise Down Error Reporting Capable */ | 472 | #define PCI_EXP_LNKCAP_SDERC 0x00080000 /* Surprise Down Error Reporting Capable */ |
473 | #define PCI_EXP_LNKCAP_DLLLARC 0x00100000 /* Data Link Layer Link Active Reporting Capable */ | 473 | #define PCI_EXP_LNKCAP_DLLLARC 0x00100000 /* Data Link Layer Link Active Reporting Capable */ |
474 | #define PCI_EXP_LNKCAP_LBNC 0x00200000 /* Link Bandwidth Notification Capability */ | 474 | #define PCI_EXP_LNKCAP_LBNC 0x00200000 /* Link Bandwidth Notification Capability */ |