From: Sudeep Holla <sudeep.holla@arm.com>
To: Peng Fan <peng.fan@nxp.com>
Cc: "arnd@arndb.de" <arnd@arndb.de>,
Viresh Kumar <viresh.kumar@linaro.org>,
"jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Sudeep Holla <sudeep.holla@arm.com>,
"cristian.marussi@arm.com" <cristian.marussi@arm.com>
Subject: Re: [PATCH V2] firmware: arm_scmi: Make scmi core independent of transport type
Date: Wed, 15 Jan 2020 14:33:25 +0000 [thread overview]
Message-ID: <20200115143325.GA12340@bogus> (raw)
In-Reply-To: <AM0PR04MB4481AA813CB53AC0D2C238C788370@AM0PR04MB4481.eurprd04.prod.outlook.com>
On Wed, Jan 15, 2020 at 08:53:51AM +0000, Peng Fan wrote:
>
> > Subject: [PATCH V2] firmware: arm_scmi: Make scmi core independent of
> > transport type
> >
> > The SCMI specification is fairly independent of the transport protocol, which
> > can be a simple mailbox (already implemented) or anything else.
> > The current Linux implementation however is very much dependent of the
> > mailbox transport layer.
> >
> > This patch makes the SCMI core code (driver.c) independent of the mailbox
> > transport layer and moves all mailbox related code to a new
> > file: mailbox.c.
> >
> > We can now implement more transport protocols to transport SCMI messages,
> > some of the transport protocols getting discussed currently are SMC/HVC,
> > SPCI (built on top of SMC/HVC), OPTEE based mailbox (similar to SPCI), and
> > vitio based transport as alternative to mailbox.
> >
> > The transport protocols just need to provide struct scmi_desc, which also
> > implements the struct scmi_transport_ops.
>
> I need put shmem for each protocol, is this expected?
No, it's optional. If some/all protocols need dedicated channel for whatever
reasons(like DVFS/Perf for polling based transfers), they can specify.
Absence of dedicated channel infers all protocols share the channel(s).
> Sudeep,
> I am able to use smc to directly transport data,
> with adding a new file, just named smc.c including a scmi_smc_desc,
Good.
> But I not find a good way to pass smc id to smc transport file.
>
IMO, we have to deal this in transport specific init. I am thinking of
chan_setup in context of this patch. Does that make sense ?
[...]
> +
> + scmi_clk: protocol@14 {
> + reg = <0x14>;
> + shmem = <&cpu_scp_lpri>;
> + #clock-cells = <1>;
> + clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>,
> + <&clk_ext3>, <&clk_ext4>;
> + clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
> + "clk_ext3", "clk_ext4";
This caught my attention, why do we need these clocks phandle list and
clock names above ? Ideally just need scmi_clk phandle and the index to
refer and names need to be provided by the firmware.
--
Regards,
Sudeep
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com>
To: Peng Fan <peng.fan@nxp.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
"arnd@arndb.de" <arnd@arndb.de>,
"jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>,
"cristian.marussi@arm.com" <cristian.marussi@arm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Sudeep Holla <sudeep.holla@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH V2] firmware: arm_scmi: Make scmi core independent of transport type
Date: Wed, 15 Jan 2020 14:33:25 +0000 [thread overview]
Message-ID: <20200115143325.GA12340@bogus> (raw)
In-Reply-To: <AM0PR04MB4481AA813CB53AC0D2C238C788370@AM0PR04MB4481.eurprd04.prod.outlook.com>
On Wed, Jan 15, 2020 at 08:53:51AM +0000, Peng Fan wrote:
>
> > Subject: [PATCH V2] firmware: arm_scmi: Make scmi core independent of
> > transport type
> >
> > The SCMI specification is fairly independent of the transport protocol, which
> > can be a simple mailbox (already implemented) or anything else.
> > The current Linux implementation however is very much dependent of the
> > mailbox transport layer.
> >
> > This patch makes the SCMI core code (driver.c) independent of the mailbox
> > transport layer and moves all mailbox related code to a new
> > file: mailbox.c.
> >
> > We can now implement more transport protocols to transport SCMI messages,
> > some of the transport protocols getting discussed currently are SMC/HVC,
> > SPCI (built on top of SMC/HVC), OPTEE based mailbox (similar to SPCI), and
> > vitio based transport as alternative to mailbox.
> >
> > The transport protocols just need to provide struct scmi_desc, which also
> > implements the struct scmi_transport_ops.
>
> I need put shmem for each protocol, is this expected?
No, it's optional. If some/all protocols need dedicated channel for whatever
reasons(like DVFS/Perf for polling based transfers), they can specify.
Absence of dedicated channel infers all protocols share the channel(s).
> Sudeep,
> I am able to use smc to directly transport data,
> with adding a new file, just named smc.c including a scmi_smc_desc,
Good.
> But I not find a good way to pass smc id to smc transport file.
>
IMO, we have to deal this in transport specific init. I am thinking of
chan_setup in context of this patch. Does that make sense ?
[...]
> +
> + scmi_clk: protocol@14 {
> + reg = <0x14>;
> + shmem = <&cpu_scp_lpri>;
> + #clock-cells = <1>;
> + clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>,
> + <&clk_ext3>, <&clk_ext4>;
> + clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
> + "clk_ext3", "clk_ext4";
This caught my attention, why do we need these clocks phandle list and
clock names above ? Ideally just need scmi_clk phandle and the index to
refer and names need to be provided by the firmware.
--
Regards,
Sudeep
next prev parent reply other threads:[~2020-01-15 14:34 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-10 9:43 [PATCH V2] firmware: arm_scmi: Make scmi core independent of transport type Viresh Kumar
2020-01-10 9:43 ` Viresh Kumar
2020-01-10 11:15 ` Arnd Bergmann
2020-01-10 11:15 ` Arnd Bergmann
2020-01-13 6:41 ` Viresh Kumar
2020-01-13 6:41 ` Viresh Kumar
2020-01-13 11:36 ` Arnd Bergmann
2020-01-13 11:36 ` Arnd Bergmann
2020-01-14 9:26 ` Viresh Kumar
2020-01-14 9:26 ` Viresh Kumar
2020-01-14 9:56 ` Arnd Bergmann
2020-01-14 9:56 ` Arnd Bergmann
2020-01-14 11:11 ` Viresh Kumar
2020-01-14 11:11 ` Viresh Kumar
2020-01-14 11:17 ` Arnd Bergmann
2020-01-14 11:17 ` Arnd Bergmann
2020-01-14 17:41 ` Sudeep Holla
2020-01-14 17:41 ` Sudeep Holla
2020-01-15 8:20 ` Peng Fan
2020-01-15 8:20 ` Peng Fan
2020-01-15 19:37 ` peter.hilber
2020-01-15 19:37 ` peter.hilber
2020-01-14 11:03 ` Sudeep Holla
2020-01-14 11:03 ` Sudeep Holla
2020-01-15 8:53 ` Peng Fan
2020-01-15 8:53 ` Peng Fan
2020-01-15 14:33 ` Sudeep Holla [this message]
2020-01-15 14:33 ` Sudeep Holla
2020-01-17 2:26 ` Peng Fan
2020-01-17 2:26 ` Peng Fan
2020-01-16 15:21 ` kbuild test robot
2020-01-16 15:21 ` kbuild test robot
2020-01-16 15:21 ` kbuild test robot
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=20200115143325.GA12340@bogus \
--to=sudeep.holla@arm.com \
--cc=arnd@arndb.de \
--cc=cristian.marussi@arm.com \
--cc=jassisinghbrar@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peng.fan@nxp.com \
--cc=viresh.kumar@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: link
Be 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.