Hi, Jim Quinlan <jim2101024@xxxxxxxxx> (2023-05-08): > The current PCIe driver assumes PERST# is asserted when probe() is invoked. > The reasons are as follows: > > (1) One Broadcom SOC (7278) causes a panic if the PERST# register is > written during this time window. > > (2) If PERST# is deasserted at Linux probe() time, experience and QA > suspend/resume tests have shown that some endpoint devices fail if the > PERST# is pulsed (deasserted => asserted => deasserted) quickly in this > fashion, even though the timing is in accordance with their datasheets. > > (3) Keeping things in reset tends to save power, if for some reason the > PCIe driver is not yet present. > > Broadcom STB and CM SOCs bootloaders always have PERST# asserted at > probe(). This is not necessarily the case for the 2711/RPi bootloader, > so, for 2711/RPi SOCs, do what Raspian OS does and assert PERST#. > > [1] https://lore.kernel.org/linux-pci/20230411165919.23955-1-jim2101024@xxxxxxxxx/T/#m39ebab8bc2827b2304aeeff470a6c6a58f46f987 It would probably make sense to remove that [1] link entirely, to match the reference removal between v4 and v5. Cheers, -- Cyril Brulebois (kibi@xxxxxxxxxx) <https://debamax.com/> D-I release manager -- Release team member -- Freelance Consultant
Attachment:
signature.asc
Description: PGP signature