lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220720210321.GA1656074@bhelgaas>
Date:   Wed, 20 Jul 2022 16:03:21 -0500
From:   Bjorn Helgaas <helgaas@...nel.org>
To:     Hongxing Zhu <hongxing.zhu@....com>
Cc:     "robh@...nel.org" <robh@...nel.org>,
        "l.stach@...gutronix.de" <l.stach@...gutronix.de>,
        "galak@...nel.crashing.org" <galak@...nel.crashing.org>,
        "shawnguo@...nel.org" <shawnguo@...nel.org>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        "linux-arm-kernel@...ts.infradead.org" 
        <linux-arm-kernel@...ts.infradead.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        dl-linux-imx <linux-imx@....com>,
        "kernel@...gutronix.de" <kernel@...gutronix.de>
Subject: Re: [PATCH v2 1/3] dt-bindings: PCI: imx6: convert the imx pcie
 controller to dtschema

On Wed, Jul 20, 2022 at 01:16:45AM +0000, Hongxing Zhu wrote:
> > -----Original Message-----
> > From: Bjorn Helgaas <helgaas@...nel.org>
> > Sent: 2022年7月20日 2:00
> > To: Hongxing Zhu <hongxing.zhu@....com>
> > Cc: robh@...nel.org; l.stach@...gutronix.de; galak@...nel.crashing.org;
> > shawnguo@...nel.org; devicetree@...r.kernel.org;
> > linux-arm-kernel@...ts.infradead.org; linux-kernel@...r.kernel.org;
> > dl-linux-imx <linux-imx@....com>; kernel@...gutronix.de
> > Subject: Re: [PATCH v2 1/3] dt-bindings: PCI: imx6: convert the imx pcie
> > controller to dtschema
> > 
> > On Fri, Aug 27, 2021 at 02:42:58PM +0800, Richard Zhu wrote:
> > > Convert the fsl,imx6q-pcie.txt into a schema.
> > > - ranges property should be grouped by region, with no functional
> > >   changes.
> > > - only one propert is allowed in the compatible string, remove
> > >   "snps,dw-pcie".
> > >
> > > Signed-off-by: Richard Zhu <hongxing.zhu@....com>
> > > ---
> > >  .../bindings/pci/fsl,imx6q-pcie.txt           | 100 ---------
> > >  .../bindings/pci/fsl,imx6q-pcie.yaml          | 202
> > ++++++++++++++++++
> > >  MAINTAINERS                                   |   2 +-
> > >  3 files changed, 203 insertions(+), 101 deletions(-)  delete mode
> > > 100644 Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > >  create mode 100644
> > > Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > > b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > 
> > > -Optional properties:
> > > -- fsl,tx-deemph-gen1: Gen1 De-emphasis value. Default: 0
> > > -- fsl,tx-deemph-gen2-3p5db: Gen2 (3.5db) De-emphasis value. Default:
> > > 0
> > 
> > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > > b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > 
> > > +  fsl,tx-deemph-gen1:
> > > +    description: Gen1 De-emphasis value (optional required).
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    default: 0
> > > +
> > > +  fsl,tx-deemph-gen2-3p5db:
> > > +    description: Gen2 (3.5db) De-emphasis value (optional required).
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    default: 0
> > 
> > What does "optional required" mean in all these properties?
> > "Optional" is the opposite of "required."
>
> Regarding my understands, the "optional required" means that these properties
>  are not mandatory required. The default values are used if there are no such
>  kind of properties. If HW board designers want to shape their PCIe signals
>  (E.X eye diagram), they should define these properties.

That sounds like "optional" to me.

"Optional required" is meaningless.  A property can be either optional
OR required, but not both at the same time.

If the driver can function without these properties, they are
optional.  If designers can use these properties to optimize signal
characteristics, the properties are still optional.

The properties you describe as "optional required" are:

  fsl,tx-deemph-gen1
  fsl,tx-deemph-gen2-3p5db
  fsl,tx-deemph-gen2-6db
  fsl,tx-swing-full
  fsl,tx-swing-low
  fsl,max-link-speed
  reset-gpio
  reset-gpio-active-high
  vpcie-supply
  vph-supply

>From reading the code, the driver uses default values for all the
"fsl," properties if they don't exist.  And the driver always checks
whether the others exist before using them.

So I think you should describe all these as "optional".

Bjorn

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ