All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: Simon Glass <sjg@chromium.org>
Cc: kettenis@openbsd.org, u-boot@lists.denx.de,
	jh80.chung@samsung.com, trini@konsulko.com, sven@svenpeter.dev,
	marcan@marcan.st, bmeng.cn@gmail.com
Subject: Re: [PATCH 3/8] arm: apple: Add RTKit support
Date: Sat, 22 Jan 2022 20:31:36 +0100 (CET)	[thread overview]
Message-ID: <d3cbceb0a705950a@bloch.sibelius.xs4all.nl> (raw)
In-Reply-To: <CAPnjgZ3JA9cYhEptH22MkftyP_Vf5vEWBj9LKdYUaaWN10D=SQ@mail.gmail.com> (message from Simon Glass on Sat, 22 Jan 2022 10:17:14 -0700)

> From: Simon Glass <sjg@chromium.org>
> Date: Sat, 22 Jan 2022 10:17:14 -0700
> 
> Hi Mark,
> 
> On Sat, 22 Jan 2022 at 06:59, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> >
> > > From: Simon Glass <sjg@chromium.org>
> > > Date: Fri, 21 Jan 2022 18:40:14 -0700
> > >
> > > Hi Mark,
> > >
> > > On Fri, 14 Jan 2022 at 04:05, Mark Kettenis <kettenis@openbsd.org> wrote:
> > > >
> > > > Most Apple IOPs run a firmware that is based on what Apple calls
> > > > RTKit. RTKit implements a common mailbox protocol.  This code
> > > > provides an implementation of the AP side of this protocol,
> > > > providing a function to initialize RTKit-based firmwares as well
> > > > as a function to do a clean shutdown of this firmware.
> > > >
> > > > Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
> > > > ---
> > > >  arch/arm/include/asm/arch-apple/rtkit.h |  11 ++
> > > >  arch/arm/mach-apple/Makefile            |   1 +
> > > >  arch/arm/mach-apple/rtkit.c             | 231 ++++++++++++++++++++++++
> > > >  3 files changed, 243 insertions(+)
> > > >  create mode 100644 arch/arm/include/asm/arch-apple/rtkit.h
> > > >  create mode 100644 arch/arm/mach-apple/rtkit.c
> > >
> > > This should be a driver.
> >
> > This isn't a driver but just a bit of helper code that implements the
> > RTKit protocol.  It will be used by the Apple NVMe driver and a future
> > SMC driver.  The same approach is being taken in Linux.  Since it is
> > intended to be shared, I didn't put it in the NVMe driver itself.
> 
> It just seems to set up and close down the peripheral, so this could
> be a driver. What happens when someone needs to change it for a new
> generation? Normally we would use the compatible string for that, but
> here you have code that might get duplicated or parameterised in
> another way.

The protocol is versioned, and apple_rtkit_init() does the appropriate
version negotation.  Currently we support protocol versions 11 and 12
(which seem to correspond to the firmware distributed with macOS 11
and macOS 12).  But we haven't noticed any real differences between
those versions yet.

> Anyway if you really think this is the right way, it is OK. We do it
> elsewhere, iwc
> 
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Tested on: Macbook Air M1
> Tested-by: Simon Glass <sjg@chromium.org>
> 
> Regards,
> Simon
> 

  reply	other threads:[~2022-01-22 19:31 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-14 11:04 [PATCH 0/8] Apple M1 NVMe storage support Mark Kettenis
2022-01-14 11:04 ` [PATCH 1/8] nvme: Split out PCI support Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-22 12:47     ` Mark Kettenis
2022-01-22 13:18       ` Simon Glass
2022-01-22 14:57         ` Mark Kettenis
2022-01-14 11:04 ` [PATCH 2/8] mailbox: apple: Add driver for Apple IOP mailbox Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-22 13:54     ` Mark Kettenis
2022-01-22 17:17       ` Simon Glass
2022-01-14 11:04 ` [PATCH 3/8] arm: apple: Add RTKit support Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-22 13:59     ` Mark Kettenis
2022-01-22 17:17       ` Simon Glass
2022-01-22 19:31         ` Mark Kettenis [this message]
2022-01-14 11:04 ` [PATCH 4/8] nvme: Introduce driver ops Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-22 13:33     ` Mark Kettenis
2022-01-22 17:17       ` Simon Glass
2022-01-14 11:04 ` [PATCH 5/8] nvme: Add shutdown function Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-14 11:04 ` [PATCH 6/8] power: domain: apple: Add reset support Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-22 14:11     ` Mark Kettenis
2022-01-22 17:17       ` Simon Glass
2022-01-22 19:35         ` Mark Kettenis
2022-01-14 11:04 ` [PATCH 7/8] nvme: apple: Add driver for Apple NVMe storage controller Mark Kettenis
2022-01-22  1:40   ` Simon Glass
2022-01-22 14:45     ` Mark Kettenis
2022-01-22 17:17       ` Simon Glass
2022-01-22 17:41         ` Mark Kettenis
2022-01-22 18:28           ` Simon Glass
2022-01-14 11:04 ` [PATCH 8/8] configs: apple: Add NVMe boot target Mark Kettenis

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=d3cbceb0a705950a@bloch.sibelius.xs4all.nl \
    --to=mark.kettenis@xs4all.nl \
    --cc=bmeng.cn@gmail.com \
    --cc=jh80.chung@samsung.com \
    --cc=kettenis@openbsd.org \
    --cc=marcan@marcan.st \
    --cc=sjg@chromium.org \
    --cc=sven@svenpeter.dev \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /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.