linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: s-anna@ti.com (Suman Anna)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 00/14] drivers: mailbox: framework creation
Date: Mon, 29 Apr 2013 10:32:20 -0500	[thread overview]
Message-ID: <517E9284.1010209@ti.com> (raw)
In-Reply-To: <517B2E55.4070708@linaro.org>

Hi Andy,

On 04/26/2013 08:48 PM, Andy Green wrote:
> On 27/04/13 09:04, the mail apparently from Suman Anna included:
> 
> Hi Suman -
> 
>> Even though both the scenarios look very similar, I believe there are
>> some slight differences. All the devices belonging to a controller may
>> not be of the same type (meaning, intended towards the same remote or be
>> used interchangeably with one another). It is definitely possible if you
>> have a similar scenario to the DMA physical channels and your remote
>> rx interrupt can identify the device/channel to process. This would be
>> very much dependent on the architecture of a controller. The particular
>> example that I have in mind is s/w clients between the same set of
>> remote and host entities using the same device - the send part is anyway
>> arbitrated by the controller, and the same received message can be
>> delivered to the clients, with the clients making the decision whether
>> the packet belongs to them or not. I agree that all remote-ends will not
>> be able to cope up intermixed requests, but isn't this again a
>> controller architecture dependent?
> 
> Maybe it's helpful to describe our situation more concretely, because
> the problem is not coming from "the architecture of the [mailbox]
> controller".

Thanks for explaining the usecase. I do think that similar approaches
will become more common (TI AM335 has something similar as well - though
it is related to suspend). The right word should have been "controller
functional integration", I said it as s/w architecture or usage model.
In your case, it is clear that you need time-shared exclusive access,
whereas I am talking about simultaneous-shared usecases.

> 
> In the SoC we work on clock and subsystem power control registers, a
> serial bus, and some other assets are not directly accessible from
> Linux.  We must ask a coprocessor to operate these for us, using the
> mailbox.
> 
> So at any one time, the clock driver or voltagedomain driver for the SoC
> may want to own the mailbox and perform one or more operations over it
> synchronously, in some cases on the remote side involving transactions
> on a serial bus.  We don't want other transactions to be occurring while
> we wait for the serial bus to complete what the driver who started that
> asked for, for example.
> 
> We can cope with this by having an outer driver mediate access to the
> mailbox.  But then there are multiple sync primitives like completions
> and notifiers per operation, because your core already does this.
> 
> In short the FIFO + sync operations approach your core implements
> doesn't fit our use case.  That can be our problem, in which case we'll
> live with the outer mediation driver on top of the mailbox, or it can be
> a sign the fixed choice of FIFO + sync operations in your core did not
> quite hit the nail on the head to really model all the facets of legit
> mailbox usage.

I agree that the current code doesn't address this usage. The changes
(should have them ready in the next couple of days) I am working on
actually makes this conditional.

> 
> At least, this real scenario should be interesting to think about before
> rejecting ^^

No, I didn't reject anything, we are dealing with two contrasting
usecases dependent on the functional integration, and we have to find a
middle ground.

regards
Suman

  reply	other threads:[~2013-04-29 15:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-13  3:23 [PATCHv3 00/14] drivers: mailbox: framework creation Suman Anna
2013-03-21 11:39 ` Linus Walleij
2013-03-21 23:22 ` Stephen Rothwell
2013-03-21 23:37   ` Anna, Suman
2013-04-21  2:40 ` Jassi Brar
2013-04-22 15:56   ` Anna, Suman
2013-04-23  4:51     ` Jassi Brar
2013-04-23 19:20       ` Anna, Suman
2013-04-23 23:30         ` Andy Green
2013-04-24  4:39         ` Jassi Brar
2013-04-24  8:08           ` Loic PALLARDY
2013-04-24  8:56             ` Jassi Brar
2013-04-24 23:16               ` Suman Anna
2013-04-25  5:20                 ` Jassi Brar
2013-04-25 22:29                   ` Suman Anna
2013-04-25 23:51                     ` Andy Green
2013-04-26  3:46                     ` Jassi Brar
2013-04-27  1:04                       ` Suman Anna
2013-04-27  1:48                         ` Andy Green
2013-04-29 15:32                           ` Suman Anna [this message]
2013-04-27  4:51                         ` Jassi Brar
2013-04-27 18:05                           ` [PATCH 1/3] mailbox: rename pl320-ipc specific mailbox.h jaswinder.singh at linaro.org
2013-04-29 12:46                             ` Mark Langsdorf
2013-04-29 16:00                           ` [PATCHv3 00/14] drivers: mailbox: framework creation Suman Anna
2013-04-29 16:49                             ` Jassi Brar
     [not found]                           ` <1367086496-28647-1-git-send-email-jaswinder.singh@linaro.org>
2013-04-29 16:44                             ` [RFC 3/3] mailbox: pl320: Introduce common API driver Suman Anna
2013-04-29 16:57                               ` Jassi Brar
2013-04-29 17:06                                 ` Mark Langsdorf
2013-04-29 17:28                                   ` Jassi Brar
     [not found]                           ` <1367086474-28614-1-git-send-email-jaswinder.singh@linaro.org>
2013-05-04  2:20                             ` [RFC 2/3] mailbox: Introduce a new common API Suman Anna
2013-05-04 19:08                               ` Jassi Brar
2013-05-06 23:45                                 ` Suman Anna
2013-05-07  7:40                                   ` Jassi Brar
2013-05-07 21:48                                     ` Suman Anna
2013-05-08  5:44                                       ` Jassi Brar
2013-05-09  1:25                                         ` Suman Anna
2013-05-09 16:35                                           ` Jassi Brar
2013-05-10  0:18                                             ` Suman Anna
2013-05-10 10:06                                               ` Jassi Brar
2013-05-10 16:41                                                 ` Suman Anna
2013-04-24  7:39         ` [PATCHv3 00/14] drivers: mailbox: framework creation Loic PALLARDY
2013-04-24  7:59           ` Jassi Brar
2013-04-24  8:39             ` Loic PALLARDY

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=517E9284.1010209@ti.com \
    --to=s-anna@ti.com \
    --cc=linux-arm-kernel@lists.infradead.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).