1. 19 11月, 2020 3 次提交
    • 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
  2. 10 9月, 2020 1 次提交
    • R
      PCI: dwc: Centralize link gen setting · 39bc5006
      Rob Herring 提交于
      keystone would force gen2 if no DT property. Now it relies on the
      PCI_EXP_LNKCAP value.
      
      Link: https://lore.kernel.org/r/20200821035420.380495-35-robh@kernel.orgSigned-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Kishon Vijay Abraham I <kishon@ti.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      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: Jingoo Han <jingoohan1@gmail.com>
      Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.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: linux-omap@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-arm-msm@vger.kernel.org
      Cc: linux-tegra@vger.kernel.org
      39bc5006
  3. 08 9月, 2020 3 次提交
    • R
      PCI: dwc/imx6: Use common PCI register definitions · 201a8df8
      Rob Herring 提交于
      The i.MX6 driver has its own defines for common PCI config space
      registers. It also hard codes the capability register offsets which are
      discoverable. Convert it to use the standard register definitions.
      
      Link: https://lore.kernel.org/r/20200821035420.380495-29-robh@kernel.orgSigned-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      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>
      201a8df8
    • R
      PCI: dwc/imx6: Remove duplicate define PCIE_LINK_WIDTH_SPEED_CONTROL · 574523dc
      Rob Herring 提交于
      PCIE_LINK_WIDTH_SPEED_CONTROL is already defined in pcie-designware.h,
      so remove it from the i.MX6 driver.
      
      Link: https://lore.kernel.org/r/20200821035420.380495-23-robh@kernel.orgSigned-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      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>
      574523dc
    • R
      PCI: dwc: Check CONFIG_PCI_MSI inside dw_pcie_msi_init() · cf627713
      Rob Herring 提交于
      Move the IS_ENABLED(CONFIG_PCI_MSI) check into dw_pcie_msi_init()
      instead of duplicating it in all the drivers.
      
      Link: https://lore.kernel.org/r/20200821035420.380495-22-robh@kernel.orgSigned-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Richard Zhu <hongxing.zhu@nxp.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      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: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Jingoo Han <jingoohan1@gmail.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: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-arm-kernel@axis.com
      Cc: linux-arm-msm@vger.kernel.org
      cf627713
  4. 07 9月, 2020 2 次提交
  5. 24 8月, 2020 1 次提交
  6. 03 8月, 2020 1 次提交
  7. 23 7月, 2020 1 次提交
  8. 01 7月, 2020 1 次提交
  9. 12 5月, 2020 1 次提交
  10. 04 9月, 2019 1 次提交
    • T
      PCI: imx6: Propagate errors for optional regulators · 2170a09f
      Thierry Reding 提交于
      regulator_get_optional() 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 data structures. Propagating only -EPROBE_DEFER is
      problematic because it results in these legitimately fatal errors being
      treated as "regulator not specified in DT".
      
      What we really want is to ignore the optional regulators only if they
      have not been specified in DT. regulator_get_optional() 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: 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: Fabio Estevam <festevam@gmail.com>
      Cc: kernel@pengutronix.de
      Cc: linux-imx@nxp.com
      2170a09f
  11. 15 8月, 2019 1 次提交
  12. 07 5月, 2019 1 次提交
  13. 01 5月, 2019 11 次提交
  14. 01 3月, 2019 2 次提交
  15. 13 2月, 2019 1 次提交
    • T
      PCI: imx: Add workaround for e10728, IMX7d PCIe PLL failure · 1df82ec4
      Trent Piepho 提交于
      This implements the workound described in the NXP IMX7d erratum e10728.
      
      Initial VCO oscillation may fail under corner conditions such as cold
      temperature. It causes PCIe PLL to fail to lock in the initialization
      phase, which results in the PCIe link failing to come up.
      
      The workaround is to disable Duty-Cycle Corrector (DCC) calibration
      after G_RST.
      
      To do this it is necessary to gain access to the undocumented and
      currently unused PCIe PHY register bank. A new device tree node of type
      "fsl,imx7d-pcie-phy" is created for the PHY block and the existing PCIe
      device uses a phandle named "fsl,imx7d-pcie-phy" to point to it.
      Signed-off-by: NTrent Piepho <tpiepho@impinj.com>
      [lorenzo.pieralisi@arm.com: updated log string, commit log]
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Reviewed-by: NLucas Stach <l.stach@pengutronix.de>
      1df82ec4
  16. 04 2月, 2019 4 次提交
  17. 01 2月, 2019 2 次提交
  18. 02 1月, 2019 1 次提交
  19. 18 12月, 2018 2 次提交