Message ID | 20210309073142.13219-2-nadeem@cadence.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Lorenzo Pieralisi |
Headers | show |
Series | PCI: cadence: Set LTSSM Detect.Quiet state delay. | expand |
On Tue, Mar 9, 2021 at 12:31 AM Nadeem Athani <nadeem@cadence.com> 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 <nadeem@cadence.com> > --- > .../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 >
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 <nadeem@cadence.com> > --- > .../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 "<unicode string>", 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 <module> 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 "<unicode string>", 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.
Hi Rob, > -----Original Message----- > From: Rob Herring <robh+dt@kernel.org> > Sent: Tuesday, March 9, 2021 10:17 PM > To: Athani Nadeem Ladkhan <nadeem@cadence.com> > Cc: Tom Joseph <tjoseph@cadence.com>; Bjorn Helgaas > <bhelgaas@google.com>; PCI <linux-pci@vger.kernel.org>; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Lorenzo Pieralisi > <lorenzo.pieralisi@arm.com>; Kishon Vijay Abraham I <kishon@ti.com>; > Milind Parab <mparab@cadence.com>; Swapnil Kashinath Jakhade > <sjakhade@cadence.com>; Parshuram Raju Thombare > <pthombar@cadence.com> > 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@cadence.com> > 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@cadence.com> > > --- > > .../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 > >
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>;
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 <nadeem@cadence.com> --- .../devicetree/bindings/pci/cdns,cdns-pcie-host.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+)