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

2021-03-14 Thread Athani Nadeem Ladkhan
Hi Rob,

> -Original Message-
> From: Rob Herring 
> Sent: Tuesday, March 9, 2021 10:17 PM
> To: Athani Nadeem Ladkhan 
> Cc: Tom Joseph ; Bjorn Helgaas
> ; PCI ;
> devicet...@vger.kernel.org; linux-kernel@vger.kernel.org; Lorenzo Pieralisi
> ; Kishon Vijay Abraham I ;
> Milind Parab ; Swapnil Kashinath Jakhade
> ; Parshuram Raju Thombare
> 
> 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 
> 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 
> > ---
> >  .../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 0xfb00  0x0 0x0100>,
> ><0x0 0x4100  0x0 0x1000>;
> > --
> > 2.15.0
> >


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

2021-03-09 Thread Rob Herring
On Tue, 09 Mar 2021 08:31:41 +0100, Nadeem Athani 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.
> 
> Signed-off-by: Nadeem Athani 
> ---
>  .../devicetree/bindings/pci/cdns,cdns-pcie-host.yaml| 13 
> +
>  1 file changed, 13 insertions(+)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml:33:10: [error] 
syntax error: mapping values are not allowed here (syntax)

dtschema/dtc warnings/errors:
./Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml:  mapping 
values are not allowed in this context
  in "", line 33, column 10
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml:
 ignoring, error parsing file
warning: no schema found in file: 
./Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.yaml
Traceback (most recent call last):
  File "/usr/local/bin/dt-extract-example", line 45, in 
binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 343, 
in load
return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", 
line 111, in get_single_data
node = self.composer.get_single_node()
  File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
  File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 889, in 
_ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 889, in 
_ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 891, in 
_ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context
  in "", line 33, column 10
make[1]: *** [Documentation/devicetree/bindings/Makefile:20: 
Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.example.dts] Error 1
make[1]: *** Deleting file 
'Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.example.dts'
make: *** [Makefile:1380: dt_binding_check] Error 2

See https://patchwork.ozlabs.org/patch/1449563

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.



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

2021-03-09 Thread Rob Herring
On Tue, Mar 9, 2021 at 12:31 AM Nadeem Athani  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?

> Signed-off-by: Nadeem Athani 
> ---
>  .../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 0xfb00  0x0 0x0100>,
><0x0 0x4100  0x0 0x1000>;
> --
> 2.15.0
>


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

2021-03-08 Thread Nadeem Athani
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.

Signed-off-by: Nadeem Athani 
---
 .../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 0xfb00  0x0 0x0100>,
   <0x0 0x4100  0x0 0x1000>;
-- 
2.15.0