From: Sudeep Holla <sudeep.holla@arm.com>
To: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Alexey Klimov <Alexey.Klimov@arm.com>
Subject: Re: [PATCH 0/6] mailbox: arm_mhu: add support for subchannels
Date: Wed, 3 May 2017 10:21:23 +0100 [thread overview]
Message-ID: <eb14c6e4-6d05-727a-a55a-a5013e1494fc@arm.com> (raw)
In-Reply-To: <CABb+yY22BF=z=rdT1eNh5XK8H=2+yfoY9qkR2AD5ODUvPOmb6g@mail.gmail.com>
On 03/05/17 04:17, Jassi Brar wrote:
> Hi Sudeep,
>
> On Tue, May 2, 2017 at 7:25 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>> Hi Jassi,
>>
>> This series adds subchannel support to ARM MHU mailbox controller
>> driver. Since SCPI never used second slot, we were able to use the
>> existing driver as is. However, that's changing soon and the new
>> SCMI protocol under development needs subchannel support. If you
>> recall when you initially added this driver, I was pushing for some
>> of these changes like threaded irq. This patch series adds support
>> for the subchannels on ARM MHU controllers.
>>
> There are really no "sub-channels" in the ARM MHU controller. There
> are exactly three channels that work on 32bit registers. The SET/CLEAR
> registers are there to prevent races between local and remote
> firmware, and not to emulate virtual channels operating on single
> bits. Please remember all 32-bits work together to generate one
> signal.
>
If you check 3.4.4 Message Handling Unit (MHU) of Juno TRM [1],
"..the MHU drives the signal using a 32-bit register, with all 32 bits
logically ORed together. The MHU provides a set of registers to enable
software to set, clear, and check the status of each of the bits of this
register independently. The use of 32 bits for each interrupt
line enables software to provide more information about the source of
the interrupt. For example, each bit of the register can be associated
with a type of event that can contribute to raising the interrupt."
So yes, they generate one signal, but that doesn't mean anything. We
have even PMU interrupts tied to single SPI on some SoC. Since the
design of MHU clearly indicates that each bit can be used independently
for different event, for all practical purpose, it can be treated as
different channel.
> You arrived at the "sub-channel" idea only because your protocol uses
> 1-bit messages.
May be. It now uses BIT 0 for one channel and BIT 1 for another on the
same physical channel. How do you propose it support that then ? We have
multiple protocols with the same remote, so this is just used as a
doorbell bit and not carrier of any message.
> This patchset seems rather regressive - reduce from
> 2^32 possible signals to mere 32, by bloating the MHU driver.
>
I don't quite get this. There are only 3 signals as you mentioned above.
Yes there are 2^32 possible values for the register, but how can that be
used ? I don't think that was the design intention at-least from the
above text in the specification. Also the we still continue to support
one channel per physical channel.
> If it's difficult to see how your protocol can be implemented over
> existing controller driver, please let me know.
>
It was a workaround just because there was no other protocol so far.
I just set bit 0 and send it as u32 to send_message.
--
Regards,
Sudeep
[1]
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0515f/DDI0515F_juno_arm_development_platform_soc_trm.pdf
next prev parent reply other threads:[~2017-05-03 9:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-02 13:55 Sudeep Holla
2017-05-02 13:55 ` [PATCH 1/6] mailbox: arm_mhu: reorder header inclusion and drop unneeded ones Sudeep Holla
2017-05-02 13:55 ` [PATCH 2/6] Documentation: devicetree: add bindings to support ARM MHU subchannels Sudeep Holla
2017-05-08 16:10 ` Rob Herring
2017-05-08 16:46 ` Jassi Brar
2017-05-08 17:07 ` Sudeep Holla
2017-05-08 17:52 ` Bjorn Andersson
2017-05-09 9:36 ` Sudeep Holla
2017-05-09 2:50 ` Jassi Brar
2017-05-09 9:58 ` Sudeep Holla
2017-05-09 10:31 ` Jassi Brar
2017-05-09 10:53 ` Sudeep Holla
2017-05-09 11:55 ` Jassi Brar
2017-05-09 12:41 ` Sudeep Holla
2017-05-09 13:29 ` Jassi Brar
2017-05-09 14:20 ` Sudeep Holla
2017-05-08 16:53 ` Sudeep Holla
2017-05-02 13:55 ` [PATCH 3/6] mailbox: arm_mhu: migrate to threaded irq handler Sudeep Holla
2017-05-02 13:55 ` [PATCH 4/6] mailbox: arm_mhu: re-factor data structure to add subchannel support Sudeep Holla
2017-05-02 13:55 ` [PATCH 5/6] mailbox: arm_mhu: add full support for sub-channels Sudeep Holla
2017-05-02 13:55 ` [PATCH 6/6] mailbox: arm_mhu: add name support to record mbox-name Sudeep Holla
2017-05-03 3:17 ` [PATCH 0/6] mailbox: arm_mhu: add support for subchannels Jassi Brar
2017-05-03 9:21 ` Sudeep Holla [this message]
2017-05-05 11:12 ` Jassi Brar
2017-05-05 11:23 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=eb14c6e4-6d05-727a-a55a-a5013e1494fc@arm.com \
--to=sudeep.holla@arm.com \
--cc=Alexey.Klimov@arm.com \
--cc=jassisinghbrar@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®