devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Jassi Brar <jassisinghbrar-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Jassi Brar
	<jaswinder.singh-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Devicetree List
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	lkml <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	kernel-F5mvAk5X5gdBDgjK7y7TUQ@public.gmane.org
Subject: Re: [PATCH 3/3] mailbox: Add support for ST's Mailbox IP
Date: Thu, 19 Mar 2015 09:17:42 +0000	[thread overview]
Message-ID: <20150319091742.GX3318@x1> (raw)
In-Reply-To: <CABb+yY0HufMEDy7ANj8KV0hamvM-Tgy4GBkwD73wm3DMumcbaQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Thu, 19 Mar 2015, Jassi Brar wrote:

> On Wed, Mar 18, 2015 at 9:04 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote:
> > On Wed, 18 Mar 2015, Jassi Brar wrote:
> >
> >> On Wed, Mar 18, 2015 at 6:47 PM, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote:
> >> > On Tue, 03 Mar 2015, Jassi Brar wrote:
> >> >
> >> >> On 3 March 2015 at 17:04, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> >> >> > On Tuesday 03 March 2015 10:41:23 Lee Jones wrote:
> >> >> >> +
> >> >> >> +/*
> >> >> >> + * struct sti_mbox_msg - sti mailbox message description
> >> >> >> + * @dsize:             data payload size
> >> >> >> + * @pdata:             message data payload
> >> >> >> + */
> >> >> >> +struct sti_mbox_msg {
> >> >> >> +       u32             dsize;
> >> >> >> +       u8              *pdata;
> >> >> >> +};
> >> >> >
> >> >> > As mentioned in another thread, we may just want to add a 'size'
> >> >> > argument to the message send function, and a default helper for
> >> >> > messages with size of 32 bits.
> >> >> >
> >> >> Case-a) 'size' is a member of the payload structure itself
> >> >>     The extra 'size' argument would only be used for sanity check.
> >> >>     This driver seems so. Lee, can you not do without 'dsize'?
> >> >>
> >> >> Case-b) 'size' is not a member of payload structure:
> >> >>      b1)  payload is fixed length, that is 'size' := sizeof(struct my_payload)
> >> >>             Here the size argument is redundant.
> >> >>
> >> >>      b2)  payload length varies
> >> >>             This case is highly unlikely because there would be no way
> >> >> for remote to know how many bytes to read as the payload. Not to mean
> >> >> we can't do without the 'size' argument.
> >> >>
> >> >> Your opinion has huge weight, but I would like to be enlightened
> >> >> before agreeing.
> >> >
> >> > Let's simplify this.
> >> >
> >> > If you want to have varying length payloads, you have to carry the
> >> > size in the payload.  If you wish to force fixed size payloads, then
> >> > you may do without a size segment.
> >> >
> >> > Do you really want to force all users of Mailbox to use fixed size
> >> > payloads?
> >> >
> >> No. I only observed the fact that every known mailbox controller
> >> driver already has a way to figure out the payload length because
> >> either the protocol uses fixed length payloads or has the 'size' field
> >> in every payload.
> >> I am yet to see a platform that uses both, then the 'size' argument
> >> will be helpful but still not necessary.
> >
> > I see.  So your real concern is that controllers shouldn't have two
> > means of obtaining size.
> >
> I think right now there's not much need to expand the api for 'u32'
> sized payloads.
> 
> > Arnd's idea of placing the message size as part of the send_message()
> > call is fine, but it's still going to end up in the payload isn't it?
> >
> ... or it will be implied by sizeof(struct my_packet) if the protocol
> has finite set of payloads.
> 
> > And what about receiving?
> >
> Similar to sending - controller driver passes pointer to RX buffer
> which the client parses. Remember the protocol would already have a
> way to communicate payload length.

So this is the bit that's getting me.  How do you pass payload length
to the remote processor if you don't have it in the payload?  Unless
we are using cross-terminology of course.  I'm thinking that the
payload is the entire message sent to the remote proc i.e:
[[ size ][ data]].

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-03-19  9:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03 10:41 [PATCH 0/3] mailbox: New mailbox driver for ST Lee Jones
2015-03-03 10:41 ` [PATCH 1/3] ARM: STi: stih407-family: Add nodes for Mailbox Lee Jones
2015-03-03 10:41 ` [PATCH 2/3] mailbox: dt: Supply bindings for ST's Mailbox IP Lee Jones
2015-03-04 13:31   ` Jassi Brar
2015-03-03 10:41 ` [PATCH 3/3] mailbox: Add support " Lee Jones
2015-03-03 11:34   ` Arnd Bergmann
2015-03-03 15:18     ` Jassi Brar
     [not found]       ` <CAJe_ZhdjPa3C_TUDAPA3fS3K83FGB-GaAjVBjtsow2mp5h8NRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-18 13:17         ` Lee Jones
2015-03-18 13:53           ` Jassi Brar
2015-03-18 15:34             ` Lee Jones
2015-03-19  5:50               ` Jassi Brar
     [not found]                 ` <CABb+yY0HufMEDy7ANj8KV0hamvM-Tgy4GBkwD73wm3DMumcbaQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-19  9:17                   ` Lee Jones [this message]
2015-03-19 12:41                     ` Jassi Brar
2015-03-23 15:06                       ` Lee Jones
     [not found]   ` <1425379283-1567-4-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-04 13:27     ` Jassi Brar
2015-03-18 13:12       ` Lee Jones
2015-03-18 13:32         ` Jassi Brar
2015-03-18 15:26           ` Lee Jones
2015-03-19  5:13             ` Jassi Brar
2015-03-19  9:57               ` Lee Jones
2015-03-19 12:43                 ` Jassi Brar

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=20150319091742.GX3318@x1 \
    --to=lee.jones-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=jassisinghbrar-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=jaswinder.singh-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=kernel-F5mvAk5X5gdBDgjK7y7TUQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.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;
as well as URLs for NNTP newsgroup(s).