Earlier this week there was the release of a new open-source Linux driver by an engineer at Texas Instruments. The TI DMM-TILER is this new driver and its for the dynamic memory manager block on Texas Instruments hardware. "Its purpose is to organize video/image memory in a 2-dimensional fashion to limit memory bandwidth and facilitate 0 effort rotation and mirroring. The TILER driver facilitates allocating, freeing, as well as mapping 2D blocks (areas) in the TILER container(s). It also facilitates rotating and mirroring the allocated blocks or its rectangular subsections."
This TILER driver stands for Tiling and Isometric Lightweight Engine for Rotation. This is not the first time the code has been published by Texas Instruments but it's on its third revision in recent weeks.
This driver effectively deals with the hardware block of video memory management on Texas Instruments hardware. But rather than implementing the Graphics Execution Manager (GEM) or Translation Table Maps (TTM) APIs like most other open-source graphics driver, it brings its own memory management interface (DMM) to the kernel party. The principal engineer at TI working on this code isn't even familiar with DRM/GEM (email
David Airlie, the Linux kernel DRM maintainer who would need to approve the pulling of this TI DMM-TILER driver if it's to live within the Direct Rendering Manager portion of the kernel, has already asked
what is the use-case for this driver and what open-source applications take advantage of this DMM interface. So far there's no response yet.
This may be another example of how embedded GPU support on Linux is a mess
. Back in July there was a 2D/3D kernel driver release by Qualcomm
for their Snapdragon hardware, but it too ended up being a dirty mess
and has yet to be pulled into the mainline kernel.