Le noyau Linux commence à prendre en charge Thunderbolt pour les appareils Apple M. M1/M2/M3 prennent les devants dans la prise en charge du protocole USB4

📅 2026-09-01

Résumé :

Grâce au travail des développeurs du projet Asahi Linux, le noyau Linux prendra bientôt en charge le protocole USB4 sur les appareils équipés de puces M1/M2/M3. Cet ensemble de fonctions existait auparavant dans le code en aval maintenu par Asahi Linux. L'importance de cette soumission est principalement de promouvoir l'entrée officielle des pilotes concernés dans la ligne principale Linux.

L'architecture USB4 d'Apple est différente des PC ordinaires :

Le protocole USB4 fourni par Apple dans les appareils équipés de puces M est différent des PC ordinaires. Chaque interface Apple USB4 Type-C contient un module matériel appelé ACIO, qui intègre le coprocesseur Cortex-M3, le routage hôte USB4, le plan de contrôle hôte natif et DART IOMMU.

Ces matériels ne sont pas continuellement exposés au processeur principal. Le processeur principal ne peut accéder aux périphériques internes que via la fenêtre MMIO de 16 Mo après l'exécution du coprocesseur ACIO. Par conséquent, le pilote doit mettre sous tension le module ACIO en fonction de l'état de la connexion de l'interface, démarrer le coprocesseur RTKit, puis créer dynamiquement des périphériques DART et NHI.

Lorsque l'interface est déconnectée, l'appareil doit être détruit et éteint dans l'ordre inverse. C'est également la principale raison pour laquelle les appareils Apple équipés de puces M ont longtemps été difficiles à obtenir le support Linux en amont.

Les pilotes NHI nécessitent de nombreux traitements spécifiques à Apple :

Le correctif soumis par les ingénieurs d'Asahi Linux ajoute plus de 1 000 lignes de code de pilote pour le protocole Apple Thunderbolt. Le correctif modifie également le noyau Thunderbolt existant du noyau Linux. Apple NHI permet à chaque Ring d'avoir une conception d'interruption indépendante, et sa disposition des registres, sa configuration en Ring et la gestion des terminaux sont différentes de celles du contrôleur USB4 universel.

Dans M3, Apple met en œuvre une gestion plus stricte et fournit jusqu'à 24 entrées IOMMU pour différents anneaux TX/RX afin d'améliorer l'isolation entre les différents canaux de données. Le matériel Apple n'implémente pas non plus certains des registres d'allocation de bande passante USB3 attendus par le code USB4 existant de Linux, c'est pourquoi le correctif soumis par les ingénieurs d'Asahi Linux a spécifiquement ajouté Quirk pour contourner le processus associé.

La prise en charge de Thunderbolt n'est pas encore complète :

Le premier lot de code ne prend actuellement en charge que les connexions hôte à hôte XDomain et le tunneling USB3 sur USB4. Le tunneling des périphériques PCIe et le tunneling vidéo DP ne sont pas encore terminés. Par conséquent, le bon fonctionnement des scénarios tels que les stations d'accueil Thunderbolt, les cartes graphiques externes, les périphériques PCIe haut débit et les moniteurs connectés via le protocole Thunderbolt n'est toujours pas garanti.

Le correctif soumis par les ingénieurs d'Asahi Linux a été développé et testé sur la plate-forme M1/M2/M3, mais il est actuellement en phase de révision de la liste de diffusion du noyau Linux et n'a pas encore été officiellement fusionné dans le noyau Linux.

Tags associés

Articles similaires

Commentaires

0/500
Captcha (click to refresh)
Aucun commentaire