Apple M1 IOMMU Driver Merged For Linux 5.15, Intel Scalable Mode By Default
While Linux 5.13 landed initial Apple Silicon M1 support, it was just the very initial bits. Now for Linux 5.15 we are seeing another step in the bring-up with the community-created Apple M1 IOMMU driver being merged.
Sent in as part of the IOMMU subsystem updates for the Linux 5.15 kernel is the DART IOMMU driver for Apple M1 chips. This IOMMU driver was created by the community as part of the "Asahi Linux" project.
The IOMMU is, of course, vital and needed in turn for getting their in-progress display driver up and running along with other functionality on this Apple Arm chip like USB and PCIe. The PCIe is of course also necessary for WiFi and Ethernet bring-up on the M1.
This IOMMU on the Apple M1 has been a bit challenging for the developers to deal with as the hardware is fixed to using a 16K pagesize while there is ongoing work to improve the infrastructure so it will play happy when using a kernel with 4K CPU pagesize.
The "DART" IOMMU driver is now mainline as of this pull. This pull also has optimizations around IOMMU map/unmap performance when mapping/unmapping a number of pages of the same page size that is supported by the IOMMU hardware. On the Intel side, Linux 5.15 flips on the VT-d scalable mode by default.
Sent in as part of the IOMMU subsystem updates for the Linux 5.15 kernel is the DART IOMMU driver for Apple M1 chips. This IOMMU driver was created by the community as part of the "Asahi Linux" project.
The IOMMU is, of course, vital and needed in turn for getting their in-progress display driver up and running along with other functionality on this Apple Arm chip like USB and PCIe. The PCIe is of course also necessary for WiFi and Ethernet bring-up on the M1.
This IOMMU on the Apple M1 has been a bit challenging for the developers to deal with as the hardware is fixed to using a 16K pagesize while there is ongoing work to improve the infrastructure so it will play happy when using a kernel with 4K CPU pagesize.
The "DART" IOMMU driver is now mainline as of this pull. This pull also has optimizations around IOMMU map/unmap performance when mapping/unmapping a number of pages of the same page size that is supported by the IOMMU hardware. On the Intel side, Linux 5.15 flips on the VT-d scalable mode by default.
2 Comments