devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: Meador Inge <meador_inge@mentor.com>
Cc: linuxppc-dev@lists.ozlabs.org,
	devicetree-discuss@lists.ozlabs.org, "Blanchard,
	Hollis" <Hollis_Blanchard@mentor.com>
Subject: Re: [RFC] MPIC Bindings and Bindings for AMP Systems
Date: Thu, 6 Jan 2011 14:10:23 -0600	[thread overview]
Message-ID: <20110106141023.43a0d35f@udp111988uds.am.freescale.net> (raw)
In-Reply-To: <4D252FDC.4090404@mentor.com>

On Wed, 5 Jan 2011 20:58:36 -0600
Meador Inge <meador_inge@mentor.com> wrote:

> On 01/03/2011 02:22 PM, Scott Wood wrote:
> > On Wed, 22 Dec 2010 23:58:09 -0600
> > Perhaps a something like this, with "doorbell" being a new standard
> > hw-independent service with its own binding:
> >
> > msg1: mpic-msg@1400 {
> > 	compatible = "fsl,mpic-v3.0-msg";
> > 	reg =<0x1400 0x200>;
> > 	interrupts<176 2 178 2>;
> >
> > 	// We have message registers 0 and 2 for sending,
> > 	// and 1 and 3 for receiving.
> > 	// If absent, we own all message registers in this block.
> > 	fsl,mpic-msg-send-mask =<0x5>;
> > 	fsl,mpic-msg-receive-mask =<0xa>;

Alternatively, we could describe available ranges similarly to the
existing MSI binding.

> After thinking about it a little more, I like the idea of having a 
> 'receive-mask' to further partition the message register blocks.  This 
> would also allow us to remove IRQs from the 'interrupts' property that 
> are not being used on a given node.  As for the 'send-mask', why would 
> we want to block sending messages?  It seems to me that it would be 
> reasonable to allow a node to send a message to any other node.

The send-mask, like the receive-mask, is optional.  If for your
application it makes sense to give all partitions send access to all
doorbells, then you can do that.

You might want to provide a send-mask if you are not specifying to the
partition how to use the message registers, just splitting them up for
their own internal use (especially if you have a larger multicore system
where each partition has multiple CPUs).

Or, you may want to add a layer of robustness against one partition
interfering with a message register that is only supposed to be used by
another partition, even if there are instructions elsewhere about which
message register to use for what purpose.

Plus, it provides symmetry between send and receive -- otherwise, you'd
have a numberspace that is limited to your own resources on receive,
but a global numberspace on send.

> As an example, consider a four core system.  Then we might have 
> something like (only relevant DTS bits shown):
> 
> Core 0:
>     mpic-msgr-block@1400 {
>        // Receives messages on registers 1 and 3.
>        interrupts = <0xb1 2 0xb3 2>;
>        receive-mask = <0xa>;
>     };
> Core 1:
>     mpic-msgr-block@1400 {
>        // Receives messages on register 2.
>        interrupts = <0xb2 2>;
>        receive-mask = <0x4>;
>     };
> Core 2:
>     mpic-msgr-block@1400 {
>        // Receives messages on register 0.
>        interrupts = <0xb0 2>;
>        receive-mask = <0x1>;
>     };
> Core 3:
>     mpic-msgr-block@1400 {
>        // Receives no messages.
>        interrupts = <>;
>     };

For core 3 I'd just leave out the node entirely.  Note that the absence
of a receive-mask indicates that all the registers are available (i.e.
normal unpartitioned case), not none.

-Scott

  reply	other threads:[~2011-01-06 20:10 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-23  5:58 [RFC] MPIC Bindings and Bindings for AMP Systems Meador Inge
     [not found] ` <4D12E4F1.2030004-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2011-01-03 20:22   ` Scott Wood
     [not found]     ` <20110103142200.738c0b17-N/eSCTBpGwP7j4BuCOFQISmX4OfbXNuMKnGXBo5VDl8@public.gmane.org>
2011-01-04 23:52       ` Meador Inge
     [not found]         ` <4D23B2C6.8050607-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2011-01-05  0:13           ` Scott Wood
2011-01-05 21:19             ` Meador Inge
2011-01-06  2:58       ` Meador Inge
2011-01-06 20:10         ` Scott Wood [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-12-23  6:51 Meador Inge
     [not found] ` <4D12F171.7010103-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2010-12-23 18:56   ` Grant Likely
2010-12-23 21:49     ` Meador Inge
     [not found]       ` <4D13C402.2090209-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2010-12-23 22:33         ` Grant Likely
2011-01-03 19:51           ` Scott Wood
2011-01-05 21:58             ` Meador Inge
     [not found]               ` <4D24E99F.90908-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
2011-01-05 22:09                 ` Scott Wood
2011-01-05 22:49                   ` Blanchard, Hollis
2011-01-05 23:07                     ` Scott Wood
2011-01-06 21:52                       ` Blanchard, Hollis
     [not found]                         ` <DD7A9A95166BF4418C4C1EB2033B6EE2038FA8FD-1KJr3DFo5IITHwIYFunNKKbYDNqAj0Ws@public.gmane.org>
2011-01-07 15:48                           ` Grant Likely
2011-01-07 16:00                             ` Blanchard, Hollis
2011-01-07 16:44                               ` Grant Likely
     [not found]                                 ` <AANLkTikY8z3V-opZ6K3j28QfyBV_p8jEAhxOKywjX27T-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-01-07 20:30                                   ` Blanchard, Hollis
     [not found]                                     ` <DD7A9A95166BF4418C4C1EB2033B6EE2038FA90D-1KJr3DFo5IITHwIYFunNKKbYDNqAj0Ws@public.gmane.org>
2011-01-07 20:57                                       ` Scott Wood
     [not found]           ` <20101223223325.GK20384-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2011-01-05 22:20             ` Meador Inge
2011-01-04 20:14       ` Blanchard, Hollis

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=20110106141023.43a0d35f@udp111988uds.am.freescale.net \
    --to=scottwood@freescale.com \
    --cc=Hollis_Blanchard@mentor.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=meador_inge@mentor.com \
    /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;
as well as URLs for NNTP newsgroup(s).