From: Jordan Crouse <jcrouse@codeaurora.org> To: Rob Herring <robh@kernel.org> Cc: Georgi Djakov <georgi.djakov@linaro.org>, linux-pm@vger.kernel.org, gregkh@linuxfoundation.org, rjw@rjwysocki.net, mturquette@baylibre.com, khilman@baylibre.com, vincent.guittot@linaro.org, skannan@codeaurora.org, bjorn.andersson@linaro.org, amit.kucheria@linaro.org, seansw@qti.qualcomm.com, daidavid1@codeaurora.org, evgreen@chromium.org, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, abailon@baylibre.com, maxime.ripard@bootlin.com, arnd@arndb.de, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, robdclark@gmail.com Subject: Re: [PATCH v9 2/8] dt-bindings: Introduce interconnect binding Date: Wed, 26 Sep 2018 08:34:33 -0600 [thread overview] Message-ID: <20180926143432.GH10761@jcrouse-lnx.qualcomm.com> (raw) In-Reply-To: <20180925180215.GA12435@bogus> On Tue, Sep 25, 2018 at 01:02:15PM -0500, Rob Herring wrote: > On Fri, Aug 31, 2018 at 05:01:45PM +0300, Georgi Djakov wrote: > > This binding is intended to represent the relations between the interconnect > > controllers (providers) and consumer device nodes. It will allow creating links > > between consumers and interconnect paths (exposed by interconnect providers). > > As I mentioned in person, I want to see other SoC families using this > before accepting. They don't have to be ready for upstream, but WIP > patches or even just a "yes, this works for us and we're going to use > this binding on X". > > Also, I think the QCom GPU use of this should be fully sorted out. Or > more generically how this fits into OPP binding which seems to be never > ending extended... This is a discussion I wouldn't mind having now. To jog memories, this is what I posted a few weeks ago: https://patchwork.freedesktop.org/patch/246117/ This seems like the easiest way to me to tie the frequency and the bandwidth quota together for GPU devfreq scaling but I'm not married to the format and I'll happily go a few rounds on the bikeshed if we can get something we can be happy with. Jordan > > Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> > > --- > > .../bindings/interconnect/interconnect.txt | 60 +++++++++++++++++++ > > 1 file changed, 60 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/interconnect/interconnect.txt > > > > diff --git a/Documentation/devicetree/bindings/interconnect/interconnect.txt b/Documentation/devicetree/bindings/interconnect/interconnect.txt > > new file mode 100644 > > index 000000000000..5cb7d3c8d44d > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/interconnect/interconnect.txt > > @@ -0,0 +1,60 @@ > > +Interconnect Provider Device Tree Bindings > > +========================================= > > + > > +The purpose of this document is to define a common set of generic interconnect > > +providers/consumers properties. > > + > > + > > += interconnect providers = > > + > > +The interconnect provider binding is intended to represent the interconnect > > +controllers in the system. Each provider registers a set of interconnect > > +nodes, which expose the interconnect related capabilities of the interconnect > > +to consumer drivers. These capabilities can be throughput, latency, priority > > +etc. The consumer drivers set constraints on interconnect path (or endpoints) > > +depending on the use case. Interconnect providers can also be interconnect > > +consumers, such as in the case where two network-on-chip fabrics interface > > +directly > > missing '.' > > > + > > +Required properties: > > +- compatible : contains the interconnect provider compatible string > > +- #interconnect-cells : number of cells in a interconnect specifier needed to > > + encode the interconnect node id > > + > > +Example: > > + > > + snoc: snoc@580000 { > > + compatible = "qcom,msm8916-snoc"; > > + #interconnect-cells = <1>; > > + reg = <0x580000 0x14000>; > > + clock-names = "bus_clk", "bus_a_clk"; > > + clocks = <&rpmcc RPM_SMD_SNOC_CLK>, > > + <&rpmcc RPM_SMD_SNOC_A_CLK>; > > + }; > > + > > + > > += interconnect consumers = > > + > > +The interconnect consumers are device nodes which dynamically express their > > +bandwidth requirements along interconnect paths they are connected to. There > > +can be multiple interconnect providers on a SoC and the consumer may consume > > +multiple paths from different providers depending on use case and the > > +components it has to interact with. > > + > > +Required properties: > > +interconnects : Pairs of phandles and interconnect provider specifier to denote > > + the edge source and destination ports of the interconnect path. > > + > > +Optional properties: > > +interconnect-names : List of interconnect path name strings sorted in the same > > + order as the interconnects property. Consumers drivers will use > > + interconnect-names to match interconnect paths with interconnect > > + specifiers. > > specifier pairs. > > > + > > +Example: > > + > > + sdhci@7864000 { > > + ... > > + interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>; > > + interconnect-names = "ddr"; > > + }; -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
WARNING: multiple messages have this Message-ID (diff)
From: jcrouse@codeaurora.org (Jordan Crouse) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v9 2/8] dt-bindings: Introduce interconnect binding Date: Wed, 26 Sep 2018 08:34:33 -0600 [thread overview] Message-ID: <20180926143432.GH10761@jcrouse-lnx.qualcomm.com> (raw) In-Reply-To: <20180925180215.GA12435@bogus> On Tue, Sep 25, 2018 at 01:02:15PM -0500, Rob Herring wrote: > On Fri, Aug 31, 2018 at 05:01:45PM +0300, Georgi Djakov wrote: > > This binding is intended to represent the relations between the interconnect > > controllers (providers) and consumer device nodes. It will allow creating links > > between consumers and interconnect paths (exposed by interconnect providers). > > As I mentioned in person, I want to see other SoC families using this > before accepting. They don't have to be ready for upstream, but WIP > patches or even just a "yes, this works for us and we're going to use > this binding on X". > > Also, I think the QCom GPU use of this should be fully sorted out. Or > more generically how this fits into OPP binding which seems to be never > ending extended... This is a discussion I wouldn't mind having now. To jog memories, this is what I posted a few weeks ago: https://patchwork.freedesktop.org/patch/246117/ This seems like the easiest way to me to tie the frequency and the bandwidth quota together for GPU devfreq scaling but I'm not married to the format and I'll happily go a few rounds on the bikeshed if we can get something we can be happy with. Jordan > > Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> > > --- > > .../bindings/interconnect/interconnect.txt | 60 +++++++++++++++++++ > > 1 file changed, 60 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/interconnect/interconnect.txt > > > > diff --git a/Documentation/devicetree/bindings/interconnect/interconnect.txt b/Documentation/devicetree/bindings/interconnect/interconnect.txt > > new file mode 100644 > > index 000000000000..5cb7d3c8d44d > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/interconnect/interconnect.txt > > @@ -0,0 +1,60 @@ > > +Interconnect Provider Device Tree Bindings > > +========================================= > > + > > +The purpose of this document is to define a common set of generic interconnect > > +providers/consumers properties. > > + > > + > > += interconnect providers = > > + > > +The interconnect provider binding is intended to represent the interconnect > > +controllers in the system. Each provider registers a set of interconnect > > +nodes, which expose the interconnect related capabilities of the interconnect > > +to consumer drivers. These capabilities can be throughput, latency, priority > > +etc. The consumer drivers set constraints on interconnect path (or endpoints) > > +depending on the use case. Interconnect providers can also be interconnect > > +consumers, such as in the case where two network-on-chip fabrics interface > > +directly > > missing '.' > > > + > > +Required properties: > > +- compatible : contains the interconnect provider compatible string > > +- #interconnect-cells : number of cells in a interconnect specifier needed to > > + encode the interconnect node id > > + > > +Example: > > + > > + snoc: snoc at 580000 { > > + compatible = "qcom,msm8916-snoc"; > > + #interconnect-cells = <1>; > > + reg = <0x580000 0x14000>; > > + clock-names = "bus_clk", "bus_a_clk"; > > + clocks = <&rpmcc RPM_SMD_SNOC_CLK>, > > + <&rpmcc RPM_SMD_SNOC_A_CLK>; > > + }; > > + > > + > > += interconnect consumers = > > + > > +The interconnect consumers are device nodes which dynamically express their > > +bandwidth requirements along interconnect paths they are connected to. There > > +can be multiple interconnect providers on a SoC and the consumer may consume > > +multiple paths from different providers depending on use case and the > > +components it has to interact with. > > + > > +Required properties: > > +interconnects : Pairs of phandles and interconnect provider specifier to denote > > + the edge source and destination ports of the interconnect path. > > + > > +Optional properties: > > +interconnect-names : List of interconnect path name strings sorted in the same > > + order as the interconnects property. Consumers drivers will use > > + interconnect-names to match interconnect paths with interconnect > > + specifiers. > > specifier pairs. > > > + > > +Example: > > + > > + sdhci at 7864000 { > > + ... > > + interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>; > > + interconnect-names = "ddr"; > > + }; -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2018-09-26 14:34 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-08-31 14:01 [PATCH v9 0/8] Introduce on-chip interconnect API Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 1/8] interconnect: Add generic " Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 2/8] dt-bindings: Introduce interconnect binding Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-09-25 18:02 ` Rob Herring 2018-09-25 18:02 ` Rob Herring 2018-09-26 14:34 ` Jordan Crouse [this message] 2018-09-26 14:34 ` Jordan Crouse 2018-10-01 20:56 ` Saravana Kannan 2018-10-01 20:56 ` Saravana Kannan 2018-10-01 21:26 ` Jordan Crouse 2018-10-01 21:26 ` Jordan Crouse 2018-10-01 21:51 ` Saravana Kannan 2018-10-01 21:51 ` Saravana Kannan 2018-09-26 14:42 ` Georgi Djakov 2018-09-26 14:42 ` Georgi Djakov 2018-09-26 14:48 ` Sudeep Holla 2018-09-26 14:48 ` Sudeep Holla 2018-09-26 15:03 ` Georgi Djakov 2018-09-26 15:03 ` Georgi Djakov 2018-10-01 23:49 ` Saravana Kannan 2018-10-01 23:49 ` Saravana Kannan 2018-10-02 11:17 ` Sudeep Holla 2018-10-02 11:17 ` Sudeep Holla 2018-10-02 18:56 ` Saravana Kannan 2018-10-02 18:56 ` Saravana Kannan 2018-10-03 9:33 ` Sudeep Holla 2018-10-03 9:33 ` Sudeep Holla 2018-10-03 18:06 ` Saravana Kannan 2018-10-03 18:06 ` Saravana Kannan 2018-10-10 15:02 ` Sudeep Holla 2018-10-10 15:02 ` Sudeep Holla 2018-11-27 18:05 ` Georgi Djakov 2018-11-27 18:05 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 3/8] interconnect: Allow endpoints translation via DT Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 4/8] interconnect: Add debugfs support Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 5/8] interconnect: qcom: Add RPM communication Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-09-25 18:17 ` Rob Herring 2018-09-25 18:17 ` Rob Herring 2018-10-02 11:02 ` Georgi Djakov 2018-10-02 11:02 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 6/8] dt-bindings: interconnect: Document qcom,msm8916 NoC bindings Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 6/8] dt-bindings: interconnect: Document qcom, msm8916 " Georgi Djakov 2018-09-25 18:22 ` [PATCH v9 6/8] dt-bindings: interconnect: Document qcom,msm8916 " Rob Herring 2018-09-25 18:22 ` Rob Herring 2018-10-02 11:02 ` Georgi Djakov 2018-10-02 11:02 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 7/8] interconnect: qcom: Add msm8916 interconnect provider driver Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-08-31 14:01 ` [PATCH v9 8/8] MAINTAINERS: add a maintainer for the interconnect API Georgi Djakov 2018-08-31 14:01 ` Georgi Djakov 2018-09-04 10:24 ` [PATCH v9 0/8] Introduce on-chip " Amit Kucheria 2018-09-04 10:24 ` Amit Kucheria 2018-09-04 10:24 ` Amit Kucheria 2018-09-04 23:36 ` Stephen Rothwell 2018-09-04 23:36 ` Stephen Rothwell 2018-09-04 23:36 ` Stephen Rothwell 2018-09-05 14:50 ` Georgi Djakov 2018-09-05 14:50 ` Georgi Djakov 2018-09-05 14:50 ` Georgi Djakov 2018-09-05 15:05 ` Stephen Rothwell 2018-09-05 15:05 ` Stephen Rothwell 2018-09-05 15:05 ` Stephen Rothwell
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180926143432.GH10761@jcrouse-lnx.qualcomm.com \ --to=jcrouse@codeaurora.org \ --cc=abailon@baylibre.com \ --cc=amit.kucheria@linaro.org \ --cc=arnd@arndb.de \ --cc=bjorn.andersson@linaro.org \ --cc=daidavid1@codeaurora.org \ --cc=devicetree@vger.kernel.org \ --cc=evgreen@chromium.org \ --cc=georgi.djakov@linaro.org \ --cc=gregkh@linuxfoundation.org \ --cc=khilman@baylibre.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=mark.rutland@arm.com \ --cc=maxime.ripard@bootlin.com \ --cc=mturquette@baylibre.com \ --cc=rjw@rjwysocki.net \ --cc=robdclark@gmail.com \ --cc=robh@kernel.org \ --cc=seansw@qti.qualcomm.com \ --cc=skannan@codeaurora.org \ --cc=vincent.guittot@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.