linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: andy.green@linaro.org (Andy Green)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 00/14] drivers: mailbox: framework creation
Date: Sat, 27 Apr 2013 09:48:05 +0800	[thread overview]
Message-ID: <517B2E55.4070708@linaro.org> (raw)
In-Reply-To: <517B242D.7040902@ti.com>

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".

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.

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

-Andy

-- 
Andy Green | Fujitsu Landing Team Leader
Linaro.org ? Open source software for ARM SoCs | Follow Linaro
http://facebook.com/pages/Linaro/155974581091106  - 
http://twitter.com/#!/linaroorg - http://linaro.org/linaro-blog

  reply	other threads:[~2013-04-27  1:48 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 [this message]
2013-04-29 15:32                           ` Suman Anna
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=517B2E55.4070708@linaro.org \
    --to=andy.green@linaro.org \
    --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).