Re: [PATCH v2] PCI: brcmstb: Restore initial fundamental reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 12, 2020 at 12:27 PM Phil Elwell <phil@xxxxxxxxxxxxxxx> wrote:
>
> Commit 04356ac30771 ("PCI: brcmstb: Add bcm7278 PERST# support")
> replaced a single reset function with a pointer to one of two
> implementations, but also removed the call asserting the reset
> at the start of brcm_pcie_setup. Doing so breaks Raspberry Pis with
> VL805 XHCI controllers lacking dedicated SPI EEPROMs, which have been
> used for USB booting but then need to be reset so that the kernel
> can reconfigure them. The lack of a reset causes the firmware's loading
> of the EEPROM image to RAM to fail, breaking USB for the kernel.
>
> Fixes: commit 04356ac30771 ("PCI: brcmstb: Add bcm7278 PERST# support")
>
> Signed-off-by: Phil Elwell <phil@xxxxxxxxxxxxxxx>
> Acked-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx>
> ---
> Changes in v2:
>   - Exclude BCM7278 from the initial reset
>   - Ack from Nicolas
> ---
>  drivers/pci/controller/pcie-brcmstb.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> index bea86899bd5d..83aa85bfe8e3 100644
> --- a/drivers/pci/controller/pcie-brcmstb.c
> +++ b/drivers/pci/controller/pcie-brcmstb.c
> @@ -869,6 +869,11 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie)
>
>         /* Reset the bridge */
>         pcie->bridge_sw_init_set(pcie, 1);
> +
> +       /* Assert the fundemental reset, except on BCM7278 */
> +       if (pcie->type != BCM7278)
> +               pcie->perst_set(pcie, 1);
I'm okay with this although I  would rather it not be needed.
Regards,
Jim
> +
>         usleep_range(100, 200);
>
>         /* Take the bridge out of reset */
> --
> 2.25.1
>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux