https://github.com/torvalds/linux
Revision 275e88b06a277ccf89d9c471a777e9b4f8c552b0 authored by Rob Herring on 18 December 2020, 14:39:05 UTC, committed by Bjorn Helgaas on 26 December 2020, 03:58:36 UTC
Commit b9ac0f9dc8ea ("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: b9ac0f9dc8ea ("PCI: dwc: Move dw_pcie_setup_rc() to DWC common code") Link: https://lore.kernel.org/r/20201218143905.1614098-1-robh@kernel.org Reported-by: Mian Yousaf Kaukab <ykaukab@suse.de> Tested-by: Mian Yousaf Kaukab <ykaukab@suse.de> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Bjorn 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>
1 parent 255b2d5
Tip revision: 275e88b06a277ccf89d9c471a777e9b4f8c552b0 authored by Rob Herring on 18 December 2020, 14:39:05 UTC
PCI: tegra: Fix host link initialization
PCI: tegra: Fix host link initialization
Tip revision: 275e88b
File | Mode | Size |
---|---|---|
altera-stapl | ||
c2port | ||
cardreader | ||
cb710 | ||
cxl | ||
echo | ||
eeprom | ||
genwqe | ||
habanalabs | ||
ibmasm | ||
lis3lv02d | ||
lkdtm | ||
mei | ||
ocxl | ||
sgi-gru | ||
sgi-xp | ||
ti-st | ||
uacce | ||
vmw_vmci | ||
Kconfig | -rw-r--r-- | 16.3 KB |
Makefile | -rw-r--r-- | 2.1 KB |
ad525x_dpot-i2c.c | -rw-r--r-- | 2.6 KB |
ad525x_dpot-spi.c | -rw-r--r-- | 2.8 KB |
ad525x_dpot.c | -rw-r--r-- | 20.1 KB |
ad525x_dpot.h | -rw-r--r-- | 7.9 KB |
apds9802als.c | -rw-r--r-- | 7.0 KB |
apds990x.c | -rw-r--r-- | 33.2 KB |
atmel-ssc.c | -rw-r--r-- | 5.9 KB |
atmel_tclib.c | -rw-r--r-- | 4.6 KB |
bh1770glc.c | -rw-r--r-- | 36.8 KB |
cs5535-mfgpt.c | -rw-r--r-- | 10.0 KB |
ds1682.c | -rw-r--r-- | 7.0 KB |
dummy-irq.c | -rw-r--r-- | 1.4 KB |
enclosure.c | -rw-r--r-- | 18.3 KB |
fastrpc.c | -rw-r--r-- | 39.6 KB |
hisi_hikey_usb.c | -rw-r--r-- | 7.1 KB |
hmc6352.c | -rw-r--r-- | 3.4 KB |
hpilo.c | -rw-r--r-- | 21.9 KB |
hpilo.h | -rw-r--r-- | 5.5 KB |
ibmvmc.c | -rw-r--r-- | 60.8 KB |
ibmvmc.h | -rw-r--r-- | 5.2 KB |
ics932s401.c | -rw-r--r-- | 12.6 KB |
isl29003.c | -rw-r--r-- | 10.9 KB |
isl29020.c | -rw-r--r-- | 5.0 KB |
kgdbts.c | -rw-r--r-- | 30.3 KB |
lattice-ecp3-config.c | -rw-r--r-- | 5.6 KB |
pch_phub.c | -rw-r--r-- | 27.0 KB |
pci_endpoint_test.c | -rw-r--r-- | 23.9 KB |
phantom.c | -rw-r--r-- | 13.0 KB |
pti.c | -rw-r--r-- | 26.0 KB |
pvpanic.c | -rw-r--r-- | 3.9 KB |
qcom-coincell.c | -rw-r--r-- | 3.6 KB |
sram-exec.c | -rw-r--r-- | 3.8 KB |
sram.c | -rw-r--r-- | 10.0 KB |
sram.h | -rw-r--r-- | 1.0 KB |
tifm_7xx1.c | -rw-r--r-- | 10.7 KB |
tifm_core.c | -rw-r--r-- | 8.1 KB |
tsl2550.c | -rw-r--r-- | 10.0 KB |
vmw_balloon.c | -rw-r--r-- | 54.7 KB |
xilinx_sdfec.c | -rw-r--r-- | 38.5 KB |
Computing file changes ...