Re: 回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt: Interrupt communication enable
Marek Vasut
marex at denx.de
Tue Jan 7 12:10:32 CET 2025
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 ?
More information about the U-Boot
mailing list