All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Jassi Brar <jaswinder.singh@linaro.org>
Cc: Jassi Brar <jassisinghbrar@gmail.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Anna, Suman" <s-anna@ti.com>,
	Loic Pallardy <loic.pallardy@st.com>,
	LeyFoon Tan <lftan.linux@gmail.com>,
	Craig McGeachie <slapdau@yahoo.com.au>,
	Courtney Cavin <courtney.cavin@sonymobile.com>,
	Rob Herring <robherring2@gmail.com>,
	Josh Cartwright <joshc@codeaurora.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Kumar Gala <galak@codeaurora.org>,
	"ks.giri@samsung.com" <ks.giri@samsung.com>
Subject: Re: [PATCHv5 2/4] mailbox: Introduce framework for mailbox
Date: Mon, 19 May 2014 15:08:36 +0200	[thread overview]
Message-ID: <4435081.P3BKoakBJD@wuerfel> (raw)
In-Reply-To: <CAJe_Zhe_VFTpPW0sKBsqit347MR7QmEDvzvQTyh1DWr3v991tg@mail.gmail.com>

On Friday 16 May 2014 19:03:25 Jassi Brar wrote:
> >> +/**
> >> + * struct mbox_controller - Controller of a class of communication chans
> >> + * @dev:             Device backing this controller
> >> + * @controller_name: Literal name of the controller.
> >> + * @ops:             Operators that work on each communication chan
> >> + * @chans:           Null terminated array of chans.
> >> + * @txdone_irq:              Indicates if the controller can report to API when
> >> + *                   the last transmitted data was read by the remote.
> >> + *                   Eg, if it has some TX ACK irq.
> >> + * @txdone_poll:     If the controller can read but not report the TX
> >> + *                   done. Ex, some register shows the TX status but
> >> + *                   no interrupt rises. Ignored if 'txdone_irq' is set.
> >> + * @txpoll_period:   If 'txdone_poll' is in effect, the API polls for
> >> + *                   last TX's status after these many millisecs
> >> + */
> >> +struct mbox_controller {
> >> +     struct device *dev;
> >> +     struct mbox_chan_ops *ops;
> >> +     struct mbox_chan *chans;
> >> +     int num_chans;
> >> +     bool txdone_irq;
> >> +     bool txdone_poll;
> >> +     unsigned txpoll_period;
> >> +     struct mbox_chan *(*of_xlate)(struct mbox_controller *mbox,
> >> +                                     const struct of_phandle_args *sp);
> >> +     /*
> >> +      * If the controller supports only TXDONE_BY_POLL,
> >> +      * this timer polls all the links for txdone.
> >> +      */
> >> +     struct timer_list poll;
> >> +     unsigned period;
> >> +     /* Hook to add to the global controller list */
> >> +     struct list_head node;
> >> +} __aligned(32);
> >
> > What is the __aligned(32) for?
> >
> Attempt to align access to mailbox?

I still don't understand why it matters. This data structure is internal
to the kernel, at least I don't see anything that is accessed by the
hardware here. Note that anything that allocates a mbox_controller through
kmalloc will not get the alignment from here anyway, but will get the
default slab alignment instead (which happens to also be 32 bytes on
ARM).

> I am still open to opinion about whether the mailbox ownership should
> be exclusive or shared among clients. Need to handle async messages
> from remote is one reason one might want more than one client to own a
> channel. Allowing for RX via notifiers might be one option but that
> breaks semantics of 'ownership' of a mailbox channel.

I don't have a strong opinion on that.

>  Also, some platform might need to communicate with remote master
> during very early boot like for initializing system timers and clocks.
> The API isn't working then.

Do you have an example for a platform like that? I'd expect that normally
we can have a boot loader that sets up the system timer to work good
enough for us to get into normal driver initialization.

	Arnd

  reply	other threads:[~2014-05-19 13:08 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-15  6:08 [PATCHv5 0/4] Common Mailbox Framework Jassi Brar
2014-05-15  6:10 ` [PATCHv5 1/4] mailbox: rename pl320-ipc specific mailbox.h Jassi Brar
2014-05-15  6:11 ` [PATCHv5 2/4] mailbox: Introduce framework for mailbox Jassi Brar
2014-05-15 14:27   ` Arnd Bergmann
2014-05-16 13:33     ` Jassi Brar
2014-05-19 13:08       ` Arnd Bergmann [this message]
2014-05-19 18:03         ` Jassi Brar
2014-05-19 19:55           ` Bjorn Andersson
2014-05-19 20:01             ` Arnd Bergmann
2014-05-20 18:11             ` Jassi Brar
2014-05-29 15:43       ` Matt Porter
2014-05-30  5:31         ` Jassi Brar
2014-06-02 15:14           ` Matt Porter
2014-06-02 17:11             ` Jassi Brar
     [not found]               ` <CABb+yY3ZYqtT+R0PwZDtpW0O0SsbxTyiYmXaseZHoj4Nr6UBPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-02 22:04                 ` Matt Porter
2014-06-02 22:04                   ` Matt Porter
2014-06-03  9:35               ` Sudeep Holla
2014-06-03 10:21                 ` Jassi Brar
2014-06-03 15:06                   ` Sudeep Holla
     [not found]                   ` <CAJe_ZheA_2PwzFGwx2rdba0oVsAKRnwK02XE-8nPY6K5NKpdTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-05 11:12                     ` Matt Porter
2014-06-05 11:12                       ` Matt Porter
2014-06-05 11:39                       ` Jassi Brar
2014-06-05 11:39                         ` Jassi Brar
2014-06-11 16:07                       ` Mark Brown
2014-05-21 17:27   ` Mark Brown
2014-05-21 18:14     ` Arnd Bergmann
2014-05-28  4:20     ` Jassi Brar
2014-05-28 15:50       ` Suman Anna
2014-06-11 15:37       ` Mark Brown
2014-05-15  6:11 ` [PATCHv5 3/4] mailbox: Fix TX completion init Jassi Brar
2014-05-15  6:12 ` [PATCHv5 4/4] mailbox: Fix deleteing poll timer 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=4435081.P3BKoakBJD@wuerfel \
    --to=arnd@arndb.de \
    --cc=courtney.cavin@sonymobile.com \
    --cc=galak@codeaurora.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jassisinghbrar@gmail.com \
    --cc=jaswinder.singh@linaro.org \
    --cc=joshc@codeaurora.org \
    --cc=ks.giri@samsung.com \
    --cc=lftan.linux@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=loic.pallardy@st.com \
    --cc=robherring2@gmail.com \
    --cc=s-anna@ti.com \
    --cc=slapdau@yahoo.com.au \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.