From: Rob Herring <robh@kernel.org>
To: Sven Peter <sven@svenpeter.dev>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Hector Martin <marcan@marcan.st>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Arnd Bergmann <arnd@arndb.de>, Keith Busch <kbusch@kernel.org>,
"axboe@fb.com" <axboe@fb.com>, "hch@lst.de" <hch@lst.de>,
"sagi@grimberg.me" <sagi@grimberg.me>,
Marc Zyngier <maz@kernel.org>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org
Subject: Re: [PATCH 5/9] soc: apple: Add RTKit IPC library
Date: Mon, 4 Apr 2022 10:02:29 -0500 [thread overview]
Message-ID: <YksIhWQIUHsoWEMi@robh.at.kernel.org> (raw)
In-Reply-To: <35f5fdbf-faac-457b-a225-35d7141f6b2e@www.fastmail.com>
On Sat, Apr 02, 2022 at 03:51:46PM +0200, Sven Peter wrote:
> On Wed, Mar 23, 2022, at 12:19, Krzysztof Kozlowski wrote:
> > On 21/03/2022 17:50, Sven Peter wrote:
> >> Apple SoCs such as the M1 come with multiple embedded co-processors
> >> running proprietary firmware. Communication with those is established
> >> over a simple mailbox using the RTKit IPC protocol.
> >>
> >> Signed-off-by: Sven Peter <sven@svenpeter.dev>
> >> ---
> >> drivers/soc/apple/Kconfig | 13 +
> >> drivers/soc/apple/Makefile | 3 +
> >> drivers/soc/apple/rtkit-crashlog.c | 147 +++++
> >> drivers/soc/apple/rtkit-internal.h | 76 +++
> >> drivers/soc/apple/rtkit.c | 842 +++++++++++++++++++++++++++++
> >> include/linux/soc/apple/rtkit.h | 203 +++++++
> >> 6 files changed, 1284 insertions(+)
> >
> > Isn't this some implementation of a mailbox? If so, it should be in
> > drivers/mailbox. Please don't put all stuff in soc/apple, that's not how
> > Linux is organized. To drivers/soc usually we put drivers which do not
> > fit regular subsystems.
> >
>
> I put this into soc/apple because I don't think it fits within the mailbox
> framework very well.
> (It actually uses the mailbox framework for the actual communication
> with the hardware with a driver that's already upstream.)
>
> Essentially, the mailbox subsystem provides a common API to send and
> receive messages over indepedent hardware channels and devicetree bindings
> to describe the relationship between those channels and other drivers.
>
> One of the features that doesn't really fit is that we need to be able
> to start, shutdown and re-start these co-processors. The NVMe driver
remoteproc does that. Did you look at it? Most remoteproc drivers use
some combination of mailboxes and shared memory.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Sven Peter <sven@svenpeter.dev>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Hector Martin <marcan@marcan.st>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Arnd Bergmann <arnd@arndb.de>, Keith Busch <kbusch@kernel.org>,
"axboe@fb.com" <axboe@fb.com>, "hch@lst.de" <hch@lst.de>,
"sagi@grimberg.me" <sagi@grimberg.me>,
Marc Zyngier <maz@kernel.org>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org
Subject: Re: [PATCH 5/9] soc: apple: Add RTKit IPC library
Date: Mon, 4 Apr 2022 10:02:29 -0500 [thread overview]
Message-ID: <YksIhWQIUHsoWEMi@robh.at.kernel.org> (raw)
In-Reply-To: <35f5fdbf-faac-457b-a225-35d7141f6b2e@www.fastmail.com>
On Sat, Apr 02, 2022 at 03:51:46PM +0200, Sven Peter wrote:
> On Wed, Mar 23, 2022, at 12:19, Krzysztof Kozlowski wrote:
> > On 21/03/2022 17:50, Sven Peter wrote:
> >> Apple SoCs such as the M1 come with multiple embedded co-processors
> >> running proprietary firmware. Communication with those is established
> >> over a simple mailbox using the RTKit IPC protocol.
> >>
> >> Signed-off-by: Sven Peter <sven@svenpeter.dev>
> >> ---
> >> drivers/soc/apple/Kconfig | 13 +
> >> drivers/soc/apple/Makefile | 3 +
> >> drivers/soc/apple/rtkit-crashlog.c | 147 +++++
> >> drivers/soc/apple/rtkit-internal.h | 76 +++
> >> drivers/soc/apple/rtkit.c | 842 +++++++++++++++++++++++++++++
> >> include/linux/soc/apple/rtkit.h | 203 +++++++
> >> 6 files changed, 1284 insertions(+)
> >
> > Isn't this some implementation of a mailbox? If so, it should be in
> > drivers/mailbox. Please don't put all stuff in soc/apple, that's not how
> > Linux is organized. To drivers/soc usually we put drivers which do not
> > fit regular subsystems.
> >
>
> I put this into soc/apple because I don't think it fits within the mailbox
> framework very well.
> (It actually uses the mailbox framework for the actual communication
> with the hardware with a driver that's already upstream.)
>
> Essentially, the mailbox subsystem provides a common API to send and
> receive messages over indepedent hardware channels and devicetree bindings
> to describe the relationship between those channels and other drivers.
>
> One of the features that doesn't really fit is that we need to be able
> to start, shutdown and re-start these co-processors. The NVMe driver
remoteproc does that. Did you look at it? Most remoteproc drivers use
some combination of mailboxes and shared memory.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-04 15:02 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-21 16:50 [PATCH 0/9] Apple M1 (Pro/Max) NVMe driver Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` [PATCH 1/9] dt-bindings: soc: apple: Add Apple SART Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-31 21:23 ` Rob Herring
2022-03-31 21:23 ` Rob Herring
2022-04-02 12:58 ` Sven Peter
2022-04-02 12:58 ` Sven Peter
2022-03-21 16:50 ` [PATCH 2/9] dt-bindings: soc: apple: Add ANS NVMe Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-23 11:14 ` Krzysztof Kozlowski
2022-03-23 11:14 ` Krzysztof Kozlowski
2022-04-02 13:05 ` Sven Peter
2022-04-02 13:05 ` Sven Peter
2022-04-02 16:06 ` Krzysztof Kozlowski
2022-04-02 16:06 ` Krzysztof Kozlowski
2022-03-21 16:50 ` [PATCH 3/9] soc: apple: Always include Makefile Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` [PATCH 4/9] soc: apple: Add SART driver Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 17:07 ` Arnd Bergmann
2022-03-21 17:07 ` Arnd Bergmann
2022-04-02 12:38 ` Sven Peter
2022-04-02 12:38 ` Sven Peter
2022-04-02 19:07 ` Arnd Bergmann
2022-04-02 19:07 ` Arnd Bergmann
2022-04-04 14:58 ` Rob Herring
2022-04-04 14:58 ` Rob Herring
2022-04-04 15:01 ` Hector Martin
2022-04-04 15:01 ` Hector Martin
2022-04-05 15:37 ` Sven Peter
2022-04-05 15:37 ` Sven Peter
2022-03-21 17:17 ` Alyssa Rosenzweig
2022-03-21 17:17 ` Alyssa Rosenzweig
2022-04-02 12:40 ` Sven Peter
2022-04-02 12:40 ` Sven Peter
2022-03-21 16:50 ` [PATCH 5/9] soc: apple: Add RTKit IPC library Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-22 13:13 ` Arnd Bergmann
2022-03-22 13:13 ` Arnd Bergmann
2022-03-22 17:41 ` Robin Murphy
2022-03-22 17:41 ` Robin Murphy
2022-04-02 12:56 ` Sven Peter
2022-04-02 12:56 ` Sven Peter
2022-04-02 18:30 ` Arnd Bergmann
2022-04-02 18:30 ` Arnd Bergmann
2022-04-03 10:45 ` Sven Peter
2022-04-03 10:45 ` Sven Peter
2022-03-22 17:23 ` Alyssa Rosenzweig
2022-03-22 17:23 ` Alyssa Rosenzweig
2022-04-02 12:50 ` Sven Peter
2022-04-02 12:50 ` Sven Peter
2022-03-23 11:19 ` Krzysztof Kozlowski
2022-03-23 11:19 ` Krzysztof Kozlowski
2022-04-02 13:51 ` Sven Peter
2022-04-02 13:51 ` Sven Peter
2022-04-02 16:08 ` Krzysztof Kozlowski
2022-04-02 16:08 ` Krzysztof Kozlowski
2022-04-04 15:02 ` Rob Herring [this message]
2022-04-04 15:02 ` Rob Herring
2022-04-04 15:47 ` Hector Martin
2022-04-04 15:47 ` Hector Martin
2022-03-21 16:50 ` [PATCH 6/9] nvme-apple: Add initial Apple SoC NVMe driver Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 17:01 ` Keith Busch
2022-03-21 17:01 ` Keith Busch
2022-04-02 13:10 ` Sven Peter
2022-04-02 13:10 ` Sven Peter
2022-03-22 13:38 ` Arnd Bergmann
2022-03-22 13:38 ` Arnd Bergmann
2022-04-02 13:34 ` Sven Peter
2022-04-02 13:34 ` Sven Peter
2022-04-02 13:58 ` Janne Grunau
2022-04-02 13:58 ` Janne Grunau
2022-04-02 14:02 ` Sven Peter
2022-04-02 14:02 ` Sven Peter
2022-04-02 21:26 ` Arnd Bergmann
2022-04-02 21:26 ` Arnd Bergmann
2022-03-24 6:16 ` Christoph Hellwig
2022-03-24 6:16 ` Christoph Hellwig
2022-04-02 12:47 ` Sven Peter
2022-04-02 12:47 ` Sven Peter
2022-04-04 15:57 ` Hector Martin
2022-04-04 15:57 ` Hector Martin
2022-04-04 15:59 ` Christoph Hellwig
2022-04-04 15:59 ` Christoph Hellwig
2022-04-04 16:03 ` Sven Peter
2022-04-04 16:03 ` Sven Peter
2022-04-04 16:05 ` hch
2022-04-04 16:05 ` hch
2022-04-04 16:05 ` Hector Martin
2022-04-04 16:05 ` Hector Martin
2022-04-04 18:29 ` Jens Axboe
2022-04-04 18:29 ` Jens Axboe
2022-04-05 6:24 ` Christoph Hellwig
2022-04-05 6:24 ` Christoph Hellwig
2022-03-21 16:50 ` [PATCH 7/9] nvme-apple: Serialize command issue Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-24 6:16 ` Christoph Hellwig
2022-03-24 6:16 ` Christoph Hellwig
2022-04-02 12:42 ` Sven Peter
2022-04-02 12:42 ` Sven Peter
2022-03-21 16:50 ` [PATCH 8/9] nvme-apple: Add support for multiple power domains Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-21 16:50 ` [PATCH 9/9] nvme-apple: Add support for suspend/resume Sven Peter
2022-03-21 16:50 ` Sven Peter
2022-03-24 6:17 ` Christoph Hellwig
2022-03-24 6:17 ` Christoph Hellwig
2022-03-22 17:26 ` [PATCH 0/9] Apple M1 (Pro/Max) NVMe driver Alyssa Rosenzweig
2022-03-22 17:26 ` Alyssa Rosenzweig
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=YksIhWQIUHsoWEMi@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=alyssa@rosenzweig.io \
--cc=arnd@arndb.de \
--cc=axboe@fb.com \
--cc=devicetree@vger.kernel.org \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=marcan@marcan.st \
--cc=maz@kernel.org \
--cc=sagi@grimberg.me \
--cc=sven@svenpeter.dev \
/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.