> -----Original Message-----
> From: Pankaj Bansal
> Sent: 2019年10月14日 19:43
> To: Priyanka Jain <priyanka.j...@nxp.com>; Xiaowei Bao
> <xiaowei....@nxp.com>; Tom Rini <tr...@konsulko.com>; Z.q. Hou
> <zhiqiang....@nxp.com>
> Cc: u-boot@lists.denx.de; Pankaj Bansal <pankaj.ban...@nxp.com>
> Subject: [PATCH] pci: layerscape: Only set EP CFG READY bit
> 
> As part of EP setup, we want to set the config ready bit of controller, so 
> that
> RC can read the config space of EP.
> Now, when we set the config ready bit we are inadvertently clearing the
> LTSSM_EN bit in same register, which restarts the link tarining between RC
> and EP.
> Therefore, just set the desired CFG_READY bit (bit 0), while leaving the other
> bits unchanged.
> 
> Signed-off-by: Pankaj Bansal <pankaj.ban...@nxp.com>
> ---
>  drivers/pci/pcie_layerscape.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c
> index d8a7b7c865..bb2ec7c2ce 100644
> --- a/drivers/pci/pcie_layerscape.c
> +++ b/drivers/pci/pcie_layerscape.c
> @@ -407,7 +407,11 @@ static void ls_pcie_ep_setup_bars(void *bar_base)
> 
>  static void ls_pcie_ep_enable_cfg(struct ls_pcie *pcie)  {
> -     ctrl_writel(pcie, PCIE_CONFIG_READY, PCIE_PF_CONFIG);
> +     u32 config;
> +
> +     config = ctrl_readl(pcie,  PCIE_PF_CONFIG);
> +     config |= PCIE_CONFIG_READY;
> +     ctrl_writel(pcie, config, PCIE_PF_CONFIG);
>  }
> 
>  static void ls_pcie_setup_ep(struct ls_pcie *pcie)
> --
> 2.17.1

Reviewed-by: Hou Zhiqiang <zhiqiang....@nxp.com>

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to