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.