Re: [PATCH RFC] staging: Add driver to communicate with the T2 Security Chip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2025-03-09 8:40 am, Aditya Garg wrote:
From: Paul Pawlowski <paul@xxxxxxxx>

This patch adds a driver named apple-bce, to add support for the T2
Security Chip found on certain Macs.

The driver has 3 main components:

BCE (Buffer Copy Engine) - this is what the files in the root directory
are for. This estabilishes a basic communication channel with the T2.
VHCI and Audio both require this component.

VHCI - this is a virtual USB host controller; keyboard, mouse and
other system components are provided by this component (other
drivers use this host controller to provide more functionality).

Audio - a driver for the T2 audio interface, currently only audio
output is supported.

Currently, suspend and resume for VHCI is broken after a firmware
update in iBridge since macOS Sonoma.

Signed-off-by: Paul Pawlowski <paul@xxxxxxxx>
Signed-off-by: Aditya Garg <gargaditya08@xxxxxxxx>
---
drivers/staging/Kconfig                       |   2 +
drivers/staging/Makefile                      |   1 +
drivers/staging/apple-bce/Kconfig             |  18 +
drivers/staging/apple-bce/Makefile            |  28 +
drivers/staging/apple-bce/apple_bce.c         | 448 ++++++++++
drivers/staging/apple-bce/apple_bce.h         |  44 +
drivers/staging/apple-bce/audio/audio.c       | 714 ++++++++++++++++
drivers/staging/apple-bce/audio/audio.h       | 128 +++
drivers/staging/apple-bce/audio/description.h |  45 ++
drivers/staging/apple-bce/audio/pcm.c         | 311 +++++++
drivers/staging/apple-bce/audio/pcm.h         |  19 +
drivers/staging/apple-bce/audio/protocol.c    | 350 ++++++++
drivers/staging/apple-bce/audio/protocol.h    | 148 ++++
.../staging/apple-bce/audio/protocol_bce.c    | 229 ++++++
.../staging/apple-bce/audio/protocol_bce.h    |  75 ++
drivers/staging/apple-bce/mailbox.c           | 154 ++++
drivers/staging/apple-bce/mailbox.h           |  56 ++
drivers/staging/apple-bce/queue.c             | 393 +++++++++
drivers/staging/apple-bce/queue.h             | 180 +++++
drivers/staging/apple-bce/queue_dma.c         | 223 +++++
drivers/staging/apple-bce/queue_dma.h         |  53 ++
drivers/staging/apple-bce/vhci/command.h      | 207 +++++
drivers/staging/apple-bce/vhci/queue.c        | 271 +++++++
drivers/staging/apple-bce/vhci/queue.h        |  79 ++
drivers/staging/apple-bce/vhci/transfer.c     | 664 +++++++++++++++
drivers/staging/apple-bce/vhci/transfer.h     |  76 ++
drivers/staging/apple-bce/vhci/vhci.c         | 764 ++++++++++++++++++
drivers/staging/apple-bce/vhci/vhci.h         |  55 ++
28 files changed, 5735 insertions(+)

I'm slightly puzzled why this was sent to the IOMMU maintainers when it doesn't touch any IOMMU code, nor even contain any reference to the IOMMU API at all...

Since I don't know enough about audio or USB code, all I can really say here is to echo Greg's comment that, judging by that diffstat alone, this probably wants to be at least 3-5 separate patches, adding each functional piece in manageable chunks.

Thanks,
Robin.




[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux