Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c75059c4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull PCI changes from Bjorn Helgaas:
 "Here are the PCI changes intended for v3.19.  I don't think there's
  anything very exciting here, but there was a lot of MSI-related stuff
  coming via Thomas.

  Details:

  NUMA
    - Allow numa_node override via sysfs (Prarit Bhargava)

  Resource management
    - Restore detection of read-only BARs (Myron Stowe)
    - Shrink decoding-disabled window while sizing BARs (Myron Stowe)
    - Add informational printk for invalid BARs (Myron Stowe)
    - Remove fixed parameter in pci_iov_resource_bar() (Myron Stowe)

  MSI
    - Add pci_msi_ignore_mask to prevent writes to MSI/MSI-X Mask Bits (Yijing Wang)
    - Revert "PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()" (Yijing Wang)
    - s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq() (Yijing Wang)

  Virtualization
    - xen: Process failure for pcifront_(re)scan_root() (Chen Gang)
    - Make FLR and AF FLR reset warning messages different (Gavin Shan)

  Generic host bridge driver
    - Allocate config space windows after limiting bus number range (Lorenzo Pieralisi)
    - Convert to DT resource parsing API (Lorenzo Pieralisi)

  Freescale Layerscape
    - Add Freescale Layerscape PCIe driver (Minghuan Lian)

  NVIDIA Tegra
    - Do not build on 64-bit ARM (Thierry Reding)
    - Add Kconfig help text (Thierry Reding)

  Renesas R-Car
    - Make rcar_pci static (Jingoo Han)

  Samsung Exynos
    - Add exynos prefix to add_pcie_port(), pcie_init() (Jingoo Han)

  ST Microelectronics SPEAr13xx
    - Add spear prefix to add_pcie_port(), pcie_init() (Jingoo Han)
    - Make spear13xx_add_pcie_port() __init (Jingoo Han)
    - Remove unnecessary OOM message (Jingoo Han)

  TI DRA7xx
    - Add dra7xx prefix to add_pcie_port() (Jingoo Han)
    - Make dra7xx_add_pcie_port() __init (Jingoo Han)

  TI Keystone
    - Make ks_dw_pcie_msi_domain_ops static (Jingoo Han)
    - Remove unnecessary OOM message (Jingoo Han)

  Miscellaneous
    - Delete unnecessary NULL pointer checks (Markus Elfring)
    - Remove unused to_hotplug_slot() (Gavin Shan)
    - Whitespace cleanup (Jingoo Han)
    - Simplify if-return sequences (Quentin Lambert)"

* tag 'pci-v3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (28 commits)
  PCI: Remove fixed parameter in pci_iov_resource_bar()
  PCI: Add informational printk for invalid BARs
  PCI: tegra: Add Kconfig help text
  PCI: tegra: Do not build on 64-bit ARM
  PCI: spear: Remove unnecessary OOM message
  PCI: mvebu: Add a blank line after declarations
  PCI: designware: Add a blank line after declarations
  PCI: exynos: Remove unnecessary return statement
  PCI: imx6: Use tabs for indentation
  PCI: keystone: Remove unnecessary OOM message
  PCI: Remove unused and broken to_hotplug_slot()
  PCI: Make FLR and AF FLR reset warning messages different
  PCI: dra7xx: Add __init annotation to dra7xx_add_pcie_port()
  PCI: spear: Add __init annotation to spear13xx_add_pcie_port()
  PCI: spear: Rename add_pcie_port(), pcie_init() to spear13xx_add_pcie_port(), etc.
  PCI: dra7xx: Rename add_pcie_port() to dra7xx_add_pcie_port()
  PCI: layerscape: Add Freescale Layerscape PCIe driver
  PCI: Simplify if-return sequences
  PCI: Delete unnecessary NULL pointer checks
  PCI: Shrink decoding-disabled window while sizing BARs
  ...
parents f74ea368 14979279
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -281,3 +281,16 @@ Description:
		opt-out of driver binding using a driver_override name such as
		"none".  Only a single driver may be specified in the override,
		there is no support for parsing delimiters.

What:		/sys/bus/pci/devices/.../numa_node
Date:		Oct 2014
Contact:	Prarit Bhargava <prarit@redhat.com>
Description:
		This file contains the NUMA node to which the PCI device is
		attached, or -1 if the node is unknown.  The initial value
		comes from an ACPI _PXM method or a similar firmware
		source.  If that is missing or incorrect, this file can be
		written to override the node.  In that case, please report
		a firmware bug to the system vendor.  Writing to this file
		taints the kernel with TAINT_FIRMWARE_WORKAROUND, which
		reduces the supportability of your system.
+42 −0
Original line number Diff line number Diff line
Freescale Layerscape PCIe controller

This PCIe host controller is based on the Synopsis Designware PCIe IP
and thus inherits all the common properties defined in designware-pcie.txt.

Required properties:
- compatible: should contain the platform identifier such as "fsl,ls1021a-pcie"
- reg: base addresses and lengths of the PCIe controller
- interrupts: A list of interrupt outputs of the controller. Must contain an
  entry for each entry in the interrupt-names property.
- interrupt-names: Must include the following entries:
  "intr": The interrupt that is asserted for controller interrupts
- fsl,pcie-scfg: Must include two entries.
  The first entry must be a link to the SCFG device node
  The second entry must be '0' or '1' based on physical PCIe controller index.
  This is used to get SCFG PEXN registers

Example:

	pcie@3400000 {
		compatible = "fsl,ls1021a-pcie", "snps,dw-pcie";
		reg = <0x00 0x03400000 0x0 0x00010000   /* controller registers */
		       0x40 0x00000000 0x0 0x00002000>; /* configuration space */
		reg-names = "regs", "config";
		interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
		interrupt-names = "intr";
		fsl,pcie-scfg = <&scfg 0>;
		#address-cells = <3>;
		#size-cells = <2>;
		device_type = "pci";
		num-lanes = <4>;
		bus-range = <0x0 0xff>;
		ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
			  0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000   /* prefetchable memory */
			  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 0 7>;
		interrupt-map = <0000 0 0 1 &gic GIC_SPI 91  IRQ_TYPE_LEVEL_HIGH>,
				<0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
				<0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
				<0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
	};
+10 −0
Original line number Diff line number Diff line
@@ -7086,6 +7086,16 @@ S: Maintained
F:	Documentation/devicetree/bindings/pci/xgene-pci.txt
F:	drivers/pci/host/pci-xgene.c

PCI DRIVER FOR FREESCALE LAYERSCAPE
M:	Minghuan Lian <minghuan.Lian@freescale.com>
M:	Mingkai Hu <mingkai.hu@freescale.com>
M:	Roy Zang <tie-fei.zang@freescale.com>
L:	linuxppc-dev@lists.ozlabs.org
L:	linux-pci@vger.kernel.org
L:	linux-arm-kernel@lists.infradead.org
S:	Maintained
F:	drivers/pci/host/*layerscape*

PCI DRIVER FOR IMX6
M:	Richard Zhu <r65037@freescale.com>
M:	Lucas Stach <l.stach@pengutronix.de>
+12 −1
Original line number Diff line number Diff line
@@ -32,7 +32,10 @@ config PCI_IMX6

config PCI_TEGRA
	bool "NVIDIA Tegra PCIe controller"
	depends on ARCH_TEGRA
	depends on ARCH_TEGRA && !ARM64
	help
	  Say Y here if you want support for the PCIe host controller found
	  on NVIDIA Tegra SoCs.

config PCI_RCAR_GEN2
	bool "Renesas R-Car Gen2 Internal PCI controller"
@@ -91,4 +94,12 @@ config PCI_XGENE
	  There are 5 internal PCIe ports available. Each port is GEN3 capable
	  and have varied lanes from x1 to x8.

config PCI_LAYERSCAPE
	bool "Freescale Layerscape PCIe controller"
	depends on OF && ARM
	select PCIE_DW
	select MFD_SYSCON
	help
	  Say Y here if you want PCIe controller support on Layerscape SoCs.

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -11,3 +11,4 @@ obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o
obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
obj-$(CONFIG_PCI_XGENE) += pci-xgene.o
obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
Loading