Reverse-Engineered Vivante Driver Brings Improved Performance & Fixes For Linux 6.11
The Etnaviv kernel graphics driver that provides reverse-engineered open-source support for Vivante graphics (and NPU) IP has seen a fresh round of patches ready to go for queuing in DRM-Next ahead of the Linux 6.11 cycle kicking off in mid-July.
Of the handful of patches for the Etnaviv Direct Rendering Manager (DRM) driver this cycle is one ot keep TS enabled on MMUv2 cores to yield better performance. The change is to not disable the Tile Status (TS) engine on MMUv2 cores when moving the linear window. The patch explains:
This change should help with improving performance for hardware having newer Vivante graphics IP with MMUv2 cores.
Other Etnaviv work for Linux 6.11 includes fixing NPU clock gating with the NXP i.MX8MP that is also important for performance. There is also a workaround for FE register CDC issues with some Vivante cores, fixing job timeout handling, fixing DMA sync handling, and other fixes.
The full list of Etnaviv driver patches for Linux 6.11 can be found via this pull request.
Of the handful of patches for the Etnaviv Direct Rendering Manager (DRM) driver this cycle is one ot keep TS enabled on MMUv2 cores to yield better performance. The change is to not disable the Tile Status (TS) engine on MMUv2 cores when moving the linear window. The patch explains:
"On MMUv2 cores the linear window is only relevant when starting the FE, before the MMU has been activated. Once the MMU is active, all accesses are translated with no way to bypass the MMU via the linear window. Thus TS ignoring the linear window offset is not an issue on cores with MMUv2 present and there is no need to disable TS when we need to move the linear window."
This change should help with improving performance for hardware having newer Vivante graphics IP with MMUv2 cores.
Other Etnaviv work for Linux 6.11 includes fixing NPU clock gating with the NXP i.MX8MP that is also important for performance. There is also a workaround for FE register CDC issues with some Vivante cores, fixing job timeout handling, fixing DMA sync handling, and other fixes.
The full list of Etnaviv driver patches for Linux 6.11 can be found via this pull request.
Add A Comment