dma: SG elem lists replaced with arrays

Multiple alloctions of SG elements linked as a list
replaced with single allocations of arrays.

- The code flows (esp. cleanup-on-error) are simplified,

- number of 64bytes chunk allocations reduced from 18 to 12 for
  example very basic topology, no increase in other areas
  (2-period sgls still fit),

- more efficient allocation for host page tables on legacy platforms;
  instead of going from a desc array to the list that is copied to
  another list, there is just a single allocation of array moved
  to the destination component.

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
14 files changed
tree: 95867839076603a320dbc75614ff98865284457c
  1. doc/
  2. m4/
  3. rimage/
  4. scripts/
  5. src/
  6. test/
  7. .gitignore
  8. .travis.yml
  9. autogen.sh
  10. configure.ac
  11. LICENCE
  12. Makefile.am
  13. README.md
  14. version.sh
README.md

Sound Open Firmware

Status

Build Status

Documentation

See docs

Prerequisites

  • Docker

Build Instructions

  1. Run autogen.sh

  2. Build and install the rimage ELF image creator and signing tool

./configure --enable-rimage
make
sudo make install
  1. Run the following configure based on your platform.

Baytrail :-

./configure --with-arch=xtensa --with-platform=baytrail --with-root-dir=$PWD/../xtensa-root/xtensa-byt-elf --host=xtensa-byt-elf

Cherrytrail :-

./configure --with-arch=xtensa --with-platform=cherrytrail --with-root-dir=$PWD/../xtensa-root/xtensa-byt-elf --host=xtensa-byt-elf

Library for Host Platform :- If building library for host platform, run the following configure. Please modify the --prefix option to choose the directory for installing the library files and headers

./configure --with-arch=host --enable-library=yes --host=x86_64-unknown-linux-gnu --prefix=$PWD/../host-root/

  1. make

  2. make bin

End with an example of getting some data out of the system or using it for a little demo

Running the tests

See unit testing documentation

Deployment

Add additional notes about how to deploy this on a live system

Contributing

TODO?

License

This project is licensed under the BSD Clause 3 - see the LICENCE file for details