Re: [PATCH v4 0/2] PCI: Add missing link delays

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 12, 2019 at 12:16:15PM +0300, Mika Westerberg wrote:
> Hi,
> 
> This is fourth version of the reworked PCIe link delay patch posted earlier
> here:
> 
>   v3: https://www.spinics.net/lists/linux-pci/msg88760.html
>   v2: https://lore.kernel.org/linux-pci/20191004123947.11087-1-mika.westerberg@xxxxxxxxxxxxxxx/
>   v1: https://patchwork.kernel.org/patch/11106611/
> 
> Changes from v3:
> 
>   * Add tag from Rafael.
>   * Hold pci_bus_sem when accessing bus->devices list.
> 
> Changes from v2:
> 
>   * Rebased on top of pci.git/pci/pm.
>   * Update references to PCIe 5.0 spec.
>   * Take d3cold_delay if child devices into account. This allows ACPI _DSM
>     to lower the delay.
>   * Check for pci_dev->skip_bus_pm in pci_pm_resume_noirq().
>   * Drop comment that mentions pciehp where
>     pci_bridge_wait_for_secondary_bus() is called.
>   * Use pcie_downstream_port() in pci_bridge_wait_for_secondary_bus().
> 
> Based on the discussion around v2 there is a potential issue when restoring
> PCI_EXP_LNKCTL2 (regardless these patches) that we may need to retrain the
> link. This series does not include fix for that since it is not yet clear
> how we solve it. I can do that as a separate patch once we agree on the
> solution.
> 
> I'm submitting these two now in hopes that we can get them included for
> v5.5 because there are systems out there that need them in order to
> function properly.
> 
> Changes from v1:
> 
>   * Introduce pcie_wait_for_link_delay() in a separate patch
>   * Tidy up changelog, remove some debug output
>   * Rename pcie_wait_downstream_accessible() to
>     pci_bridge_wait_for_secondary_bus() and make it generic to all PCI
>     bridges.
>   * Handle Tpvrh + Trhfa for conventional PCI even though we don't do PM
>     for them right now.
>   * Use pci_dbg() instead of dev_dbg().
>   * Dropped check for pm_suspend_no_platform() and only check for D3cold.
>   * Drop pcie_get_downstream_delay(), same delay applies equally to all
>     devices (it is not entirely clear from the spec).
> 
> Mika Westerberg (2):
>   PCI: Introduce pcie_wait_for_link_delay()
>   PCI: Add missing link delays required by the PCIe spec
> 
>  drivers/pci/pci-driver.c |  11 ++-
>  drivers/pci/pci.c        | 148 ++++++++++++++++++++++++++++++++++++---
>  drivers/pci/pci.h        |   1 +
>  3 files changed, 150 insertions(+), 10 deletions(-)

Applied to pci/pm for v5.5, thanks, Mika!



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux