Ядро Linux начинает завершать поддержку Thunderbolt для устройств Apple M. M1/M2/M3 берут на себя ведущую роль в поддержке протокола USB4.

📅 2026-09-01

Аннотация:

Благодаря работе разработчиков проекта Asahi Linux ядро ​​Linux вскоре будет поддерживать протокол USB4 на устройствах с чипами M1/M2/M3. Этот набор функций ранее существовал в исходном коде, поддерживаемом Asahi Linux. Целью этого предложения является, главным образом, продвижение соответствующих драйверов для официального выхода в основную ветку Linux.

Архитектура Apple USB4 отличается от архитектуры обычных ПК:

Протокол USB4, предоставляемый Apple в устройствах, оснащенных чипами M, отличается от обычных ПК. Каждый интерфейс Apple USB4 Type-C содержит аппаратный модуль ACIO, который объединяет сопроцессор Cortex-M3, маршрутизацию хоста USB4, собственную плоскость управления хостом и DART IOMMU.

Это оборудование не подключено постоянно к главному процессору. Главный процессор может получить доступ к внутренним устройствам только через окно MMIO размером 16 МБ после работы сопроцессора ACIO. Поэтому драйверу необходимо включить модуль ACIO в соответствии с состоянием подключения интерфейса, запустить сопроцессор RTKit, а затем динамически создать устройства DART и NHI.

При отключении интерфейса устройство необходимо уничтожить и выключить в обратном порядке. Это также основная причина, по которой устройствам Apple, оснащенным чипами M, долгое время было трудно получить поддержку Linux.

Драйверы NHI требуют большой обработки, специфичной для Apple:

Патч, представленный инженерами Asahi Linux, добавляет более 1000 строк кода драйвера для протокола Apple Thunderbolt. Патч также изменяет существующее ядро ​​Thunderbolt ядра Linux. Apple NHI позволяет каждому кольцу иметь независимый дизайн прерываний, а его расположение регистров, конфигурация кольца и обработка терминалов отличаются от универсального контроллера USB4.

В M3 Apple реализует более строгое управление и предоставляет до 24 записей IOMMU для разных колец TX/RX, чтобы улучшить изоляцию между различными каналами данных. Аппаратное обеспечение Apple также не реализует некоторые регистры распределения полосы пропускания USB3, ожидаемые существующим кодом USB4 в Linux, поэтому в патче, представленном инженерами Asahi Linux, специально добавлен Quirk для обхода связанного процесса.

Поддержка Thunderbolt еще не полная:

Первая партия кода в настоящее время поддерживает только соединения между хостами XDomain и туннелирование USB3-over-USB4. Туннелирование устройств PCIe и видеотуннелирование DP еще не завершены. Таким образом, правильная работа таких сценариев, как док-станции Thunderbolt, внешние видеокарты, высокоскоростные устройства PCIe и мониторы, подключенные по протоколу Thunderbolt, по-прежнему не гарантируется.

Патч, представленный инженерами Asahi Linux, был разработан и протестирован на платформе M1/M2/M3, но в настоящее время он находится на стадии проверки списка рассылки ядра Linux и еще не был официально объединен с ядром Linux.

Связанные теги

Похожие статьи

Комментарии

0/500
Captcha (click to refresh)
Нет комментариев