diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2018-08-15 15:59:14 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-08-15 15:59:14 -0400 |
commit | 732c47019de9033a68ba50175b469c9cd105df73 (patch) | |
tree | ea3536e07c3e5194fbb7a0e7a4df7273ad024f67 | |
parent | 0ea77d2b209ac50cb15388cf0824c95e6763ed31 (diff) | |
parent | 6f2c73c124b14808d210722fd1c0c8938f9db3ba (diff) |
Merge branch 'remotes/lorenzo/pci/mobiveil'
- Fix mobiveil iomem/phys_addr_t type usage (Lorenzo Pieralisi)
- Fix mobiveil missing include file (Lorenzo Pieralisi)
- Add mobiveil Kconfig/Makefile support (Lorenzo Pieralisi)
* remotes/lorenzo/pci/mobiveil:
PCI: mobiveil: Add Kconfig/Makefile entries
PCI: mobiveil: Add missing ../pci.h include
PCI: mobiveil: Fix struct mobiveil_pcie.pcie_reg_base address type
PCI: mobiveil: Integer overflow in IB_WIN_SIZE
-rw-r--r-- | drivers/pci/controller/Kconfig | 10 | ||||
-rw-r--r-- | drivers/pci/controller/Makefile | 1 | ||||
-rw-r--r-- | drivers/pci/controller/pcie-mobiveil.c | 4 |
3 files changed, 14 insertions, 1 deletions
diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig index 0f7ce5eaeac8..028b287466fb 100644 --- a/drivers/pci/controller/Kconfig +++ b/drivers/pci/controller/Kconfig | |||
@@ -239,6 +239,16 @@ config PCIE_MEDIATEK | |||
239 | Say Y here if you want to enable PCIe controller support on | 239 | Say Y here if you want to enable PCIe controller support on |
240 | MediaTek SoCs. | 240 | MediaTek SoCs. |
241 | 241 | ||
242 | config PCIE_MOBIVEIL | ||
243 | bool "Mobiveil AXI PCIe controller" | ||
244 | depends on ARCH_ZYNQMP || COMPILE_TEST | ||
245 | depends on OF | ||
246 | depends on PCI_MSI_IRQ_DOMAIN | ||
247 | help | ||
248 | Say Y here if you want to enable support for the Mobiveil AXI PCIe | ||
249 | Soft IP. It has up to 8 outbound and inbound windows | ||
250 | for address translation and it is a PCIe Gen4 IP. | ||
251 | |||
242 | config PCIE_TANGO_SMP8759 | 252 | config PCIE_TANGO_SMP8759 |
243 | bool "Tango SMP8759 PCIe controller (DANGEROUS)" | 253 | bool "Tango SMP8759 PCIe controller (DANGEROUS)" |
244 | depends on ARCH_TANGO && PCI_MSI && OF | 254 | depends on ARCH_TANGO && PCI_MSI && OF |
diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile index 24322b92f200..d56a507495c5 100644 --- a/drivers/pci/controller/Makefile +++ b/drivers/pci/controller/Makefile | |||
@@ -26,6 +26,7 @@ obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o | |||
26 | obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o | 26 | obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o |
27 | obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o | 27 | obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o |
28 | obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o | 28 | obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o |
29 | obj-$(CONFIG_PCIE_MOBIVEIL) += pcie-mobiveil.o | ||
29 | obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o | 30 | obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o |
30 | obj-$(CONFIG_VMD) += vmd.o | 31 | obj-$(CONFIG_VMD) += vmd.o |
31 | # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW | 32 | # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW |
diff --git a/drivers/pci/controller/pcie-mobiveil.c b/drivers/pci/controller/pcie-mobiveil.c index cf0aa7cee5b0..a939e8d31735 100644 --- a/drivers/pci/controller/pcie-mobiveil.c +++ b/drivers/pci/controller/pcie-mobiveil.c | |||
@@ -23,6 +23,8 @@ | |||
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
25 | 25 | ||
26 | #include "../pci.h" | ||
27 | |||
26 | /* register offsets and bit positions */ | 28 | /* register offsets and bit positions */ |
27 | 29 | ||
28 | /* | 30 | /* |
@@ -130,7 +132,7 @@ struct mobiveil_pcie { | |||
130 | void __iomem *config_axi_slave_base; /* endpoint config base */ | 132 | void __iomem *config_axi_slave_base; /* endpoint config base */ |
131 | void __iomem *csr_axi_slave_base; /* root port config base */ | 133 | void __iomem *csr_axi_slave_base; /* root port config base */ |
132 | void __iomem *apb_csr_base; /* MSI register base */ | 134 | void __iomem *apb_csr_base; /* MSI register base */ |
133 | void __iomem *pcie_reg_base; /* Physical PCIe Controller Base */ | 135 | phys_addr_t pcie_reg_base; /* Physical PCIe Controller Base */ |
134 | struct irq_domain *intx_domain; | 136 | struct irq_domain *intx_domain; |
135 | raw_spinlock_t intx_mask_lock; | 137 | raw_spinlock_t intx_mask_lock; |
136 | int irq; | 138 | int irq; |