Re: git: 28aaa58fa64e - main - fu740_pci_dw: Fix PERST delay and keep asserted for rest of reset sequence
Date: Sun, 02 Jun 2024 21:15:06 UTC
On 2 Jun 2024, at 22:01, Colin Percival <cperciva@tarsnap.com> wrote: > > On 6/2/24 13:43, Jessica Clarke wrote: >> fu740_pci_dw: Fix PERST delay and keep asserted for rest of reset sequence >> DELAY takes microseconds not milliseconds, so 100 was too low. Moreover, >> when enabling hw.pci.clear_pcib, PCI emeration would still stop at one >> of the first bridges, but by asserting PERST for the rest of the reset >> sequence that appears to be reliably addressed. > > Does this need to be a DELAY as opposed to something asynchronous? We try to > avoid lengthy DELAYs in the boot process. It’s in the middle of device_attach, so you’d need to break it up into two stages. I don’t know if we have a good way of doing that for delays; I’ve seen other glue code drivers do things like this, but there may well be a better way, and if so I’m all ears. Though given you won’t have working PCI (so no USB nor NVMe) until this is done there’s probably not much more you can do during boot whilst you wait, so it may not be worth pursuing. Also, given the performance of the SoC in question, 100ms isn’t something you’d be close to noticing... Jess