[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJAp7OgfsVs9C0RNrDnQ5g7heba7JjaYFrj7wVUqT_m+wu-A3A@mail.gmail.com>
Date: Thu, 19 Jun 2014 11:22:41 -0700
From: Bjorn Andersson <bjorn@...o.se>
To: Jassi Brar <jaswinder.singh@...aro.org>
Cc: Kevin Hilman <khilman@...aro.org>,
Kumar Gala <galak@...eaurora.org>,
Lee Jones <lee.jones@...aro.org>,
Bjorn Andersson <bjorn.andersson@...ymobile.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Josh Cartwright <joshc@...eaurora.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
Paul Walmsley <paul@...an.com>
Subject: Re: [PATCH v3 0/3] Qualcomm Resource Power Manager driver
On Wed, Jun 18, 2014 at 8:55 PM, Jassi Brar <jaswinder.singh@...aro.org> wrote:
> On 18 June 2014 22:14, Kevin Hilman <khilman@...aro.org> wrote:
[...]
>> Thinking more about what this RPM driver actually does, and since you
>> mentioned patterns across SoCs, it seems to me the RPM driver bascially
>> just doing the IPC.
>>
>> So, rather than MFD or drivers/soc, it seems to me that it should be
>> implmented as a controller in the new common mailbox framwork[1] being
>> worked on by Jassi Brar (added to Cc.)
>>
>> IIUC, RPM is actually only doing one-way IPC (it only exposes a write()
>> interface to clients) so it seems like a rather simple implementation of
>> a mailbox controller.
>>
> Yup, qcom_rpm.c is exactly what drivers/mailbox/ is meant for.
>
The RPM provides a register file with 80ish registers of variable size, to
program the hardware you write to these registers. Then you write to a register
selector register and then signal an outgoing interrupt.
That is, the interface exposed to the kernel by the SoC is not an mailbox like
interface.
So I do not share your view that this is "exactly what mailbox is meant for",
because if so then you're just re-inventing regmap - with variable size regs.
The reason why I'm not using a regmap as my abstraction between the rpm and the
clients (e.g. regulator driver) is because it only supports fixed size
registers.
To me the mailbox api is supposed to abstract communication hardware, not to
abstract communication between software components.
Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists