Re: [PATCH 3/6] pci:host: Add Altera PCIe host controller driver
From: Dinh Nguyen <hidden>
Date: 2015-07-28 16:45:53
Also in:
linux-arm-kernel, linux-pci, lkml
On Tue, Jul 28, 2015 at 5:45 AM, Ley Foon Tan [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This patch adds the Altera PCIe host controller driver. Signed-off-by: Ley Foon Tan <redacted> --- drivers/pci/host/Kconfig | 9 + drivers/pci/host/Makefile | 1 + drivers/pci/host/pcie-altera.c | 576 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 586 insertions(+) create mode 100644 drivers/pci/host/pcie-altera.cdiff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig index 675c2d1..af19039 100644 --- a/drivers/pci/host/Kconfig +++ b/drivers/pci/host/Kconfig@@ -145,4 +145,13 @@ config PCIE_IPROC_BCMA Say Y here if you want to use the Broadcom iProc PCIe controller through the BCMA bus interface +config PCIE_ALTERA + bool "Altera PCIe controller" + depends on ARCH_SOCFPGA + depends on OF
I don't think you need this, "depends on ARCH_SOCFPGA" should already have taken care of this.
+ select PCI_MSI_IRQ_DOMAIN if PCI_MSI + help + Say Y here if you want to enable PCIe controller support for Altera + SoCFPGA family of SoCs. + endmenu
<snip>
+
+static int tlp_read_packet(struct altera_pcie *pcie, u32 *value)
+{
+ u8 loop;
+ struct tlp_rp_regpair_t tlp_rp_regdata;
+
+ for (loop = TLP_LOOP; loop > 0; loop--) {
+
+ tlp_read_rx(pcie, &tlp_rp_regdata);
+
+ if (tlp_rp_regdata.ctrl & RP_RXCPL_EOP) {
+
+ if (value)
+ *value = tlp_rp_regdata.reg0;
+
+ return PCIBIOS_SUCCESSFUL;
+ }Remove all the unnecessary newlines in this function.
+ } + + return -ENOENT; +} +
<snip>
+
+static struct platform_driver altera_pcie_driver = {
+ .probe = altera_pcie_probe,
+ .remove = altera_pcie_remove,
+ .driver = {
+ .name = "altera-pcie",
+ .owner = THIS_MODULE,Don't need to set owner anymore as this will get populated by the driver core. Dinh