1. 26 Dec, 2020 2 commits
    • Alexander Lobakin's avatar
      PCI: dwc: Fix inverted condition of DMA mask setup warning · 99e629f1
      Alexander Lobakin authored
      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: default avatarAlexander Lobakin <alobakin@pm.me>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      99e629f1
    • Rob Herring's avatar
      PCI: tegra: Fix host link initialization · 275e88b0
      Rob Herring authored
      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: default avatarMian Yousaf Kaukab <ykaukab@suse.de>
      Tested-by: default avatarMian Yousaf Kaukab <ykaukab@suse.de>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarBjorn 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
  2. 15 Dec, 2020 20 commits
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/misc' · 255b2d52
      Bjorn Helgaas authored
      - Add PCI endpoint subsystem references to MAINTAINERS (Gustavo Pimentel)
      
      * remotes/lorenzo/pci/misc:
        MAINTAINERS: Add missing documentation references to PCI Endpoint Subsystem
      255b2d52
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/vmd' · f7ce6838
      Bjorn Helgaas authored
      - Offset client VMD MSI-X vectors (Jon Derrick)
      
      * remotes/lorenzo/pci/vmd:
        PCI: vmd: Offset Client VMD MSI-X vectors
      f7ce6838
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/rcar' · b9efb854
      Bjorn Helgaas authored
      - Convert DT bindings to json-schema (Yoshihiro Shimoda)
      
      - Document r8a77965 DT bindings (Yoshihiro Shimoda)
      
      - Document r8a774e1 DT bindings (Lad Prabhakar)
      
      * remotes/lorenzo/pci/rcar:
        dt-bindings: PCI: rcar-pci-host: Document r8a774e1 bindings
        dt-bindings: PCI: rcar-pci-host: Document r8a77965 bindings
        dt-bindings: PCI: rcar-pci-host: Convert bindings to json-schema
        PCI: rcar: Drop unused members from struct rcar_pcie_host
      b9efb854
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/keystone' · 28e77bcf
      Bjorn Helgaas authored
      - Enable keystone compile testing on non-ARM arches (Alex Dewar)
      
      * remotes/lorenzo/pci/keystone:
        PCI: keystone: Enable compile-testing on !ARM
      28e77bcf
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/iproc' · 4cc0a34a
      Bjorn Helgaas authored
      - Declare iproc register set sizes to help avoid out-of-bound accesses
        (Bharat Gooty)
      
      - Invalidate iproc PAXB IARR1/IMAP1 inbound windows to erase bootloader
        footprint (Roman Bacik)
      
      - Log Root Port link speed & width at startup (Srinath Mannam)
      
      * remotes/lorenzo/pci/iproc:
        PCI: iproc: Enhance PCIe Link information display
        PCI: iproc: Invalidate correct PAXB inbound windows
        PCI: iproc: Fix out-of-bound array accesses
      4cc0a34a
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/dwc' · ff9f1683
      Bjorn Helgaas authored
      - Support multiple ATU memory regions (Rob Herring)
      
      - Warn if non-prefetchable memory aperture is > 32-bit (Vidya Sagar)
      
      - Allow programming ATU for >4GB memory (Vidya Sagar)
      
      - Move ATU offset out of driver match data (Rob Herring)
      
      - Move "dbi", "dbi2", and "addr_space" resource setup to common code (Rob
        Herring)
      
      - Remove unneeded function wrappers (Rob Herring)
      
      - Ensure all outbound ATU windows are reset to reduce dependencies on
        bootloader (Rob Herring)
      
      - Use the default MSI irq_chip for dra7xx (Rob Herring)
      
      - Drop the .set_num_vectors() host op (Rob Herring)
      
      - Move MSI interrupt setup into DWC common code (Rob Herring)
      
      - Rework and simplify DWC MSI initialization (Rob Herring)
      
      - Move link handling to DWC common code (Rob Herring)
      
      - Move dw_pcie_msi_init() calls to DWC common code (Rob Herring)
      
      - Move dw_pcie_setup_rc() calls to DWC common code (Rob Herring)
      
      - Remove unnecessary wrappers around dw_pcie_host_init() (Rob Herring)
      
      - Revert "keystone: Drop duplicated 'num-viewport'" to prepare for
        detecting number of iATU regions without help from DT (Rob Herring)
      
      - Move inbound and outbound windows to common struct (Rob Herring)
      
      - Detect number of DWC iATU windows from device registers (Rob Herring)
      
      - Drop samsung,exynos5440-pcie binding (Marek Szyprowski)
      
      - Add samsung,exynos-pcie and samsung,exynos-pcie-phy bindings for
        Exynos5433 variant (Marek Szyprowski)
      
      - Rework phy-exynos-pcie driver to support Exynos5433 PCIe PHY (Jaehoon
        Chung)
      
      - Rework pci-exynos.c to support Exynos5433 PCIe host (Jaehoon Chung)
      
      - Move tegra "dbi" accesses to post common DWC initialization (Vidya Sagar)
      
      - Read tegra dbi" base address in application logic (Vidya Sagar)
      
      - Fix tegra ASPM-L1SS advertisement disable code (Vidya Sagar)
      
      - Set Tegra194 DesignWare IP version to 0x490A (Vidya Sagar)
      
      - Continue tegra unconfig sequence even if parts fail (Vidya Sagar)
      
      - Check return value of tegra_pcie_init_controller() (Vidya Sagar)
      
      - Disable tegra LTSSM during L2 entry (Vidya Sagar)
      
      - Add SM8250 SoC PCIe DT bindings and support (Manivannan Sadhasivam)
      
      - Add SM8250 BDF to SID mapping (Manivannan Sadhasivam)
      
      - Set 32-bit DMA mask for DWC MSI target address allocation (Vidya Sagar)
      
      * remotes/lorenzo/pci/dwc:
        PCI: dwc: Set 32-bit DMA mask for MSI target address allocation
        PCI: qcom: Add support for configuring BDF to SID mapping for SM8250
        PCI: qcom: Add SM8250 SoC support
        dt-bindings: pci: qcom: Document PCIe bindings for SM8250 SoC
        PCI: tegra: Disable LTSSM during L2 entry
        PCI: tegra: Check return value of tegra_pcie_init_controller()
        PCI: tegra: Continue unconfig sequence even if parts fail
        PCI: tegra: Set DesignWare IP version
        PCI: tegra: Fix ASPM-L1SS advertisement disable code
        PCI: tegra: Read "dbi" base address to program in application logic
        PCI: tegra: Move "dbi" accesses to post common DWC initialization
        PCI: dwc: exynos: Rework the driver to support Exynos5433 variant
        phy: samsung: phy-exynos-pcie: rework driver to support Exynos5433 PCIe PHY
        dt-bindings: phy: exynos: add the samsung,exynos-pcie-phy binding
        dt-bindings: PCI: exynos: add the samsung,exynos-pcie binding
        dt-bindings: PCI: exynos: drop samsung,exynos5440-pcie binding
        PCI: dwc: Detect number of iATU windows
        PCI: dwc: Move inbound and outbound windows to common struct
        Revert "PCI: dwc/keystone: Drop duplicated 'num-viewport'"
        PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init()
        PCI: dwc: Move dw_pcie_setup_rc() to DWC common code
        PCI: dwc: Move dw_pcie_msi_init() into core
        PCI: dwc: Move link handling into common code
        PCI: dwc: Rework MSI initialization
        PCI: dwc: Move MSI interrupt setup into DWC common code
        PCI: dwc: Drop the .set_num_vectors() host op
        PCI: dwc/dra7xx: Use the common MSI irq_chip
        PCI: dwc: Ensure all outbound ATU windows are reset
        PCI: dwc/intel-gw: Remove some unneeded function wrappers
        PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code
        PCI: dwc/intel-gw: Move ATU offset out of driver match data
        PCI: dwc: Add support to program ATU for >4GB memory
        PCI: of: Warn if non-prefetchable memory aperture size is > 32-bit
        PCI: dwc: Support multiple ATU memory regions
      ff9f1683
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/cadence' · ee4871d0
      Bjorn Helgaas authored
      - Make "cdns,max-outbound-regions" optional (Kishon Vijay Abraham I)
      
      - Fix "ti,syscon-pcie-ctrl" DT property to take argument (Kishon Vijay
        Abraham I)
      
      - Add TI J7200 host and endpoint mode DT bindings (Kishon Vijay Abraham I)
      
      * remotes/lorenzo/pci/cadence:
        PCI: j721e: Get offset within "syscon" from "ti,syscon-pcie-ctrl" phandle arg
        dt-bindings: PCI: Add EP mode dt-bindings for TI's J7200 SoC
        dt-bindings: PCI: Add host mode dt-bindings for TI's J7200 SoC
        dt-bindings: pci: ti,j721e: Fix "ti,syscon-pcie-ctrl" to take argument
        PCI: cadence: Do not error if "cdns,max-outbound-regions" is not found
        dt-bindings: PCI: Make "cdns,max-outbound-regions" optional property
      ee4871d0
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/brcmstb' · 00322424
      Bjorn Helgaas authored
      - Initialize "tmp" before use (Jim Quinlan)
      
      * remotes/lorenzo/pci/brcmstb:
        PCI: brcmstb: Initialize "tmp" before use
      00322424
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/aardvark' · 7546ad5e
      Bjorn Helgaas authored
      - Update comment about delay before link training (Pali Rohár)
      
      * remotes/lorenzo/pci/aardvark:
        PCI: aardvark: Update comment about disabling link training
      7546ad5e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ecam' · 7c250f82
      Bjorn Helgaas authored
      - Unify ECAM constants in native PCI Express drivers (Krzysztof Wilczyński)
      
      - Add thunder-pem constant for custom ".bus_shift" initialiser (Krzysztof
        Wilczyński)
      
      - Convert iproc to use new ECAM constants (Krzysztof Wilczyński)
      
      - Change vmd __iomem pointers from "char *" to "void *" (Krzysztof
        Wilczyński)
      
      - Remove unused xgene .bus_shift initialisers (Krzysztof Wilczyński)
      
      * pci/ecam:
        PCI: xgene: Removed unused ".bus_shift" initialisers from pci-xgene.c
        PCI: vmd: Update type of the __iomem pointers
        PCI: iproc: Convert to use the new ECAM constants
        PCI: thunder-pem: Add constant for custom ".bus_shift" initialiser
        PCI: Unify ECAM constants in native PCI Express drivers
      7c250f82
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' · c086b55e
      Bjorn Helgaas authored
      - Mark AMD Raven iGPU ATS as broken in some Emerson platforms to avoid
        issues (Alex Deucher)
      
      - Add function 1 DMA alias quirk for Marvell 9215 SATA controller (Bjorn
        Helgaas)
      
      * pci/virtualization:
        PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller
        PCI: Mark AMD Raven iGPU ATS as broken in some platforms
      c086b55e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ptm' · 72b3a644
      Bjorn Helgaas authored
      - Save/restore Precision Time Measurement Capability for suspend/resume
        (David E. Box)
      
      - Disable PTM during suspend to save power (David E. Box)
      
      * pci/ptm:
        PCI: Disable PTM during suspend to save power
        PCI/PTM: Save/restore Precision Time Measurement Capability for suspend/resume
      72b3a644
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pm' · ff163da9
      Bjorn Helgaas authored
      - Add sysfs attribute for device power state (Maximilian Luz)
      
      - Rename pci_wakeup_bus() to pci_resume_bus() (Mika Westerberg)
      
      - Do not generate wakeup event when runtime resuming bus (Mika Westerberg)
      
      * pci/pm:
        PCI/PM: Do not generate wakeup event when runtime resuming device
        PCI/PM: Rename pci_wakeup_bus() to pci_resume_bus()
        PCI: Add sysfs attribute for device power state
      ff163da9
    • Bjorn Helgaas's avatar
      Merge branch 'pci/msi' · a48e486b
      Bjorn Helgaas authored
      - Disable MSI for broken Pericom PCIe-USB adapter (Andy Shevchenko)
      
      - Move MSI/MSI-X init to msi.c (Bjorn Helgaas)
      
      - Move MSI/MSI-X flags updaters to msi.c (Bjorn Helgaas)
      
      - Warn if we assign 64-bit MSI address to device that only supports 32-bit
        MSI (Vidya Sagar)
      
      * pci/msi:
        PCI/MSI: Set device flag indicating only 32-bit MSI support
        PCI/MSI: Move MSI/MSI-X flags updaters to msi.c
        PCI/MSI: Move MSI/MSI-X init to msi.c
        PCI: Use predefined Pericom Vendor ID
        PCI: Disable MSI for Pericom PCIe-USB adapter
      a48e486b
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · 6db645f9
      Bjorn Helgaas authored
      - Update kernel-doc to match function prototypes (Mauro Carvalho Chehab)
      
      - Bounds-check "pci=resource_alignment=" requests (Bjorn Helgaas)
      
      - Fix integer overflow in "pci=resource_alignment=" requests (Colin Ian
        King)
      
      - Remove unused HAVE_PCI_SET_MWI definition (Heiner Kallweit)
      
      - Reduce pci_set_cacheline_size() message to debug level (Heiner Kallweit)
      
      * pci/misc:
        PCI: Reduce pci_set_cacheline_size() message to debug level
        PCI: Remove unused HAVE_PCI_SET_MWI
        PCI: Fix overflow in command-line resource alignment requests
        PCI: Bounds-check command-line resource alignment requests
        PCI: Fix kernel-doc markup
      
      # Conflicts:
      #	drivers/pci/pci-driver.c
      6db645f9
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' · 1a76dcea
      Bjorn Helgaas authored
      - Remove unneeded break in ibmphp (Bjorn Helgaas)
      
      - Fix pci_slot_release() NULL pointer dereference (Jubin Zhong)
      
      * pci/hotplug:
        PCI: Fix pci_slot_release() NULL pointer dereference
        PCI: ibmphp: Remove unneeded break
      1a76dcea
    • Bjorn Helgaas's avatar
      Merge branch 'pci/err' · 6a94785f
      Bjorn Helgaas authored
      - Stop writing AER Capability when we don't own it (Sean V Kelley)
      
      - Bind RCEC devices to the Port driver (Qiuxu Zhuo)
      
      - Cache the RCEC RA Capability offset (Sean V Kelley)
      
      - Add pci_walk_bridge() (Sean V Kelley)
      
      - Clear AER status only when we control AER (Sean V Kelley)
      
      - Recover from RCEC AER errors (Sean V Kelley)
      
      - Add pcie_link_rcec() to associate RCiEPs with RCECs (Sean V Kelley)
      
      - Recover from RCiEP AER errors (Sean V Kelley)
      
      - Add pcie_walk_rcec() for RCEC AER handling (Sean V Kelley)
      
      - Add pcie_walk_rcec() for RCEC PME handling (Sean V Kelley)
      
      - Add RCEC AER error injection support (Qiuxu Zhuo)
      
      * pci/err:
        PCI/AER: Add RCEC AER error injection support
        PCI/PME: Add pcie_walk_rcec() to RCEC PME handling
        PCI/AER: Add pcie_walk_rcec() to RCEC AER handling
        PCI/ERR: Recover from RCiEP AER errors
        PCI/ERR: Add pcie_link_rcec() to associate RCiEPs
        PCI/ERR: Recover from RCEC AER errors
        PCI/ERR: Clear AER status only when we control AER
        PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery()
        PCI/ERR: Avoid negated conditional for clarity
        PCI/ERR: Use "bridge" for clarity in pcie_do_recovery()
        PCI/ERR: Simplify by computing pci_pcie_type() once
        PCI/ERR: Simplify by using pci_upstream_bridge()
        PCI/ERR: Rename reset_link() to reset_subordinates()
        PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities()
        PCI/ERR: Bind RCEC devices to the Root Port driver
        PCI/AER: Write AER Capability only when we control it
      6a94785f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · e8722508
      Bjorn Helgaas authored
      - Decode PCIe 64 GT/s link speed (Gustavo Pimentel)
      
      - De-duplicate Device IDs in the driver dynamic IDs list (Zhenzhong Duan)
      
      - Return u8 from pci_find_capability() and similar (Puranjay Mohan)
      
      - Return u16 from pci_find_ext_capability() and similar (Bjorn Helgaas)
      
      - Include both device and resource name in config space resources
        (Alexander Lobakin)
      
      - Fix ACPI companion lookup for device 0 on the root bus (Rafael J.
        Wysocki)
      
      * pci/enumeration:
        PCI/ACPI: Fix companion lookup for device 0 on the root bus
        PCI: Keep both device and resource name for config space remaps
        PCI: Return u16 from pci_find_ext_capability() and similar
        PCI: Return u8 from pci_find_capability() and similar
        PCI: Avoid duplicate IDs in driver dynamic IDs list
        PCI: Move pci_match_device() ahead of new_id_store()
        PCI: Decode PCIe 64 GT/s link speed
      e8722508
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' · 1559c4b5
      Bjorn Helgaas authored
      - Save/restore ASPM L1SS Capability for suspend/resume (Vidya Sagar)
      
      * pci/aspm:
        PCI/ASPM: Save/restore L1SS Capability for suspend/resume
      1559c4b5
    • Bjorn Helgaas's avatar
  3. 11 Dec, 2020 1 commit
  4. 10 Dec, 2020 14 commits
  5. 09 Dec, 2020 1 commit
  6. 08 Dec, 2020 2 commits