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

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

 



Am 27. April 2023 10:31:07 MESZ schrieb "Jianjun Wang (王建军)" <Jianjun.Wang@xxxxxxxxxxxx>:
>Hi Frank,
>
>Seems this patch has huge impact on boot time, I'm curious about the
>NVMe detection issue on mt7986, can you share the SSD model that you
>are using and the bootup logs with that SSD?

Which "huge" delay do you get in which setup? It adds a 100ms delay yes,but this seems needed to some devices working.i found several sources talking about the 100ms wake-up time...

I do not have this issue,but some users in bpi-forum reorted it. Pcie-controller on mt7986/bpi-r3 does simply not detect the nvme and returned ETIMEDOUT (110).

# dmesg | grep 'pci'
[ 5.235564] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[ 5.242938] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[ 5.249235] mtk-pcie-gen3 11280000.pcie: MEM 0x0020000000..0x002fffffff -> 0x0020000000 
[ 5.478062] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.active (0x10 00001)
[ 5.487491] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110

One specific hardware is reported as example:

Adata Legend710 512GB x3

>Thanks.
>
>On Wed, 2023-04-26 at 19:41 +0200, Frank Wunderlich wrote:
>> External email : Please do not click links or open attachments until
>> you have verified the sender or the content.
>> 
>> 
>> 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://urldefense.com/v3/__https://forum.banana-pi.org/t/bpi-r3-nvme-connection-issue/14563/17__;!!CTRNKA9wMg0ARbw!nCXEM685pkUpoiZYGKptPYccNrWMeN2D3jIO5_irwxZJ7c6ZzEeACIx-V2WeZHAP_0FKlDDIQ0RbDJ892prtoToDv30$
>> > ---
>> >  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
>> 


regards Frank




[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