On Tue, 2017-08-29 at 03:19 +0000, Xiaowei Bao wrote:
> Hi York,
> 
> > +   if (ltssm == LTSSM_PCIE_DETECT_QUIET ||
> > +       ltssm == LTSSM_PCIE_DETECT_ACTIVE) {
> 
> When the pcie slot have no device, the pcie controller access this register 
> return LTSSM_PCIE_DETECT_QUIET or LTSSM_PCIE_DETECT_ACTIVE state, In order to 
> avoid unnecessary delay, return directly.
> 
> Reference the spec, except L0 state, the L0s L1 L2state can consider the link 
> state, but these state regards the power management, our pcie driver have not 
> power management code in uboot, so just need to judge the L0 state.
> 

But Linux has power mgmt(I guess this is ASPM?). Could we come up with a new 
test that work for
both Linux and u-boot ? Is the LTSSM reg. standardized for all FSL PCIe 
controllers?

  Jocke

> Thanks
> 
> -----Original Message-----
> From: York Sun 
> Sent: Tuesday, August 29, 2017 1:15 AM
> To: Xiaowei Bao <xiaowei....@nxp.com>
> Cc: Joakim Tjernlund <joakim.tjernl...@infinera.com>; u-boot@lists.denx.de
> Subject: Re: FSL PCIe LTSSM >= PCI_LTSSM_L0 equals link up
> 
> +Xiaowei
> 
> On 08/28/2017 10:09 AM, Joakim Tjernlund wrote:
> > On Mon, 2017-08-28 at 16:55 +0000, York Sun wrote:
> > > On 08/28/2017 09:48 AM, Joakim Tjernlund wrote:
> > > > FSL PCIe controller drivers before REV 3 has this test for link up:
> > > >     enabled = ltssm >= PCI_LTSSM_L0;
> > > > 
> > > > We have a PCIe dev. that stays in LTSSM=0x51 (Polling Compliance) 
> > > > when non ready for PCI transaktions. When FSL PCIe controller tries 
> > > > to access this device, it hangs forever.
> > > > 
> > > > Is LTSSM=0x51 really a "legal" state for link up?
> > > > If not, what is a suitable range(maybe LO <= ltssm <= L0s(0x27)) ?
> > > > 
> > > >    Jocke
> > > > 
> > > > BTW, the same test is valid in Linux too.
> > > > 
> > > 
> > > Jocke,
> > > 
> > > I am not an expert on PCIe. Please if this thread is helpful,
> > 
> > Me neither .. :)
> > >   
> > > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatchwork.ozlabs.org%2Fpatch%2F801519%2F&data=01%7C01%7Cyork.sun%40nxp.com%7Cf46ff5111ba04e631a9b08d4ee377ecc%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=n9%2B2NIjEvsMBCljRLHS6NVVN4ANa3nBGpwUjI4Od%2Bhs%3D&reserved=0.
> > 
> > It mentions polling compliance but this driver already tests for:
> > if (ltssm < LTSSM_PCIE_L0)
> >             return 0;
> >     return 1;
> > 
> > It just adds some delay if the device is in Polling Compliance to see 
> > if that changes to L0.
> > Since both layerscape and fsl >= rev 3 already require ltssm to be == 
> > L0, I suspect the ltssm >= L0 is bogus.
> > 
> 
> Xiaowei, can you comment?
> 
> York
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to