Go to file
Marcin Maka 8a7875d5e4 comp: run default params handler if not defined by target comp
Actions perfomed by the default handler are required to keep
the component device state consistent (e.g. dev->frames are
initialized). While the current comp_params() silently skips
the component if params are not defined.

New simple components will not be required to define a handler
if no extra steps are needed.

It is also an opportunity to reduce the code of existing components
Note that most of the extra steps are moved to prepare() in many
implementations already (like volume), others may follow and remove
their params() handlers once reduced to a single call to the default
handler (like mux recently did).

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2020-04-15 14:55:54 +02:00
.github/ISSUE_TEMPLATE github: fix link to bug tracking docs 2020-01-09 11:24:06 +00:00
doc audio-stream: dox: add full api documentation 2020-03-28 13:04:55 +01:00
rimage rimage: use lma if available 2020-04-10 16:19:59 +01:00
scripts cmake: add *_overridedefconfig targets 2020-04-03 20:20:43 +01:00
smex smex: Add elf modules content validation 2020-04-03 16:27:04 +01:00
src comp: run default params handler if not defined by target comp 2020-04-15 14:55:54 +02:00
test comp: run default params handler if not defined by target comp 2020-04-15 14:55:54 +02:00
tools alloc: remove unused rrealloc 2020-04-10 20:00:05 +03:00
.gitignore gitignore: Ignore cscope cache files 2019-12-04 15:41:33 +02:00
.travis.yml CI: Travis: reduce the number of stages to two 2020-04-11 14:07:27 +01:00
CMakeLists.txt cmake: build option for clang static analyzer 2020-03-04 11:02:56 +01:00
CODEOWNERS CODEOWNERS: scripts/ += marc-hb 2020-04-04 20:06:49 +01:00
Kconfig memory: change LP_SRAM to helper config 2020-02-04 11:30:02 +00:00
LICENCE licence: update for kconfig and elf.h 2019-02-01 11:12:36 +00:00
README.md Updated Readme for cht configuration 2019-04-26 10:42:41 +01:00

README.md

Sound Open Firmware

Status

Build Status

Documentation

See docs

Prerequisites

  • Docker
  • CMake (version >= 3.10)

Build Instructions

  1. Create directory in checked out repo for build files:
mkdir build && cd build
  1. Run configuration for your toolchain:

Baytrail / Cherrytrail:

cmake -DTOOLCHAIN=xtensa-byt-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-byt-elf ..

Haswell / Broadwell:

cmake -DTOOLCHAIN=xtensa-hsw-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-hsw-elf ..

Apollolake:

cmake -DTOOLCHAIN=xtensa-apl-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-apl-elf ..

Cannonlake:

cmake -DTOOLCHAIN=xtensa-cnl-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-cnl-elf ..
  1. Apply default config for your platform.

Baytrail:

make baytrail_defconfig

Cherrytrail:

make cherrytrail_defconfig

Haswell:

make haswell_defconfig

Broadwell:

make broadwell_defconfig

Apollolake:

make apollolake_defconfig

Cannonlake:

make cannonlake_defconfig
  1. (Optional) Customize your configuration
make menuconfig
  1. Build firmware
make bin
# or `make bin -j<jobs>` for parallel build

Running the tests

See unit testing documentation

Deployment

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

Contributing

See Contributing to the Project

License

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