Re: [PATCH V2] PCI: imx6: Wait the clocks to stabilize after ref_en

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

 



Hi Richard,

On Fri, Oct 24, 2014 at 12:36 AM, Richard Zhu <richard.zhu@xxxxxxxxxxxxx> wrote:
> From: Richard Zhu <r65037@xxxxxxxxxxxxx>
>
> For boards without a reset GPIO we skip the delay between enabling the
> pcie_ref_clk and touching the RC registers for configuration.
> This hangs the system if there isn't a proper delay to ensure the clocks
> are settled in the DW PCIe core.
>
> Also iMX6Q always needs an additional 10us delay to make sure the reset
> is propagated through the core, as we don't have an explicitly
> controlled reset input on this SoC.
>
> Signed-off-by: Richard Zhu <richard.zhu@xxxxxxxxxxxxx>
> Tested-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>

Please always add Bjorn on Cc.

> ---
>  drivers/pci/host/pci-imx6.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
> index 233fe8a..eac96fb 100644
> --- a/drivers/pci/host/pci-imx6.c
> +++ b/drivers/pci/host/pci-imx6.c
> @@ -275,15 +275,22 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
>                 goto err_pcie;
>         }
>
> -       /* allow the clocks to stabilize */
> -       usleep_range(200, 500);
> -
>         /* power up core phy and enable ref clock */
>         regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
>                         IMX6Q_GPR1_PCIE_TEST_PD, 0 << 18);
> +       /*
> +        * the async reset input need ref clock to sync internally,
> +        * when the ref clock comes after reset, internal synced
> +        * reset time is too short , cannot meet the requirement.
> +        * add one ~10us delay here.
> +        */
> +       udelay(10);

The patch that myself and Tim has given a Tested-by tag did not
contain this udelay:
http://www.spinics.net/lists/linux-pci/msg34748.html

In your original patch it only moved the the usleep range and that's
the version that Tim has run intensive boot tests over temperature, so
I would prefer that you re-send a patch like the original one.
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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