1. 03 8月, 2021 1 次提交
  2. 29 6月, 2021 1 次提交
  3. 25 6月, 2021 5 次提交
  4. 18 6月, 2021 1 次提交
    • J
      PCI: tegra194: Fix MCFG quirk build regressions · a512360f
      Jon Hunter 提交于
      7f100744 ("PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata")
      caused a few build regressions:
      
        - 7f100744 removed the Makefile rule for CONFIG_PCIE_TEGRA194, so
          pcie-tegra.c can no longer be built as a module.  Restore that rule.
      
        - 7f100744 added "#ifdef CONFIG_PCIE_TEGRA194" around the native
          driver, but that's only set when the driver is built-in (for a module,
          CONFIG_PCIE_TEGRA194_MODULE is defined).
      
          The ACPI quirk is completely independent of the rest of the native
          driver, so move the quirk to its own file and remove the #ifdef in the
          native driver.
      
        - 7f100744 added symbols that are always defined but used only when
          CONFIG_PCIEASPM, which causes warnings when CONFIG_PCIEASPM is not set:
      
            drivers/pci/controller/dwc/pcie-tegra194.c:259:18: warning: ‘event_cntr_data_offset’ defined but not used [-Wunused-const-variable=]
            drivers/pci/controller/dwc/pcie-tegra194.c:250:18: warning: ‘event_cntr_ctrl_offset’ defined but not used [-Wunused-const-variable=]
            drivers/pci/controller/dwc/pcie-tegra194.c:243:27: warning: ‘pcie_gen_freq’ defined but not used [-Wunused-const-variable=]
      
      Fixes: 7f100744 ("PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata")
      Link: https://lore.kernel.org/r/20210610064134.336781-1-jonathanh@nvidia.comSigned-off-by: NJon Hunter <jonathanh@nvidia.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      a512360f
  5. 04 5月, 2021 1 次提交
  6. 30 4月, 2021 3 次提交
  7. 17 4月, 2021 1 次提交
    • V
      PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata · 7f100744
      Vidya Sagar 提交于
      The PCIe controller in Tegra194 SoC is not ECAM-compliant.  With the
      current hardware design, ECAM can be enabled only for one controller (the
      C5 controller) with bus numbers starting from 160 instead of 0. A different
      approach is taken to avoid this abnormal way of enabling ECAM for just one
      controller but to enable configuration space access for all the other
      controllers. In this approach, ops are added through MCFG quirk mechanism
      which access the configuration spaces by dynamically programming iATU
      (internal AddressTranslation Unit) to generate respective configuration
      accesses just like the way it is done in DesignWare core sub-system.
      
      This issue is specific to Tegra194 and it would be fixed in the future
      generations of Tegra SoCs.
      
      Link: https://lore.kernel.org/r/20210416134537.19474-1-vidyas@nvidia.comSigned-off-by: NVidya Sagar <vidyas@nvidia.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      7f100744
  8. 09 4月, 2021 1 次提交
  9. 23 3月, 2021 2 次提交
  10. 22 3月, 2021 2 次提交
  11. 12 3月, 2021 3 次提交
  12. 10 3月, 2021 1 次提交
    • T
      PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver · e259c292
      Tony Lindgren 提交于
      After updating pci-dra7xx driver to probe with ti-sysc and genpd, I
      noticed that dra7xx_pcie_probe() would not run if a power-domains property
      was configured for the interconnect target module.
      
      Turns out that module_platform_driver_probe uses platform_driver_probe(),
      while builtin_platform_driver uses platform_driver_register().
      
      Only platform_driver_register() works for deferred probe as noted in the
      comments for __platform_driver_probe() in drivers/base/platform.c with a
      line saying "Note that this is incompatible with deferred probing".
      
      With module_platform_driver_probe, we have platform_driver_probe() produce
      -ENODEV error at device_initcall() level, and no further attempts are done.
      Let's fix this by using module_platform_driver instead.
      
      Note this is not an issue currently as we probe devices with simple-bus,
      and only is needed as we start probing the device with ti-sysc, or when
      probed with simple-pm-bus.
      
      Note that we must now also remove __init for probe related functions to
      avoid a section mismatch warning.
      
      Cc: linux-pci@vger.kernel.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Tested-by: NKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e259c292
  13. 25 2月, 2021 10 次提交
  14. 18 1月, 2021 1 次提交
  15. 26 12月, 2020 2 次提交
    • A
      PCI: dwc: Fix inverted condition of DMA mask setup warning · 99e629f1
      Alexander Lobakin 提交于
      Commit 660c4865 ("PCI: dwc: Set 32-bit DMA mask for MSI target address
      allocation") added dma_mask_set() call to explicitly set 32-bit DMA mask
      for MSI message mapping, but for now it throws a warning on ret == 0, while
      dma_set_mask() returns 0 in case of success.
      
      Fix this by inverting the condition.
      
      [bhelgaas: join string to make it greppable]
      Fixes: 660c4865 ("PCI: dwc: Set 32-bit DMA mask for MSI target address allocation")
      Link: https://lore.kernel.org/r/20201222150708.67983-1-alobakin@pm.meSigned-off-by: NAlexander Lobakin <alobakin@pm.me>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      99e629f1
    • R
      PCI: tegra: Fix host link initialization · 275e88b0
      Rob Herring 提交于
      Commit b9ac0f9d ("PCI: dwc: Move dw_pcie_setup_rc() to DWC common
      code") broke enumeration of downstream devices on Tegra:
      
      In non-working case (next-20201211):
      
        0001:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
        0001:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9171 (rev 13)
        0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
      
      In working case (v5.10-rc7):
      
        0001:00:00.0 PCI bridge: Molex Incorporated Device 1ad2 (rev a1)
        0001:01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9171 (rev 13)
        0005:00:00.0 PCI bridge: Molex Incorporated Device 1ad0 (rev a1)
        0005:01:00.0 PCI bridge: PLX Technology, Inc. Device 3380 (rev ab)
        0005:02:02.0 PCI bridge: PLX Technology, Inc. Device 3380 (rev ab)
        0005:03:00.0 USB controller: PLX Technology, Inc. Device 3380 (rev ab)
      
      The problem seems to be dw_pcie_setup_rc() is now called twice before and
      after the link up handling. The fix is to move Tegra's link up handling to
      .start_link() function like other DWC drivers. Tegra is a bit more
      complicated than others as it re-inits the whole DWC controller to retry
      the link. With this, the initialization ordering is restored to match the
      prior sequence.
      
      Fixes: b9ac0f9d ("PCI: dwc: Move dw_pcie_setup_rc() to DWC common code")
      Link: https://lore.kernel.org/r/20201218143905.1614098-1-robh@kernel.orgReported-by: NMian Yousaf Kaukab <ykaukab@suse.de>
      Tested-by: NMian Yousaf Kaukab <ykaukab@suse.de>
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Cc: Vidya Sagar <vidyas@nvidia.com>
      275e88b0
  16. 11 12月, 2020 1 次提交
  17. 10 12月, 2020 1 次提交
  18. 09 12月, 2020 1 次提交
  19. 08 12月, 2020 2 次提交