mbox series

[GIT,PULL] Apple SoC RTKit/SART/NVMe driver

Message ID 20220505154020.84638-1-sven@svenpeter.dev (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Apple SoC RTKit/SART/NVMe driver | expand

Pull-request

https://github.com/AsahiLinux/linux.git tags/asahi-soc-rtkit-sart-nvme-for-5.19

Message

Sven Peter May 5, 2022, 3:40 p.m. UTC
Hi SoC Team,

Please merge the Apple SoC NVMe driver and its dependencies for 5.19.
As discussed on the nvme mailing list [1] it's easiest if we take it
entirely through the SoC tree since there's a chance that we will have
more drivers depending on rtkit for 5.19.

Thanks


Sven

[1] https://lore.kernel.org/linux-nvme/CAK8P3a1CO8_Pa=Hk3hcdNfT_eD3PQK2aWDFB9bwk6TCNbGmtEg@mail.gmail.com/

----------------------------------------------------------------
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:

  Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)

are available in the Git repository at:

  https://github.com/AsahiLinux/linux.git tags/asahi-soc-rtkit-sart-nvme-for-5.19

for you to fetch changes up to 5bd2927aceba181b84286e00aa2f56e117e699c3:

  nvme-apple: Add initial Apple SoC NVMe driver (2022-05-02 17:24:45 +0200)

----------------------------------------------------------------
Apple SoC NVMe driver and dependencies:

  - RTKit IPC library required to boot and communicate with
    co-processors embedded inside Apple SoCs
  - SART DMA address filter required to allow some DMA transactions for
    the NVMe co-processor
  - NVMe platform driver

The following minor changes since v3 on the mailing list have been
folded in:

  - sart: %llx -> %pa for a phys_addr_t
  - rtkit:/sart: Drop IS_ENABLED inside headers
  - rtkit: Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL
  - nvme: Set NVME_REQ_CANCELLED in the timeout handler
  - nvme: Use DEFINE_SIMPLE_DEV_PM_OPS instead of #ifdef CONFIG_PM_SLEEP

----------------------------------------------------------------
Sven Peter (6):
      soc: apple: Always include Makefile
      soc: apple: Add RTKit IPC library
      dt-bindings: iommu: Add Apple SART DMA address filter
      soc: apple: Add SART driver
      dt-bindings: nvme: Add Apple ANS NVMe
      nvme-apple: Add initial Apple SoC NVMe driver

 .../devicetree/bindings/iommu/apple,sart.yaml      |   52 +
 .../devicetree/bindings/nvme/apple,nvme-ans.yaml   |  111 ++
 MAINTAINERS                                        |    4 +
 drivers/nvme/host/Kconfig                          |   13 +
 drivers/nvme/host/Makefile                         |    3 +
 drivers/nvme/host/apple.c                          | 1593 ++++++++++++++++++++
 drivers/soc/Makefile                               |    2 +-
 drivers/soc/apple/Kconfig                          |   24 +
 drivers/soc/apple/Makefile                         |    6 +
 drivers/soc/apple/rtkit-crashlog.c                 |  154 ++
 drivers/soc/apple/rtkit-internal.h                 |   62 +
 drivers/soc/apple/rtkit.c                          |  958 ++++++++++++
 drivers/soc/apple/sart.c                           |  328 ++++
 include/linux/soc/apple/rtkit.h                    |  155 ++
 include/linux/soc/apple/sart.h                     |   53 +
 15 files changed, 3517 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/iommu/apple,sart.yaml
 create mode 100644 Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml
 create mode 100644 drivers/nvme/host/apple.c
 create mode 100644 drivers/soc/apple/rtkit-crashlog.c
 create mode 100644 drivers/soc/apple/rtkit-internal.h
 create mode 100644 drivers/soc/apple/rtkit.c
 create mode 100644 drivers/soc/apple/sart.c
 create mode 100644 include/linux/soc/apple/rtkit.h
 create mode 100644 include/linux/soc/apple/sart.h