1. 01 12月, 2020 1 次提交
  2. 19 11月, 2020 4 次提交
    • R
      PCI: dwc: Move dw_pcie_setup_rc() to DWC common code · b9ac0f9d
      Rob Herring 提交于
      All RC complex drivers must call dw_pcie_setup_rc(). The ordering of the
      call shouldn't be too important other than being after any RC resets.
      
      There's a few calls of dw_pcie_setup_rc() left as drivers implementing
      suspend/resume need it.
      
      Link: https://lore.kernel.org/r/20201105211159.1814485-13-robh@kernel.orgTested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      Cc: Kishon Vijay Abraham I <kishon@ti.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Minghuan Lian <minghuan.Lian@nxp.com>
      Cc: Mingkai Hu <mingkai.hu@nxp.com>
      Cc: Roy Zang <roy.zang@nxp.com>
      Cc: Yue Wang <yue.wang@Amlogic.com>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Jerome Brunet <jbrunet@baylibre.com>
      Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
      Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
      Cc: Xiaowei Song <songxiaowei@hisilicon.com>
      Cc: Binghui Wang <wangbinghui@hisilicon.com>
      Cc: Andy Gross <agross@kernel.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
      Cc: Pratyush Anand <pratyush.anand@gmail.com>
      Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: linux-omap@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-arm-kernel@axis.com
      Cc: linux-arm-msm@vger.kernel.org
      b9ac0f9d
    • R
      PCI: dwc: Move dw_pcie_msi_init() into core · 59fbab1a
      Rob Herring 提交于
      The host drivers which call dw_pcie_msi_init() are all the ones using
      the built-in MSI controller, so let's move it into the common DWC code.
      
      Link: https://lore.kernel.org/r/20201105211159.1814485-12-robh@kernel.orgTested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      Cc: Kishon Vijay Abraham I <kishon@ti.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: Yue Wang <yue.wang@Amlogic.com>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Jerome Brunet <jbrunet@baylibre.com>
      Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
      Cc: Xiaowei Song <songxiaowei@hisilicon.com>
      Cc: Binghui Wang <wangbinghui@hisilicon.com>
      Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
      Cc: Andy Gross <agross@kernel.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Pratyush Anand <pratyush.anand@gmail.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: linux-omap@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-arm-kernel@axis.com
      Cc: linux-arm-msm@vger.kernel.org
      Cc: linux-tegra@vger.kernel.org
      59fbab1a
    • R
      PCI: dwc: Move link handling into common code · 886a9c13
      Rob Herring 提交于
      All the DWC drivers do link setup and checks at roughly the same time.
      Let's use the existing .start_link() hook (currently only used in EP
      mode) and move the link handling to the core code.
      
      The behavior for a link down was inconsistent as some drivers would fail
      probe in that case while others succeed. Let's standardize this to
      succeed as there are usecases where devices (and the link) appear later
      even without hotplug. For example, a reconfigured FPGA device.
      
      Link: https://lore.kernel.org/r/20201105211159.1814485-11-robh@kernel.orgTested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      Cc: Kishon Vijay Abraham I <kishon@ti.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Yue Wang <yue.wang@Amlogic.com>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Jerome Brunet <jbrunet@baylibre.com>
      Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
      Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
      Cc: Xiaowei Song <songxiaowei@hisilicon.com>
      Cc: Binghui Wang <wangbinghui@hisilicon.com>
      Cc: Andy Gross <agross@kernel.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
      Cc: Pratyush Anand <pratyush.anand@gmail.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: linux-omap@vger.kernel.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-arm-kernel@axis.com
      Cc: linux-arm-msm@vger.kernel.org
      Cc: linux-tegra@vger.kernel.org
      886a9c13
    • R
      PCI: dwc: Move MSI interrupt setup into DWC common code · 5bcb1757
      Rob Herring 提交于
      Platforms using the built-in DWC MSI controller all have a dedicated
      interrupt with "msi" name or at index 0, so let's move setting up the
      interrupt to the common DWC code.
      
      spear13xx and dra7xx are the 2 oddballs with muxed interrupts, so
      we need to prevent configuring the MSI interrupt by setting msi_irq
      to negative.
      
      Link: https://lore.kernel.org/r/20201105211159.1814485-9-robh@kernel.orgTested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: Yue Wang <yue.wang@Amlogic.com>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Jerome Brunet <jbrunet@baylibre.com>
      Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
      Cc: Xiaowei Song <songxiaowei@hisilicon.com>
      Cc: Binghui Wang <wangbinghui@hisilicon.com>
      Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
      Cc: Andy Gross <agross@kernel.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Pratyush Anand <pratyush.anand@gmail.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-arm-kernel@axis.com
      Cc: linux-arm-msm@vger.kernel.org
      Cc: linux-tegra@vger.kernel.org
      5bcb1757
  3. 08 9月, 2020 1 次提交
  4. 03 8月, 2020 1 次提交
  5. 10 7月, 2020 1 次提交
  6. 01 7月, 2020 1 次提交
  7. 13 1月, 2020 1 次提交
  8. 04 9月, 2019 1 次提交
    • T
      PCI: exynos: Propagate errors for optional PHYs · ddd69600
      Thierry Reding 提交于
      devm_of_phy_get() can fail for a number of reasons besides probe
      deferral. It can for example return -ENOMEM if it runs out of memory as
      it tries to allocate devres structures. Propagating only -EPROBE_DEFER
      is problematic because it results in these legitimately fatal errors
      being treated as "PHY not specified in DT".
      
      What we really want is to ignore the optional PHYs only if they have not
      been specified in DT. devm_of_phy_get() returns -ENODEV in this case, so
      that's the special case that we need to handle. So we propagate all
      errors, except -ENODEV, so that real failures will still cause the
      driver to fail probe.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Reviewed-by: NAndrew Murray <andrew.murray@arm.com>
      Cc: Jingoo Han <jingoohan1@gmail.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      ddd69600
  9. 13 7月, 2018 1 次提交
  10. 08 6月, 2018 1 次提交
  11. 06 3月, 2018 1 次提交
  12. 29 1月, 2018 1 次提交
  13. 23 1月, 2018 1 次提交
  14. 03 1月, 2018 1 次提交
  15. 06 9月, 2017 1 次提交
  16. 04 8月, 2017 1 次提交
  17. 03 7月, 2017 1 次提交
  18. 04 4月, 2017 2 次提交
  19. 08 3月, 2017 1 次提交
  20. 25 2月, 2017 1 次提交
    • G
      PCI: dwc: Fix crashes seen due to missing assignments · c0464062
      Guenter Roeck 提交于
      Fix the following crash, seen in dwc/pci-imx6.
      
        Unable to handle kernel NULL pointer dereference at virtual address 00000070
        pgd = c0004000
        [00000070] *pgd=00000000
        Internal error: Oops: 805 [#1] SMP ARM
        Modules linked in:
        CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-09686-g9e314890 #1
        Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
        task: cb850000 task.stack: cb84e000
        PC is at imx6_pcie_probe+0x2f4/0x414
        ...
      
      While at it, fix the same problem in various drivers instead of waiting for
      individual crash reports.
      
      The change in the imx6 driver was tested with qemu. The changes in other
      drivers are based on code inspection and have been compile tested only.
      
      Fixes: 442ec4c0 ("PCI: dwc: all: Split struct pcie_port into host-only and core structures")
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>  # designware-plat
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NKishon Vijay Abraham I <kishon@ti.com>
      c0464062
  21. 22 2月, 2017 4 次提交
    • K
      PCI: dwc: all: Split struct pcie_port into host-only and core structures · 442ec4c0
      Kishon Vijay Abraham I 提交于
      Keep only the host-specific members in struct pcie_port and move the common
      members (i.e common to both host and endpoint) to struct dw_pcie.  This is
      in preparation for adding endpoint mode support to designware driver.
      
      While at that also fix checkpatch warnings.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Richard Zhu <hongxing.zhu@nxp.com>
      CC: Lucas Stach <l.stach@pengutronix.de>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Minghuan Lian <minghuan.Lian@freescale.com>
      CC: Mingkai Hu <mingkai.hu@freescale.com>
      CC: Roy Zang <tie-fei.zang@freescale.com>
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      CC: Niklas Cassel <niklas.cassel@axis.com>
      CC: Jesper Nilsson <jesper.nilsson@axis.com>
      CC: Joao Pinto <Joao.Pinto@synopsys.com>
      CC: Zhou Wang <wangzhou1@hisilicon.com>
      CC: Gabriele Paoloni <gabriele.paoloni@huawei.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      442ec4c0
    • K
      PCI: dwc: all: Rename cfg_read/cfg_write to read/write · 19ce01cc
      Kishon Vijay Abraham I 提交于
      No functional change. dw_pcie_cfg_read()/dw_pcie_cfg_write() doesn't do
      anything specific to access configuration space. It can be just renamed to
      dw_pcie_read()/dw_pcie_write() and used to read/write data to dbi space.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-By: NJoao Pinto <jpinto@synopsys.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      19ce01cc
    • K
      PCI: dwc: all: Use platform_set_drvdata() to save private data · 9bcf0a6f
      Kishon Vijay Abraham I 提交于
      Add platform_set_drvdata() in all designware-based drivers to store the
      private data structure of the driver so that dev_set_drvdata() can be used
      to get back private data structure in add_pcie_port/host_init.  This is in
      preparation for splitting struct pcie_port into core and host only
      structures. After the split pcie_port will not be part of the driver's
      private data structure and *container_of* used now to get the private data
      pointer cannot be used.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Jingoo Han <jingoohan1@gmail.com>
      CC: Richard Zhu <hongxing.zhu@nxp.com>
      CC: Lucas Stach <l.stach@pengutronix.de>
      CC: Murali Karicheri <m-karicheri2@ti.com>
      CC: Minghuan Lian <minghuan.Lian@freescale.com>
      CC: Mingkai Hu <mingkai.hu@freescale.com>
      CC: Roy Zang <tie-fei.zang@freescale.com>
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      CC: Niklas Cassel <niklas.cassel@axis.com>
      CC: Jesper Nilsson <jesper.nilsson@axis.com>
      CC: Joao Pinto <Joao.Pinto@synopsys.com>
      CC: Zhou Wang <wangzhou1@hisilicon.com>
      CC: Gabriele Paoloni <gabriele.paoloni@huawei.com>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      CC: Pratyush Anand <pratyush.anand@gmail.com>
      9bcf0a6f
    • K
      PCI: Move DesignWare IP support to new drivers/pci/dwc/ directory · 950bf638
      Kishon Vijay Abraham I 提交于
      Group all the PCI drivers that use DesignWare core in dwc directory.
      dwc IP is capable of operating in both host mode and device mode and
      keeping it inside the *host* directory is misleading.
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NJingoo Han <jingoohan1@gmail.com>
      Acked-By: NJoao Pinto <jpinto@synopsys.com>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Minghuan Lian <minghuan.Lian@freescale.com>
      Cc: Mingkai Hu <mingkai.hu@freescale.com>
      Cc: Roy Zang <tie-fei.zang@freescale.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Pratyush Anand <pratyush.anand@gmail.com>
      Cc: Niklas Cassel <niklas.cassel@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Zhou Wang <wangzhou1@hisilicon.com>
      Cc: Gabriele Paoloni <gabriele.paoloni@huawei.com>
      Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
      950bf638
  22. 21 2月, 2017 1 次提交
  23. 11 2月, 2017 1 次提交
  24. 09 2月, 2017 4 次提交
  25. 29 1月, 2017 1 次提交
  26. 12 10月, 2016 5 次提交