forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'pci-v4.15-changes' of git://git.kernel.org/pub/scm/linux/k…
…ernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: - detach driver before tearing down procfs/sysfs (Alex Williamson) - disable PCIe services during shutdown (Sinan Kaya) - fix ASPM oops on systems with no Root Ports (Ard Biesheuvel) - fix ASPM LTR_L1.2_THRESHOLD programming (Bjorn Helgaas) - fix ASPM Common_Mode_Restore_Time computation (Bjorn Helgaas) - fix portdrv MSI/MSI-X vector allocation (Dongdong Liu, Bjorn Helgaas) - report non-fatal AER errors only to the affected endpoint (Gabriele Paoloni) - distribute bus numbers, MMIO, and I/O space among hotplug bridges to allow more devices to be hot-added (Mika Westerberg) - fix pciehp races during initialization and surprise link down (Mika Westerberg) - handle surprise-removed devices in PME handling (Qiang) - support resizable BARs for large graphics devices (Christian König) - expose SR-IOV offset, stride, and VF device ID via sysfs (Filippo Sironi) - create SR-IOV virtfn/physfn sysfs links before attaching driver (Stuart Hayes) - fix SR-IOV "ARI Capable Hierarchy" restore issue (Tony Nguyen) - enforce Kconfig IOV/REALLOC dependency (Sascha El-Sharkawy) - avoid slot reset if bridge itself is broken (Jan Glauber) - clean up pci_reset_function() path (Jan H. Schönherr) - make pci_map_rom() fail if the option ROM is invalid (Changbin Du) - convert timers to timer_setup() (Kees Cook) - move PCI_QUIRKS to PCI bus Kconfig menu (Randy Dunlap) - constify pci_dev_type and intel_mid_pci_ops (Bhumika Goyal) - remove unnecessary pci_dev, pci_bus, resource, pcibios_set_master() declarations (Bjorn Helgaas) - fix endpoint framework overflows and BUG()s (Dan Carpenter) - fix endpoint framework issues (Kishon Vijay Abraham I) - avoid broken Cavium CN8xxx bus reset behavior (David Daney) - extend Cavium ACS capability quirks (Vadim Lomovtsev) - support Synopsys DesignWare RC in ECAM mode (Ard Biesheuvel) - turn off dra7xx clocks cleanly on shutdown (Keerthy) - fix Faraday probe error path (Wei Yongjun) - support HiSilicon STB SoC PCIe host controller (Jianguo Sun) - fix Hyper-V interrupt affinity issue (Dexuan Cui) - remove useless ACPI warning for Hyper-V pass-through devices (Vitaly Kuznetsov) - support multiple MSI on iProc (Sandor Bodo-Merle) - support Layerscape LS1012a and LS1046a PCIe host controllers (Hou Zhiqiang) - fix Layerscape default error response (Minghuan Lian) - support MSI on Tango host controller (Marc Gonzalez) - support Tegra186 PCIe host controller (Manikanta Maddireddy) - use generic accessors on Tegra when possible (Thierry Reding) - support V3 Semiconductor PCI host controller (Linus Walleij) * tag 'pci-v4.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (85 commits) PCI/ASPM: Add L1 Substates definitions PCI/ASPM: Reformat ASPM register definitions PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time PCI: xgene: Rename xgene_pcie_probe_bridge() to xgene_pcie_probe() PCI: xilinx: Rename xilinx_pcie_link_is_up() to xilinx_pcie_link_up() PCI: altera: Rename altera_pcie_link_is_up() to altera_pcie_link_up() PCI: Fix kernel-doc build warning PCI: Fail pci_map_rom() if the option ROM is invalid PCI: Move pci_map_rom() error path PCI: Move PCI_QUIRKS to the PCI bus menu alpha/PCI: Make pdev_save_srm_config() static PCI: Remove unused declarations PCI: Remove redundant pci_dev, pci_bus, resource declarations PCI: Remove redundant pcibios_set_master() declarations PCI/PME: Handle invalid data when reading Root Status PCI: hv: Use effective affinity mask PCI: pciehp: Do not clear Presence Detect Changed during initialization PCI: pciehp: Fix race condition handling surprise link down PCI: Distribute available resources to hotplug-capable bridges ...
- Loading branch information
Showing
87 changed files
with
3,456 additions
and
574 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
* Synopsys DesignWare PCIe root complex in ECAM shift mode | ||
|
||
In some cases, firmware may already have configured the Synopsys DesignWare | ||
PCIe controller in RC mode with static ATU window mappings that cover all | ||
config, MMIO and I/O spaces in a [mostly] ECAM compatible fashion. | ||
In this case, there is no need for the OS to perform any low level setup | ||
of clocks, PHYs or device registers, nor is there any reason for the driver | ||
to reconfigure ATU windows for config and/or IO space accesses at runtime. | ||
|
||
In cases where the IP was synthesized with a minimum ATU window size of | ||
64 KB, it cannot be supported by the generic ECAM driver, because it | ||
requires special config space accessors that filter accesses to device #1 | ||
and beyond on the first bus. | ||
|
||
Required properties: | ||
- compatible: "marvell,armada8k-pcie-ecam" or | ||
"socionext,synquacer-pcie-ecam" or | ||
"snps,dw-pcie-ecam" (must be preceded by a more specific match) | ||
|
||
Please refer to the binding document of "pci-host-ecam-generic" in the | ||
file host-generic-pci.txt for a description of the remaining required | ||
and optional properties. | ||
|
||
Example: | ||
|
||
pcie1: pcie@7f000000 { | ||
compatible = "socionext,synquacer-pcie-ecam", "snps,dw-pcie-ecam"; | ||
device_type = "pci"; | ||
reg = <0x0 0x7f000000 0x0 0xf00000>; | ||
bus-range = <0x0 0xe>; | ||
#address-cells = <3>; | ||
#size-cells = <2>; | ||
ranges = <0x1000000 0x00 0x00010000 0x00 0x7ff00000 0x0 0x00010000>, | ||
<0x2000000 0x00 0x70000000 0x00 0x70000000 0x0 0x0f000000>, | ||
<0x3000000 0x3f 0x00000000 0x3f 0x00000000 0x1 0x00000000>; | ||
|
||
#interrupt-cells = <0x1>; | ||
interrupt-map-mask = <0x0 0x0 0x0 0x0>; | ||
interrupt-map = <0x0 0x0 0x0 0x0 &gic 0x0 0x0 0x0 182 0x4>; | ||
msi-map = <0x0 &its 0x0 0x10000>; | ||
dma-coherent; | ||
}; |
68 changes: 68 additions & 0 deletions
68
Documentation/devicetree/bindings/pci/hisilicon-histb-pcie.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
HiSilicon STB PCIe host bridge DT description | ||
|
||
The HiSilicon STB PCIe host controller is based on the DesignWare PCIe core. | ||
It shares common functions with the DesignWare PCIe core driver and inherits | ||
common properties defined in | ||
Documentation/devicetree/bindings/pci/designware-pcie.txt. | ||
|
||
Additional properties are described here: | ||
|
||
Required properties | ||
- compatible: Should be one of the following strings: | ||
"hisilicon,hi3798cv200-pcie" | ||
- reg: Should contain sysctl, rc_dbi, config registers location and length. | ||
- reg-names: Must include the following entries: | ||
"control": control registers of PCIe controller; | ||
"rc-dbi": configuration space of PCIe controller; | ||
"config": configuration transaction space of PCIe controller. | ||
- bus-range: PCI bus numbers covered. | ||
- interrupts: MSI interrupt. | ||
- interrupt-names: Must include "msi" entries. | ||
- clocks: List of phandle and clock specifier pairs as listed in clock-names | ||
property. | ||
- clock-name: Must include the following entries: | ||
"aux": auxiliary gate clock; | ||
"pipe": pipe gate clock; | ||
"sys": sys gate clock; | ||
"bus": bus gate clock. | ||
- resets: List of phandle and reset specifier pairs as listed in reset-names | ||
property. | ||
- reset-names: Must include the following entries: | ||
"soft": soft reset; | ||
"sys": sys reset; | ||
"bus": bus reset. | ||
|
||
Optional properties: | ||
- reset-gpios: The gpio to generate PCIe PERST# assert and deassert signal. | ||
- phys: List of phandle and phy mode specifier, should be 0. | ||
- phy-names: Must be "phy". | ||
|
||
Example: | ||
pcie@f9860000 { | ||
compatible = "hisilicon,hi3798cv200-pcie"; | ||
reg = <0xf9860000 0x1000>, | ||
<0xf0000000 0x2000>, | ||
<0xf2000000 0x01000000>; | ||
reg-names = "control", "rc-dbi", "config"; | ||
#address-cells = <3>; | ||
#size-cells = <2>; | ||
device_type = "pci"; | ||
bus-range = <0 15>; | ||
num-lanes = <1>; | ||
ranges=<0x81000000 0 0 0xf4000000 0 0x00010000 | ||
0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>; | ||
interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "msi"; | ||
#interrupt-cells = <1>; | ||
interrupt-map-mask = <0 0 0 0>; | ||
interrupt-map = <0 0 0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&crg PCIE_AUX_CLK>, | ||
<&crg PCIE_PIPE_CLK>, | ||
<&crg PCIE_SYS_CLK>, | ||
<&crg PCIE_BUS_CLK>; | ||
clock-names = "aux", "pipe", "sys", "bus"; | ||
resets = <&crg 0x18c 6>, <&crg 0x18c 5>, <&crg 0x18c 4>; | ||
reset-names = "soft", "sys", "bus"; | ||
phys = <&combphy1 PHY_TYPE_PCIE>; | ||
phy-names = "phy"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.