Re: [PATCH] usb: xhci-pci: Raspberry Pi FW loader for VIA VL805

From: Nicolas Saenz Julienne
Date: Mon Feb 17 2020 - 16:19:37 EST

On Mon, 2020-02-17 at 12:52 -0800, Florian Fainelli wrote:
> On 2/17/2020 2:07 AM, Nicolas Saenz Julienne wrote:
> > On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
> > loaded directly from an EEPROM or, if not present, by the SoC's
> > VideCore. Inform VideCore that VL805 was just reset, or defer xhci's
> > probe if not yet joinable trough the mailbox interface.
> >
> > Based on Tim Gover's downstream implementation.
> >
> > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx>
> Would it work if you registered the firmware loading as pci fixup such
> that you would not even have to mangle xhci-pci.c at all and all the
> logic could be contained within drivers/firmware/raspberrypi.c?

Not that simple, PCI fix-ups don't allow for probe deferring. We depend on the
firmware and mailbox drivers to be up prior running this, so it's essential. We
could cheat and do the deferring first thing during pcie-brcmstb's probe.

Actually this might be a workable solution (as in upstreamable):
- Wait for firmware to be up in pcie-brcmstb.c
- Add firmware code in firmware/raspberrypi.c
- Perform call in usb's quirk_usb_early_handoff() (usb/host/pci-quirks.c)


Attachment: signature.asc
Description: This is a digitally signed message part