Re: [PATCH 0/6] mailbox: arm_mhu: add support to use in doorbell mode
From: Sudeep Holla
Date: Thu Jun 06 2019 - 11:45:02 EST
On Thu, Jun 06, 2019 at 10:20:40AM -0500, Jassi Brar wrote:
> On Thu, Jun 6, 2019 at 7:51 AM Sudeep Holla <sudeep.holla@xxxxxxx> wrote:
> > > BTW, this is not going to be the end of SCMI troubles (I believe
> > > that's what his client is). SCMI will eventually have to be broken up
> > > in layers (protocol and transport) for many legit platforms to use it.
> > > That is mbox_send_message() will have to be replaced by, say,
> > > platform_mbox_send() in drivers/firmware/arm_scmi/driver.c OR the
> > > platforms have to have shmem and each mailbox controller driver (that
> > > could ever be used under scmi) will have to implement "doorbell
> > > emulation" mode. That is the reason I am not letting the way paved for
> > > such emulations.
> > >
> > While I don't dislike or disagree with separate transport in SCMI which
> > I have invested time and realised that I will duplicate mailbox framework
> > at the end.
> Can you please share the code? Or is it no more available?
> > So I am against it only because of duplication and extra
> > layer of indirection which has performance impact(we have this seen in
> > sched governor for DVFS).
> I don't see why the overhead should increase noticeably.
Simple, if 2 protocols share the same channel, then the requests are
serialised. E.g. if bits 0 and 1 are allocated for protocol#1
and bits 2 and 3 for protocol#2 and protocol#1 has higher latency
requirements like sched-governor DVFS and there are 3-4 pending requests
on protocol#2, then the incoming request for protocol#1 is blocked.
> > So idea wise, it's good and I don't disagree
> > with practically seen performance impact. Hence I thought it's sane to
> > do something I am proposing.
> Please suggest how is SCMI supposed to work on ~15 controllers
> upstream (except tegra-hsp) ?
Do you mean we have to implement platform layer to make it work ?
That's not necessary IMO.
> > It also avoids coming up with virtual DT
> > nodes for this layer of abstract which I am completely against.
> I don't see why virtual DT nodes would be needed for platform layer.
So how will 2 or more different users of the same mailbox identify the
bits allocated for them ?