Texas Instruments has put out a new version of its DRM/KMS Linux driver for OMAP platforms as it prepares to hopefully see this open-source graphics driver merged into the mainline Linux kernel.
Rob Clark of Texas Instruments released the third version of its "omapdrm" driver that provides basic DRM/KMS support for OMAP hardware from TI. This comes just days after talking about the Linux 3.2 kernel DRM
and how Samsung's Exynos DRM driver
was merged into the drm-core-next
tree as the first ARM DRM driver that will be introduced in this next major kernel release after Linux 3.1.
Like the Samsung Exynos 4210 open-source DRM driver, the TI OMAP DRM driver doesn't support any 3D bits used by a closed-up user-space or other complications that prevented past DRM drivers for ARM SoCs from being merged into the mainline kernel tree (read The Embedded Linux GPU Mess & How It Can Be Fixed
and Qualcomm's Open Kernel Driver Leads To A Dirty Mess
While Texas Instruments might not have an open-source Mesa / Gallium3D driver for OMAP, it does have an open-source X.Org driver that can play along with this omapdrm
driver. There's an xf86-video-omap DDX (hosted on GitHub
This OMAP DRM driver is similar to the already existing OMAP fbdev and OMAP V4L2 drivers. The driver uses the DSS2 driver to access the display hardware and outputs. GEM (Graphics Execution Manager) support is implemented for buffer allocation and the xf86-video-omap driver respects this kernel memory manager too. Differing a bit from the other DRM drivers, the scan-out buffers are allocated using CMA (the Continuous Memory Allocator) since these buffers must reside in physically contiguous memory. The Contiguous Memory Allocator is for the ARM architecture and its patches for mainline were published back in August (the LKML thread
With this Texas Instruments OMAP driver having gone through three public revisions already, it will hopefully be ready for merging now or in the very near future. It would be a candidate for the Linux 3.2 kernel
or otherwise it's on the table for the Linux 3.3 kernel in another couple of months.