[PATCH 0/2] firmware: arm_scmi: add notification completion channel

Peng Fan peng.fan at nxp.com
Wed May 8 20:38:42 PDT 2024


Hi Cristian,

> Subject: Re: [PATCH 0/2] firmware: arm_scmi: add notification completion
> channel
> 
> On Tue, May 07, 2024 at 11:34:59PM +0800, Peng Fan (OSS) wrote:
> > Per spec:
> 
> Hi Peng,
> 
> thanks for doing this.
> 
> > Completion interrupts This transport supports polling or interrupt
> > driven modes of communication. In interrupt mode, when the callee
> > completes processing a message, it raises an interrupt to the caller.
> > Hardware support for completion interrupts is optional.
> >
> > i.MX95 SCMI firmware is fully interrupt driven, so Platform expects
> > completion interrupt for Platform to Agent(P2A) notifictions.
> >
> > Add another optional mailbox channel for Agent to notify Platform that
> > notification message has been accepted
> >
> > After notification channel status become freed, Agent will use the new
> > mailbox channel to send completion interrupt to Platform.
> >
> > Add shmem_channel_intr_enabled to check channel flags.
> 
> Glancing through the series I think the bindings and the code are quite good
> and sensible to achieve the addition of the optional P2A completion interrupt.
> 
> Your current solution, though, addresses only the case of a mailbox controller
> providing unidirectional channels. (which I suppose is the one you are using
> on your platform)

Right. i.MX95 use unidirectional channels.

> 
> We should take care to add such optional P2A completion interrupt support
> also for the case of mailboxes sporting bidirectional channels.
> 
> For bidirectional channels we really have already the needed bindings...
> ...no changes there...you have just to also ring the doorbell on that same P2A
> if completion IRQs are requested.
> 
> IOW, when the DT description is made by 2 mboxes + 2 shmem, means we
> have both A2P and P2A provided via bidirectional channels...we currently just
> use the P2A (RX) channel to receive notifs/dresp via rx_callback (so using only
> the platform_to_agent direction)...now we should also ring the P2A doorbell
> on the existing P2A channel if the FLAG_INTR_ENABLED is set to signal the
> completion interrupt on the other direction (agent_to_platform)
> 
> Not sure if I have been clear or make it worst with my explanation :P

Thanks for detailed explanation, it is clear enough. I will update to support
bidirectional channel in V2.

Thanks,
Peng.
> 
> Thanks,
> Cristian




More information about the linux-arm-kernel mailing list