[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ab1db6d6-3eff-0fec-6647-3bc1910bc8b2@linaro.org>
Date: Tue, 2 Oct 2018 14:02:42 +0300
From: Georgi Djakov <georgi.djakov@...aro.org>
To: Rob Herring <robh@...nel.org>
Cc: linux-pm@...r.kernel.org, gregkh@...uxfoundation.org,
rjw@...ysocki.net, mturquette@...libre.com, khilman@...libre.com,
vincent.guittot@...aro.org, skannan@...eaurora.org,
bjorn.andersson@...aro.org, amit.kucheria@...aro.org,
seansw@....qualcomm.com, daidavid1@...eaurora.org,
evgreen@...omium.org, mark.rutland@....com,
lorenzo.pieralisi@....com, abailon@...libre.com,
maxime.ripard@...tlin.com, arnd@...db.de,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH v9 5/8] interconnect: qcom: Add RPM communication
Hi Rob,
On 09/25/2018 09:17 PM, Rob Herring wrote:
> On Fri, Aug 31, 2018 at 05:01:48PM +0300, Georgi Djakov wrote:
>> On some Qualcomm SoCs, there is a remote processor, which controls some of
>> the Network-On-Chip interconnect resources. Other CPUs express their needs
>> by communicating with this processor. Add a driver to handle communication
>> with this remote processor.
>
> I don't think you should have a binding nor a separate driver for this.
> It's not actually an interconnect provider, so it doesn't belong in
> bindings/interconnect. And it just looks like abuse of DT to instantiate
> some driver.
The idea of this binding here is to represent the remote processor, that
is also in control of some of the shared interconnect paths. The
bandwidth needs of the DSPs and modem are also reported to this remote
processor. It also takes over some of the bandwidth management while the
application CPU is powered down. So yes, it is also a kind of an
interconnect provider, so IMO it should be in DT.
We already have similar DT sub-nodes for remote regulator and clock
resources and this is just adding another sub-node for the interconnect
bandwidth related subsystem.
This, together with each separate NoC hardware block (in patch 6/8) are
building up the whole topology. The configuration of interconnect paths
consists of a combination of register writes, clock scaling and sending
a message to the remote processor.
> All the driver amounts to is a 1 function wrapper for RPM_KEY_BW
> messages. Can't this be part of the parent?
I am re-using this part for other SoCs and have separated it to avoid
duplication.
Thanks,
Georgi
Powered by blists - more mailing lists