回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt: Interrupt communication enable
Alice Guo (OSS)
alice.guo at oss.nxp.com
Tue Jan 7 04:24:15 CET 2025
> 主题: 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);
}
}
Best Regards,
Alice Guo
More information about the U-Boot
mailing list