From: Cristian Marussi <cristian.marussi@arm.com>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: Cristian Marussi <cristian.marussi@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, arm-scmi@vger.kernel.org,
sudeep.holla@arm.com, james.quinlan@broadcom.com,
vincent.guittot@linaro.org, etienne.carriere@st.com,
peng.fan@oss.nxp.com, michal.simek@amd.com,
quic_sibis@quicinc.com, quic_nkela@quicinc.com, ptosi@google.com,
dan.carpenter@linaro.org, souvik.chakravarty@arm.com
Subject: Re: [PATCH 0/8] Make SCMI transport as standalone drivers
Date: Fri, 26 Jul 2024 16:17:15 +0100 [thread overview]
Message-ID: <ZqO9-ywEVvqdMRGF@pluto> (raw)
In-Reply-To: <0dd4e916-6f7f-4427-a217-5b7a290b1b3f@gmail.com>
On Fri, Jul 12, 2024 at 02:02:32PM -0700, Florian Fainelli wrote:
> On 7/10/24 10:31, Cristian Marussi wrote:
> > Hi all,
> >
> > Till now the SCMI transport layer was being built embedded into in the core
> > SCMI stack.
> >
> > Some of these transports, despite being currently part of the main SCMI
> > module, are indeed also registered with different subsystems like optee or
> > virtio, and actively probed also by those: this led to a few awkward and
> > convoluted tricks to properly handle such interactions at boot time in the
> > SCMI stack.
> >
> > Moreover some partner expressed the desire to be able to fully modularize
> > the transports components.
> >
> > This series aim to make all such transports as standalone drivers that can
> > be optionally loaded as modules.
> >
> > In order to do this, at first some new mechanism is introduced to support
> > this new capability while maintaining, in parallel, the old legacy embedded
> > transports; then each transport, one by one, is transitioned to be a
> > standalone driver and finally the old legacy support for embedded transport
> > is removed.
> >
> > Patch [1/8] is a mostly unrelated (but much needed) clean-up from Peng,
> > which I included in this series to avoid conflicts at merge.
> >
> > Patch [2/8] simply collects the existing datagram manipulation helpers in a
> > pair of function pointers structures, in preparation for later reworks.
> >
> > Patch [3/8] adds the bulk of the new logic to the core SCMI stack and then
> > each existing transport is transitioned to be a standalone driver in
> > patches 4,5,6,7 while shuffling around the compatibles. (no DT change is
> > needed of curse for backward compatibility)
> > While doing this I kept the module authorship in line with the main
> > author(S) as spitted out by git-blame.
> >
> > Finally patch [8/8] removes all the legacy dead code from the core SCMI
> > stack.
> >
> > No new symbol EXPORT has been added.
> >
> > The new transport drivers have been tested, as built-in and LKM, as
> > follows:
> >
> > - mailbox on JUNO
> > - virtio on emulation
> > - optee on QEMU/optee using Linaro setup
> >
> > Exercised using the regular SCMI drivers stack and the SCMI ACS suite,
> > testing commands, replies, delayed responses and notification.
> >
> > Multiple virtual SCMI instances support has been tested too.
> >
> > SMC has NOT been tested/exercised at run-time, only compile-tested.
> > (due to lack of hardware)
> >
> > Note that in this new setup, all the probe deferral and retries between the
> > SCMI core stack and the transports has been removed, since no more needed.
> >
> > Moreover the new drivers have been tested also with a fully modularized
> > SCMI stack, i.e.:
> >
> > scmi-core.ko + scmi-module.ko + scmi_transport_*.ko [ + vendor modules ]
> >
> > ToBeDone:
> > - completely remove any dependency at build time at the Kconfig level between
> > the SCMI core and the transport drivers: so that the transports will be
> > dependent only on the related subsystems (optee/virtio/mailbox/smc)
> > (easy to be done but maybe it is not worth...)
> > - integrate per-platform transport configuration capabilities
> > (max_rx_timeout_ms & friends..)
> >
> > Based on sudeep/for-next/scmi/updates.
> >
> > Any feedback, and especially testing (:D) is welcome.
>
> Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Thanks for testing this, Florian.
Cristian
next prev parent reply other threads:[~2024-07-26 15:17 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-10 17:31 [PATCH 0/8] Make SCMI transport as standalone drivers Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 1/8] firmware: arm_scmi: Introduce setup_shmem_iomap Cristian Marussi
2024-07-12 19:44 ` kernel test robot
2024-07-26 15:18 ` Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 2/8] firmware: arm_scmi: Introduce packet handling helpers Cristian Marussi
2024-07-11 10:43 ` Peng Fan
2024-07-11 14:08 ` Cristian Marussi
2024-07-23 13:41 ` Etienne CARRIERE
2024-07-26 14:57 ` Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 3/8] firmware: arm_scmi: Add support for standalone transport drivers Cristian Marussi
2024-07-11 12:54 ` Peng Fan
2024-07-11 14:18 ` Cristian Marussi
2024-07-23 13:39 ` Etienne CARRIERE
2024-07-26 14:59 ` Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 4/8] firmware: arm_scmi: Make MBOX transport a standalone driver Cristian Marussi
2024-07-11 12:56 ` Peng Fan
2024-07-23 13:41 ` Etienne CARRIERE
2024-07-26 15:00 ` Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 5/8] firmware: arm_scmi: Make SMC " Cristian Marussi
2024-07-10 21:04 ` Nikunj Kela
2024-07-11 10:09 ` Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 6/8] firmware: arm_scmi: Make OPTEE " Cristian Marussi
2024-07-11 12:57 ` Peng Fan
2024-07-11 14:20 ` Cristian Marussi
2024-07-26 15:01 ` Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 7/8] firmware: arm_scmi: Make VirtIO " Cristian Marussi
2024-07-10 17:31 ` [PATCH v2 8/8] firmware: arm_scmi: Remove legacy transport-layer code Cristian Marussi
2024-07-11 13:26 ` [PATCH 0/8] Make SCMI transport as standalone drivers Peng Fan
2024-07-11 14:22 ` Cristian Marussi
2024-07-23 13:36 ` Etienne CARRIERE
2024-07-26 15:14 ` Cristian Marussi
2024-07-12 21:02 ` Florian Fainelli
2024-07-26 15:17 ` Cristian Marussi [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-07-07 0:20 Cristian Marussi
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=ZqO9-ywEVvqdMRGF@pluto \
--to=cristian.marussi@arm.com \
--cc=arm-scmi@vger.kernel.org \
--cc=dan.carpenter@linaro.org \
--cc=etienne.carriere@st.com \
--cc=f.fainelli@gmail.com \
--cc=james.quinlan@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@amd.com \
--cc=peng.fan@oss.nxp.com \
--cc=ptosi@google.com \
--cc=quic_nkela@quicinc.com \
--cc=quic_sibis@quicinc.com \
--cc=souvik.chakravarty@arm.com \
--cc=sudeep.holla@arm.com \
--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: 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.