RE: [PATCH 1/2] dt-bindings:pci: Set LTSSM Detect.Quiet state delay.

From: Athani Nadeem Ladkhan
Date: Sun Mar 14 2021 - 14:58:11 EST


Hi Rob,

> -----Original Message-----
> From: Rob Herring <robh+dt@xxxxxxxxxx>
> Sent: Tuesday, March 9, 2021 10:17 PM
> To: Athani Nadeem Ladkhan <nadeem@xxxxxxxxxxx>
> Cc: Tom Joseph <tjoseph@xxxxxxxxxxx>; Bjorn Helgaas
> <bhelgaas@xxxxxxxxxx>; PCI <linux-pci@xxxxxxxxxxxxxxx>;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Lorenzo Pieralisi
> <lorenzo.pieralisi@xxxxxxx>; Kishon Vijay Abraham I <kishon@xxxxxx>;
> Milind Parab <mparab@xxxxxxxxxxx>; Swapnil Kashinath Jakhade
> <sjakhade@xxxxxxxxxxx>; Parshuram Raju Thombare
> <pthombar@xxxxxxxxxxx>
> Subject: Re: [PATCH 1/2] dt-bindings:pci: Set LTSSM Detect.Quiet state delay.
>
> EXTERNAL MAIL
>
>
> On Tue, Mar 9, 2021 at 12:31 AM Nadeem Athani <nadeem@xxxxxxxxxxx>
> wrote:
> >
> > The parameter detect-quiet-min-delay can be used to program the
> > minimum time that LTSSM waits on entering Detect.Quiet state.
> > 00 : 0us minimum wait time in Detect.Quiet state.
> > 01 : 100us minimum wait time in Detect.Quiet state.
> > 10 : 1000us minimum wait time in Detect.Quiet state.
> > 11 : 2000us minimum wait time in Detect.Quiet state.
>
> What determines this setting? Is it per board or SoC? Is this a standard PCI
> timing thing? Why does this need to be tuned per platform?
The pcie spec. says this delay to be between 0 to 1ms.
The default 0 value works in most cases.
However it has been found that some SOC may require this delay to be greater than 0.
This has been proved by an internal simulation experiments.
Hence providing this feature in device tree for required SOC's.
>
> > Signed-off-by: Nadeem Athani <nadeem@xxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/pci/cdns,cdns-pcie-host.yaml | 13
> +++++++++++++
> > 1 file changed, 13 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> > b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> > index 293b8ec318bc..a1d56e0be419 100644
> > --- a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> > +++ b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
> > @@ -27,6 +27,18 @@ properties:
> >
> > msi-parent: true
> >
> > + detect-quiet-min-delay:
> > + description:
> > + LTSSM Detect.Quiet state minimum delay.
> > + 00 : 0us minimum wait time
> > + 01 : 100us minimum wait time
> > + 10 : 1000us minimum wait time
> > + 11 : 2000us minimum wait time
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + minimum: 0
> > + maximum: 3
> > + default: 0
> > +
> > required:
> > - reg
> > - reg-names
> > @@ -48,6 +60,7 @@ examples:
> > linux,pci-domain = <0>;
> > vendor-id = <0x17cd>;
> > device-id = <0x0200>;
> > + detect-quiet-min-delay = <0>;
> >
> > reg = <0x0 0xfb000000 0x0 0x01000000>,
> > <0x0 0x41000000 0x0 0x00001000>;
> > --
> > 2.15.0
> >