From: Grimmauld <grimmauld@grimmauld.de>
To: Anand Moon <linux.amoon@gmail.com>
Cc: "Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Heiko Stuebner" <heiko@sntech.de>,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] PCI: dw-rockchip: Enable async probe by default
Date: Thu, 29 Jan 2026 15:06:59 +0100 [thread overview]
Message-ID: <aXtpg0V_sifQEWHJ@grimm-nixos-ssd-2> (raw)
In-Reply-To: <20240809073610.2517-1-linux.amoon@gmail.com>
Hello Anand,
I have tested this patch.
Hardware/Kernel information:
- radxa rock 5c lite
- rk3588s CPU, arm64
- defconfig NixOS kernel
- picked onto 6.18.7
- DT: rockchip/rk3588s-rock-5c.dtb
- tested both uboot (mainline) and edk2 (vendor)
On Fri, Aug 09, 2024 at 01:06:09PM +0530, Anand Moon wrote:
> Rockchip DWC PCIe driver currently waits for the combo PHY link
> (PCIe 3.0, PCIe 2.0, and SATA 3.0) to be established link training
> during boot, it also waits for the link to be up, which could consume
> several milliseconds during boot.
I found that without this patch, USB 3 ports as well as the PCIe connector seemingly stay uninitialized during boot on my hardware.
This manifests in a bootable USB flash drive loading initrd from bootloader (both uboot and edk2) perfectly, but then fails to mount the rootfs from the drive.
In effect, boot is not just slower than it should be, it just does not boot all the way at all.
In that scenario, the devfs entries corresponding to the flash drive are simply missing, same for the sysfs where i would expect the USB device listed.
Replugging the USB flash drive during initrd does seem to fix that, but is tedious and not viable for a server.
Similarly, booting from m.2 SSD attached via PCIe fails the same way, with rootfs timing out despite the bootloader correctly reading initrd on the same drive.
Fwiw, replugging the SSD does not work like it does for USB flash drives, and is even worse of an idea.
USB 2 ports as well as SD card boots correctly, even without your patch.
Without your patch, i am seeing "deferred probe pending" in dmesg before boot gets stuck, which was the hint which made me find your patch.
I am not sure whether that is the actual cause or just a symptom for why drives are not recognized during boot, and am not quite sure how to debug this further.
> To optimize boot time, this commit allows asynchronous probing.
> This change enables the PCIe link establishment to occur in the
> background while other devices are being probed.
With this patch, booting from SSD or USB 3 port works flawlessly, and i have not seen any regressions with SD card or USB 2 boot, nor any other hardware component.
This setup has worked for multiple boots without fail, both with traditional ext4 and zfs rootfs being loaded from USB 3 and PCIe.
Because i require this patch to run my rock 5c from SSD, i am currently running a custom patched kernel, but would highly appreciate this patch making its way to mainline eventually.
There might well be something else going on here. The proposed patch may not be the "proper" fix to the issues i am seeing, but it does at least work.
I have NOT tested boot from eMMC (either with or without this patch), though i have no reason to believe it would be impacted.
I am happy to provide more info as needed. First time posting to the LKML, i hope i am doing this right...
Tested-by: Grimmauld <grimmauld@grimmauld.de>
Regards,
Grimmauld
next prev parent reply other threads:[~2026-01-29 14:07 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240809073610.2517-1-linux.amoon@gmail.com>
2025-01-03 11:31 ` [PATCH v2] PCI: dw-rockchip: Enable async probe by default Niklas Cassel
2025-01-03 13:54 ` Anand Moon
2025-01-03 14:25 ` Niklas Cassel
2025-01-03 14:40 ` Anand Moon
2025-01-03 14:45 ` Niklas Cassel
2025-01-03 15:06 ` Anand Moon
2025-01-03 15:10 ` Niklas Cassel
2025-01-03 15:29 ` Anand Moon
2025-01-03 15:45 ` Niklas Cassel
2025-01-05 16:35 ` Manivannan Sadhasivam
2025-01-05 17:46 ` Anand Moon
2025-01-03 16:04 ` Andrew Lunn
2025-01-05 17:46 ` Anand Moon
2025-01-05 17:57 ` Andrew Lunn
2025-01-06 7:58 ` Anand Moon
2025-01-06 12:02 ` Niklas Cassel
2025-01-06 13:44 ` Andrew Lunn
2025-01-07 11:13 ` Anand Moon
2025-01-07 13:13 ` Andrew Lunn
2025-01-07 14:57 ` Anand Moon
2025-01-15 17:49 ` Manivannan Sadhasivam
2026-01-29 14:06 ` Grimmauld [this message]
2026-01-30 10:25 ` Niklas Cassel
2026-01-31 9:38 ` Anand Moon
2026-02-02 9:54 ` Niklas Cassel
2026-02-02 18:05 ` Anand Moon
2026-02-03 11:01 ` Niklas Cassel
2026-02-02 10:02 ` Niklas Cassel
2026-02-02 18:07 ` Anand Moon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aXtpg0V_sifQEWHJ@grimm-nixos-ssd-2 \
--to=grimmauld@grimmauld.de \
--cc=bhelgaas@google.com \
--cc=heiko@sntech.de \
--cc=kw@linux.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux.amoon@gmail.com \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox