1. Jun 27, 2023
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/remove-void-callbacks' · 6ecac465
      Bjorn Helgaas authored
      - Convert platform_device .remove() callbacks to return void instead of a
        mostly useless int (Uwe Kleine-König)
      
      * pci/controller/remove-void-callbacks:
        PCI: xgene-msi: Convert to platform remove callback returning void
        PCI: tegra: Convert to platform remove callback returning void
        PCI: rockchip-host: Convert to platform remove callback returning void
        PCI: mvebu: Convert to platform remove callback returning void
        PCI: mt7621: Convert to platform remove callback returning void
        PCI: mediatek-gen3: Convert to platform remove callback returning void
        PCI: mediatek: Convert to platform remove callback returning void
        PCI: iproc: Convert to platform remove callback returning void
        PCI: hisi-error: Convert to platform remove callback returning void
        PCI: dwc: Convert to platform remove callback returning void
        PCI: j721e: Convert to platform remove callback returning void
        PCI: brcmstb: Convert to platform remove callback returning void
        PCI: altera-msi: Convert to platform remove callback returning void
        PCI: altera: Convert to platform remove callback returning void
        PCI: aardvark: Convert to platform remove callback returning void
      6ecac465
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/endpoint' · d8c226ac
      Bjorn Helgaas authored
      - Change "PCI Endpoint Virtual NTB driver" Kconfig prompt to be different
        from "PCI Endpoint NTB driver" (Shunsuke Mie)
      
      - Automatically create a function specific attributes group for endpoint
        drivers to avoid reference counting issues (Damien Le Moal)
      
      - Move and unexport pci_epf_type_add_cfs() (Damien Le Moal)
      
      - Reinitialize EPF test DMA transfer completion before submitting it to
        avoid losing the completion notification (Damien Le Moal)
      
      - Fix EPF test DMA transfer completion detection (Damien Le Moal)
      
      - Submit EPF test DMA transfers with dmaengine_submit(), not tx_submit()
        (Damien Le Moal)
      
      - Simplify EPF test read/write/copy functions (Damien Le Moal)
      
      - Simplify EPF test "raise IRQ" interface (Damien Le Moal)
      
      - Simplify EPF test IRQ command execution (Damien Le Moal)
      
      - Improve EPF test command/status register handling (Damien Le Moal)
      
      - Free IRQs before removing device (Damien Le Moal)
      
      - Reinitialize IRQ completions for every test (Damien Le Moal...
      d8c226ac
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/vmd' · b5abb12c
      Bjorn Helgaas authored
      - Reset VMD config register between soft reboots (Nirmal Patel)
      
      - Capture pci_reset_bus() return value instead of printing junk when it
        fails (Xinghui Li)
      
      * pci/controller/vmd:
        PCI: vmd: Fix uninitialized variable usage in vmd_enable_domain()
        PCI: vmd: Reset VMD config register between soft reboots
      b5abb12c
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/rockchip' · 9f5eb1bf
      Bjorn Helgaas authored
      - Remove writes to unused registers (Rick Wertenbroek)
      
      - Write endpoint Device ID using correct register (Rick Wertenbroek)
      
      - Assert PCI Configuration Enable bit after probe so endpoint responds
        instead of generating Request Retry Status messages (Rick Wertenbroek)
      
      - Poll waiting for PHY PLLs to lock (Rick Wertenbroek)
      
      - Update RK3399 example DT binding to be valid (Rick Wertenbroek)
      
      - Use RK3399 PCIE_CLIENT_LEGACY_INT_CTRL to generate INTx instead of
        manually generating PCIe message (Rick Wertenbroek)
      
      - Use multiple windows to avoid address translation conflicts (Rick
        Wertenbroek)
      
      - Use u32 (not u16) when accessing 32-bit registers (Rick Wertenbroek)
      
      - Hide MSI-X Capability, since RK3399 can't generate MSI-X (Rick
        Wertenbroek)
      
      - Set endpoint controller required alignment to 256 (Damien Le Moal)
      
      * pci/controller/rockchip:
        PCI: rockchip: Set address alignment for endpoint mode
        PCI: rockchip: Don't advertise MSI-X in PCIe capabilities
        PCI: rockchip: Use u32 variable to access 32-bit registers
        PCI: rockchip: Fix window mapping and address translation for endpoint
        PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
        dt-bindings: PCI: Update the RK3399 example to a valid one
        PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
        PCI: rockchip: Assert PCI Configuration Enable bit after probe
        PCI: rockchip: Write PCI Device ID to correct register
        PCI: rockchip: Remove writes to unused registers
      9f5eb1bf
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/rcar' · 9cd5f2ce
      Bjorn Helgaas authored
      - Remove unused static pcie_base and pcie_dev (Geert Uytterhoeven)
      
      * pci/controller/rcar:
        PCI: rcar: Use correct product family name for Renesas R-Car
        PCI: rcar-host: Remove unused static pcie_base and pcie_dev
      9cd5f2ce
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/qcom' · 5c13b3c1
      Bjorn Helgaas authored
      - Disable register write access after init for IP v2.3.3, v2.9.0
        (Manivannan Sadhasivam)
      
      - Use DWC helpers for enabling/disabling writes to DBI registers
        (Manivannan Sadhasivam)
      
      - Hide slot hotplug capability for IP v1.0.0, v1.9.0, v2.1.0, v2.3.2,
        v2.3.3, v2.7.0, v2.9.0 (Manivannan Sadhasivam)
      
      - Reuse v2.3.2 post-init sequence for v2.4.0 (Manivannan Sadhasivam)
      
      -
      
      * pci/controller/qcom:
        PCI: qcom: Do not advertise hotplug capability for IP v2.1.0
        PCI: qcom: Do not advertise hotplug capability for IP v1.0.0
        PCI: qcom: Use post init sequence of IP v2.3.2 for v2.4.0
        PCI: qcom: Do not advertise hotplug capability for IP v2.3.2
        PCI: qcom: Do not advertise hotplug capability for IPs v2.3.3 and v2.9.0
        PCI: qcom: Do not advertise hotplug capability for IPs v2.7.0 and v1.9.0
        PCI: qcom: Disable write access to read only registers for IP v2.9.0
        PCI: qcom: Use DWC helpers for modifying the read-only DBI registers
        PCI: qcom: Disable write access to read only registers for IP v2.3.3
      5c13b3c1
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pci/ftpci100' · 69fa3ef3
      Bjorn Helgaas authored
      - Release clock resources on error paths (Junyan Ye)
      
      * pci/pci/ftpci100:
        PCI: ftpci100: Release the clock resources
      69fa3ef3
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/dwc' · 99f7b809
      Bjorn Helgaas authored
      - Wait for link to come up only if we've initiated link training (Ajay
        Agarwal)
      
      - Save and restore imx6 Root Port MSI control to work around hardware
        defect (Richard Zhu)
      
      * pci/controller/dwc:
        PCI: imx6: Save and restore root port MSI control in suspend and resume
        PCI: dwc: Wait for link up only if link is started
      99f7b809
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/cadence' · 375328fa
      Bjorn Helgaas authored
      - Wait for link retrain to complete when working around the J721E i2085
        erratum with Gen2 mode (Siddharth Vadapalli)
      
      * pci/controller/cadence:
        PCI: cadence: Fix Gen2 Link Retraining process
      375328fa
    • Bjorn Helgaas's avatar
      Merge branch 'pci/controller/dt' · 41370553
      Bjorn Helgaas authored
      - Add Qualcomm SDX65 endpoint DT compatible string (Rohit Agarwal)
      
      * pci/controller/dt:
        dt-bindings: PCI: qcom: Add SDX65 SoC
      41370553
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · 30fec3b8
      Bjorn Helgaas authored
      - Add pci_clear_master() stub for non-CONFIG_PCI (Sui Jingfeng)
      
      - Correct documentation typos (Randy Dunlap)
      
      * pci/misc:
        Documentation: PCI: correct spelling
        PCI: Add pci_clear_master() stub for non-CONFIG_PCI
        PCI: Expand comment about sorting pci_ids.h entries
      30fec3b8
    • Bjorn Helgaas's avatar
      Merge branch 'pci/virtualization' · 283810ac
      Bjorn Helgaas authored
      - Delay extra 250ms after FLR of Solidigm P44 Pro NVMe to avoid KVM hang
        when guest is rebooted (Mike Pastore)
      
      - Add function 1 DMA alias quirk for Marvell 88SE9235 (Robin Murphy)
      
      * pci/virtualization:
        PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
        PCI: Delay after FLR of Solidigm P44 Pro NVMe
      283810ac
    • Bjorn Helgaas's avatar
      Merge branch 'pci/resource' · d0b7b3a4
      Bjorn Helgaas authored
      - When we coalesce host bridge windows, remove invalidated resources from
        the resource tree so future allocations work correctly (Ross Lagerwall)
      
      * pci/resource:
        PCI: Release resource invalidated by coalescing
      d0b7b3a4
    • Bjorn Helgaas's avatar
      Merge branch 'pci/pm' · 7e229f0e
      Bjorn Helgaas authored
      - Reduce wait time for secondary bus to be ready to speed up resume (Mika
        Westerberg)
      
      - Avoid putting EloPOS E2/S2/H2 (as well as Elo i2) PCIe Ports in D3cold
        (Ondrej Zary)
      
      - Call _REG when transitioning D-states so AML that uses the PCI config
        space OpRegion works, which fixes some ASMedia GPIO controllers (Mario
        Limonciello)
      
      * pci/pm:
        PCI/ACPI: Call _REG when transitioning D-states
        PCI/ACPI: Validate acpi_pci_set_power_state() parameter
        PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
        PCI/PM: Shorten pci_bridge_wait_for_secondary_bus() wait time for slow links
      7e229f0e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' · db5ccb2e
      Bjorn Helgaas authored
      - Simplify Attention Button logging (Bjorn Helgaas)
      
      - Cancel bringup sequence if card is not present, to keep from blinking
        Power Indicator indefinitely (Rongguang Wei)
      
      - Reassign bridge resources if necessary for ACPI hotplug (Igor Mammedov)
      
      * pci/hotplug:
        PCI: acpiphp: Reassign resources on bridge if necessary
        PCI: pciehp: Cancel bringup sequence if card is not present
        PCI: pciehp: Simplify Attention Button logging
      db5ccb2e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · 1abb4739
      Bjorn Helgaas authored
      - Add PCI_EXT_CAP_ID_PL_32GT define (Ben Dooks)
      
      - Propagate firmware node by calling device_set_node() for better
        modularity (Andy Shevchenko)
      
      - Discover Data Link Layer Link Active Reporting earlier so quirks can take
        advantage of it (Maciej W. Rozycki)
      
      - Use cached Data Link Layer Link Active Reporting capability in pciehp,
        powerpc/eeh, and mlx5 (Maciej W. Rozycki)
      
      - Run quirk for devices that require OS to clear Retrain Link earlier, so
        later quirks can rely on it (Maciej W. Rozycki)
      
      - Export pcie_retrain_link() for use outside ASPM (Maciej W. Rozycki)
      
      - Add Data Link Layer Link Active Reporting as another way for
        pcie_retrain_link() to determine the link is up (Maciej W. Rozycki)
      
      - Work around link training failures (especially on the ASMedia ASM2824
        switch) by training first at 2.5GT/s and then attempting higher rates
        (Maciej W. Rozycki)
      
      * pci/enumeration:
        PCI: Add failed link recovery for device reset events
        PCI: Work around PCIe link training failures
        PCI: Use pcie_wait_for_link_status() in pcie_wait_for_link_delay()
        PCI: Add support for polling DLLLA to pcie_retrain_link()
        PCI: Export pcie_retrain_link() for use outside ASPM
        PCI: Export PCIe link retrain timeout
        PCI: Execute quirk_enable_clear_retrain_link() earlier
        PCI/ASPM: Factor out waiting for link training to complete
        PCI/ASPM: Avoid unnecessary pcie_link_state use
        PCI/ASPM: Use distinct local vars in pcie_retrain_link()
        net/mlx5: Rely on dev->link_active_reporting
        powerpc/eeh: Rely on dev->link_active_reporting
        PCI: pciehp: Rely on dev->link_active_reporting
        PCI: Initialize dev->link_active_reporting earlier
        PCI: of: Propagate firmware node by calling device_set_node()
        PCI: Add PCI_EXT_CAP_ID_PL_32GT define
      
      # Conflicts:
      #	drivers/pci/pcie/aspm.c
      1abb4739
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' · 0f32114e
      Bjorn Helgaas authored
      - Disable ASPM on MFD function removal to avoid use-after-free (Ding Hui)
      
      - Tighten up pci_enable_link_state() and pci_disable_link_state()
        interfaces so they don't enable/disable states the driver didn't specify
        (Ajay Agarwal)
      
      - Avoid link retraining race that can happen if ASPM sets link control
        parameters while the link is in the midst of training for some other
        reason (Ilpo Järvinen)
      
      * pci/aspm:
        PCI/ASPM: Avoid link retraining race
        PCI/ASPM: Factor out pcie_wait_for_retrain()
        PCI/ASPM: Return 0 or -ETIMEDOUT from  pcie_retrain_link()
        PCI/ASPM: Remove unnecessary ASPM_STATE_L1SS check
        PCI/ASPM: Rename L1.2-specific functions from 'l1ss' to 'l12'
        PCI/ASPM: Set ASPM_STATE_L1 when driver enables L1.1 or L1.2
        PCI/ASPM: Set only ASPM_STATE_L1 when driver enables L1
        PCI/ASPM: Disable only ASPM_STATE_L1 when driver disables L1
        PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
      0f32114e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aer' · a274a4e6
      Bjorn Helgaas authored
      - Unexport pci_save_aer_state() since it's only used in drivers/pci/ (Bjorn
        Helgaas)
      
      - Drop recommendation for drivers to configure AER Capability, since the
        PCI core does this for all devices (Dave Jiang, Bjorn Helgaas)
      
      * pci/aer:
        Documentation: PCI: Tidy AER documentation
        Documentation: PCI: Update cross references to .rst files
        Documentation: PCI: Drop recommendation to configure AER Capability
        PCI: Unexport pci_save_aer_state()
      a274a4e6
  2. Jun 26, 2023
  3. Jun 25, 2023
  4. Jun 24, 2023