Texas Instruments Technology for Innovators(tm)

Linux Utils Release Notes

December 2011

This Linux Utils Release is targetted for the various DaVinci- and OMAP-based platforms running Linux, but is generally usable for any Linux-based system.

Introduction, CMEM, SDMA, Documentation, What's New, Upgrade Info, Compatibility Information, Device Support, Validation Info, Known Issues, Examples, Version Information, Technical Support.


The Linux Utils utility package provides the ability for user-mode applications to access the CMEM and SDMA utility libraries.


The CMEM (Contiguous Memory) utility library provides the ability for user-mode applications to allocate and free blocks of physically contiguous memory. This is typically done to manage multimedia data buffers which will be worked on by multimedia algorithms, but the memory provided by this library can be used for any purpose.

The reason multimedia algorithms often require physically contiguous memory is that sometimes they're on another processor which may not contain an MMU (e.g. the C64P processor on a DM644x device), and/or Linux-based algorithms utilize hardware accelerators (e.g. DMA, image co-processors, etc) which don't access memory through an MMU.

The CMEM module consists of the following packages:

The CMEM module supports the following devices:


SDMA refers to the "System DMA" incorporated on the OMAP35x family of devices.

The SDMA utility library provides the ability for user-mode applications to request SDMA channels and operate on a channel using direct, memory-mapped access to the channel's DMA registers (Framework Components contains a layer named SCPY to manage this direct access). It also provides "blocking" support for waiting for the completion of a transfer on a particular channel.

Performing direct DMA register access helps to alleviate the overhead of initiating, and checking completion of, DMA transfers, since the usual method involves calling down into the Linux kernel somehow. Transfer completion checking is achieved by first querying an application status flag, and only when it is known that the transfer is NOT complete will a blocking kernel module call be made.

The SDMA module consists of the following packages:

The SDMA module supports the following devices:


The following documentation is available:

Release notes from previous releases are also available in the relnotes_archive directory.

What's New

The following significant changes have been made since Linux Utils 2.00













Upgrade Information

The Linux Utils packages are available in the "packages/" subdirectory of the product. If you have a previous release of the Linux Utils (or CMEM) product, you can install this release next to it, and modify your application and/or server builds to use this newer release.

If you're using the DVEVM, this can be done by setting the CMEM_INSTALL_DIR variable in the Rules.make file at the top of the DVEVM distribution directory.

Compatibility Breaks!


Note, if you're upgrading from a release earlier than Linux Utils, be sure to review the Upgrade section for each of the releases between your current release and this one. Previous release notes are available in the relnotes_archive directory.

Compatibility Information

The details provided below describe each package's compatibility with the previous release.

Note, the Configuration Reference Guide contains further details about each package.

If migrating from a release prior to Linux Utils, consult previous releases available in the relnotes_archive directory.

Compatibility Key Definitions

Compatibility keys are intentionally independent of Marketing product numbers and are intended to:

  1. Enable tooling to identify incompatibilities between components, and
  2. Convey a level of compatibility between different releases to set end user expectations.

Compatibility keys are composed of 3 comma-delimited numbers - M,S,R - where:

Device Support

This release supports the following devices:


This release was validated against using the following components:

This release was validated in the following configurations:

Known Issues


Linux Utils example apps and tests are provided in the ti/sdo/linuxutils/*/apps directory.

Version Information

This product's version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.

To support multiple side-by-side installations of the product, the product version is encoded in the top level directory, ex. linuxutils_3_22_00_02.

Technical Support

For technical support, contact softwaresupport@ti.com

Check the following web site for updates: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/index.html

Last updated: December 13, 2011