On 08/02/2017 07:58 PM, Bao Xiaowei wrote: > modifiy the ls_pcie_link_up function, add the following three judging > mechanisms: > > detect state: return link down status; > L0 state: return link up status; > other state: delay about 100ms retrieve Status Returns the corresponding link > status;
Please pay attention to your upper case and lower case in commit message. What does the spec say about the timeout? Is 100ms the right time? If so, please put a comment in the source code. > > Signed-off-by: Bao Xiaowei <[email protected]> > --- > drivers/pci/pcie_layerscape.c | 17 +++++++++++++---- > 1 file changed, 13 insertions(+), 4 deletions(-) > > diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c > index 7565e2f..4446ac9 100644 > --- a/drivers/pci/pcie_layerscape.c > +++ b/drivers/pci/pcie_layerscape.c > @@ -65,13 +65,22 @@ static int ls_pcie_ltssm(struct ls_pcie *pcie) > > static int ls_pcie_link_up(struct ls_pcie *pcie) > { > - int ltssm; > + int ltssm, i; > > ltssm = ls_pcie_ltssm(pcie); > - if (ltssm < LTSSM_PCIE_L0) > + if ((ltssm == 0) || (ltssm == 1)) > return 0; > - > - return 1; > + else if (ltssm == LTSSM_PCIE_L0) > + return 1; > + else { > + for (i = 0; i < 100; i++) { > + udelay(1000); > + ltssm = ls_pcie_ltssm(pcie); > + if (ltssm == LTSSM_PCIE_L0) > + return 1; > + } > + return 0; > + } A comment to summary the logic would be nice. York _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

