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.