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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240417191445.GB3101736-robh@kernel.org>
Date: Wed, 17 Apr 2024 14:14:45 -0500
From: Rob Herring <robh@...nel.org>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Cc: djakov@...nel.org, krzysztof.kozlowski+dt@...aro.org,
	conor+dt@...nel.org, matthias.bgg@...il.com, lgirdwood@...il.com,
	broonie@...nel.org, keescook@...omium.org, gustavoars@...nel.org,
	henryc.chen@...iatek.com, linux-pm@...r.kernel.org,
	devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org,
	linux-mediatek@...ts.infradead.org, kernel@...labora.com,
	wenst@...omium.org, amergnat@...libre.com
Subject: Re: [PATCH v2 2/7] dt-bindings: interconnect: Add MediaTek EMI
 Interconnect bindings

On Wed, Apr 17, 2024 at 05:32:54PM +0200, AngeloGioacchino Del Regno wrote:
> Il 17/04/24 16:54, Rob Herring ha scritto:
> > On Wed, Apr 17, 2024 at 11:14:37AM +0200, AngeloGioacchino Del Regno wrote:
> > > Add bindings for the MediaTek External Memory Interface Interconnect,
> > > which providers support system bandwidth requirements through Dynamic
> > > Voltage Frequency Scaling Resource Collector (DVFSRC) hardware.
> > > 
> > > This adds bindings for MediaTek MT8183 and MT8195 SoCs.
> > > 
> > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
> > > ---
> > >   .../interconnect/mediatek,mt8183-emi.yaml     | 76 +++++++++++++++++++
> > >   .../interconnect/mediatek,mt8183.h            | 23 ++++++
> > >   .../interconnect/mediatek,mt8195.h            | 44 +++++++++++
> > >   3 files changed, 143 insertions(+)
> > >   create mode 100644 Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml
> > >   create mode 100644 include/dt-bindings/interconnect/mediatek,mt8183.h
> > >   create mode 100644 include/dt-bindings/interconnect/mediatek,mt8195.h
> > > 
> > > diff --git a/Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml b/Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml
> > > new file mode 100644
> > > index 000000000000..3ad60fd21f83
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/interconnect/mediatek,mt8183-emi.yaml
> > > @@ -0,0 +1,76 @@
> > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/interconnect/mediatek,mt8183-emi.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: MediaTek External Memory Interface (EMI) Interconnect
> > > +
> > > +maintainers:
> > > +  - AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
> > > +
> > > +description: |
> > > +  EMI interconnect providers support system bandwidth requirements through
> > > +  Dynamic Voltage Frequency Scaling Resource Collector (DVFSRC) hardware.
> > > +  The provider is able to communicate with the DVFSRC through Secure Monitor
> > > +  Call (SMC).
> > > +
> > > +             ICC provider         ICC Nodes
> > > +                              ----          ----
> > > +             _________       |CPU |   |--- |VPU |
> > > +    _____   |         |-----  ----    |     ----
> > > +   |     |->|  DRAM   |       ----    |     ----
> > > +   |DRAM |->|scheduler|----- |GPU |   |--- |DISP|
> > > +   |     |->|  (EMI)  |       ----    |     ----
> > > +   |_____|->|_________|---.   -----   |     ----
> > > +               /|\         `-|MMSYS|--|--- |VDEC|
> > > +                |             -----   |     ----
> > > +                |                     |     ----
> > > +                | change DRAM freq    |--- |VENC|
> > > +             --------                 |     ----
> > > +    SMC --> | DVFSRC |                |     ----
> > > +             --------                 |--- |IMG |
> > > +                                      |     ----
> > > +                                      |     ----
> > > +                                      |--- |CAM |
> > > +                                            ----
> > > +
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - mediatek,mt8183-emi
> > > +      - mediatek,mt8195-emi
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  '#interconnect-cells':
> > > +    const: 1
> > > +
> > > +required:
> > > +  - compatible
> > > +  - '#interconnect-cells'
> > > +
> > > +unevaluatedProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    #include <dt-bindings/interconnect/mediatek,mt8195.h>
> > > +
> > > +    soc {
> > > +        #address-cells = <2>;
> > > +        #size-cells = <2>;
> > > +
> > > +        system-controller@...12000 {
> > > +            compatible = "mediatek,mt8195-dvfsrc";
> > > +            reg = <0 0x10012000 0 0x1000>;
> > > +            #address-cells = <1>;
> > > +            #size-cells = <0>;
> > > +
> > > +            emi_icc: interconnect@1 {
> > > +                compatible = "mediatek,mt8195-emi";
> > > +                reg = <1>;
> > > +                #interconnect-cells = <1>;
> > 
> > 
> > There's not really any need for this node. Just put #interconnect-cells
> > in the parent.
> > 
> 
> Actually, I modeled it to be a subnode of the DVFSRC for multiple reasons:
> 
> 1. Some SoCs have more than one interconnect on the DVFSRC (two different kinds
>    of EMI interconnect, and then also a SMI interconnect); and
> 
> 2. Some boards will want to not enable the interconnect driver because some of
>    those are not battery powered (so they just keep the knobs at full thrust
>    from the bootloader and never care scaling busses); and
> 
> 3. Some DVFSRC interconnect features may depend on firmware (but I'm not
>    sure which ones and which SoCs, as there are lots of SMI/EMI ICC things that
>    are not implemented yet with this series).
> 
> The alternative would've been to add a property to enable, or disable, the SMI ICC
> (not present in this series), and/or one, or the other kind of EMI ICC (this series
> implements only the simpler EMI ICC, and I keep saying "the other" because I
> currently don't remember the name).... which is really ugly.
> 
> Ideas? :-)

Just provide that reasoning in the commit msg.

Rob

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ