Apple M1 IOMMU Driver Merged For Linux 5.15, Intel Scalable Mode By Default

Written by Michael Larabel in Apple on 4 September 2021 at 05:45 AM EDT. 2 Comments
APPLE
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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week