RE: 回复: 回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt: Interrupt communication enable
Peng Fan
peng.fan at nxp.com
Thu Jan 9 01:49:10 CET 2025
> Subject: Re: 回复: 回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware:
> scmi: smt: Interrupt communication enable
>
> On 1/8/25 3:55 AM, Alice Guo (OSS) wrote:
> >> -----邮件原件-----
> >> 发件人: Marek Vasut <marex at denx.de>
> >> 发送时间: 2025年1月7日 19:11
> >> 收件人: Alice Guo (OSS) <alice.guo at oss.nxp.com>; Tom Rini
> >> <trini at konsulko.com>; Stefano Babic <sbabic at denx.de>; Fabio
> Estevam
> >> <festevam at gmail.com>; dl-uboot-imx <uboot-imx at nxp.com>;
> Lukasz
> >> Majewski <lukma at denx.de>; Sean Anderson
> <seanga2 at gmail.com>; Simon
> >> Glass <sjg at chromium.org>; Alper Nebi Yasak
> <alpernebiyasak at gmail.com>
> >> 抄送: u-boot at lists.denx.de; tharvey at gateworks.com; Viorel Suman
> >> <viorel.suman at nxp.com>; Ye Li <ye.li at nxp.com>
> >> 主题: Re: 回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi:
> smt:
> >> Interrupt communication enable
> >>
> >> On 1/7/25 4:24 AM, Alice Guo (OSS) wrote:
> >>>> 主题: Re: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt:
> >>>> Interrupt communication enable
> >>>>
> >>>> On 1/6/25 7:17 AM, Alice Guo (OSS) wrote:
> >>>>>> On 1/3/25 7:45 AM, Alice Guo wrote:
> >>>>>>> From: Viorel Suman <viorel.suman at nxp.com>
> >>>>>>>
> >>>>>>> When interrupt driven communication is supported
> >>>>>>
> >>>>>> U-Boot does not use interrupts.
> >>>>>>
> >>>>>>> , the transport allows
> >>>>>>> the caller to choose between interrupt and polling driven
> >>>>>>> communications. To make the choice, the channel flags are
> used.
> >>>>>>> i.MX95 uses interrupt driven communication so that Channel
> flags
> >>>>>>> should be set to 1.
> >>>>>>
> >>>>>> How does this work in U-Boot, which does not use interrupts ?
> >>>>>
> >>>>> Hi Marek,
> >>>>>
> >>>>> The clearer explanation will be added in the commit log.
> >>>>>
> >>>>> This is based on Arm® System Control and Management
> Interface
> >>>>> Platform
> >>>> Design Document Version 3.2 (Document number: DEN0056E)
> 5.1.2. When
> >>>> Bit[0] of Channel flags is 1, the System Manager runs on M core
> >>>> will trigger general-purpose interrupts to A core. U-Boot polls
> >>>> General-purpose Status (GSR) until GIPn is set.
> >>>> If U-Boot does polling, why does this bit need to be set, shouldn't
> >>>> the bit be cleared instead ?
> >>>
> >>> My commit log may have caused your misunderstanding. If the bit
> is
> >>> not set,
> >> the System Manager will not request doorbell interrupt. The
> following
> >> is the code from imx-sm:
> >>>
> >>> if (callee)
> >>> {
> >>> /* Generate completion interrupt */
> >>> if ((buf->channelFlags & SMT_COMP_INT) != 0U)
> >>> {
> >>> status = RPC_SMT_DoorbellRing(smtChannel);
> >>> }
> >>> }
> >> Can the SM be updated instead ?
> >
> > System Manager not only interacts with U-Boot, but also with
> Linux/QNX/RTOS. System Manager cannot be changed.
> How come other SCMI providers (like optee) do not need this kind of
> change ?
Could we use a Kconfig option here, saying CONFIG_SCMI_INTR_EN?
Then to i.MX95, select this Kconfig option and not break others
saying optee.
There is less chance for System Manager to change. If you would
like to do some change, you could do a PR, I could ask owner to
give a look.
Thanks,
Peng.
More information about the U-Boot
mailing list