Aw: [PATCH] PCI: mediatek-gen3: handle PERST after reset

From: Frank Wunderlich
Date: Wed Apr 26 2023 - 13:42:16 EST


Hi

> Gesendet: Sonntag, 02. April 2023 um 15:13 Uhr
> Von: "Frank Wunderlich" <linux@xxxxxxxxx>
> De-assert PERST in separate step after reset signals to fully comply
> the PCIe CEM clause 2.2.
>
> This fixes some NVME detection issues on mt7986.
>
> Fixes: d3bf75b579b9 ("PCI: mediatek-gen3: Add MediaTek Gen3 driver for MT8192")
> Signed-off-by: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx>
> ---
> Patch is taken from user Ruslan aka RRKh61 (permitted me to send it
> with me as author).
>
> https://forum.banana-pi.org/t/bpi-r3-nvme-connection-issue/14563/17
> ---
> drivers/pci/controller/pcie-mediatek-gen3.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/controller/pcie-mediatek-gen3.c
> index b8612ce5f4d0..176b1a04565d 100644
> --- a/drivers/pci/controller/pcie-mediatek-gen3.c
> +++ b/drivers/pci/controller/pcie-mediatek-gen3.c
> @@ -350,7 +350,13 @@ static int mtk_pcie_startup_port(struct mtk_gen3_pcie *pcie)
> msleep(100);
>
> /* De-assert reset signals */
> - val &= ~(PCIE_MAC_RSTB | PCIE_PHY_RSTB | PCIE_BRG_RSTB | PCIE_PE_RSTB);
> + val &= ~(PCIE_MAC_RSTB | PCIE_PHY_RSTB | PCIE_BRG_RSTB);
> + writel_relaxed(val, pcie->base + PCIE_RST_CTRL_REG);
> +
> + msleep(100);
> +
> + /* De-assert PERST# signals */
> + val &= ~(PCIE_PE_RSTB);
> writel_relaxed(val, pcie->base + PCIE_RST_CTRL_REG);
>
> /* Check if the link is up or not */

Hi

just a friendly reminder....do i miss any recipient?

regards Frank