Commit Graph

2633 Commits

Author SHA1 Message Date
Tomasz Lauda 4f9b0ac114 hda-dma: exit L1 state only for Host DMA
Exits L1 state only for Host DMA and not Link DMA.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-04 15:01:40 +00:00
Jakub Dabek fcbf763ac8 memory: added memory utils
Added mecpy_s which performs checks similar to standard lib and
uses architectural copy mechanic or fallsback to memcopy.
Added memset_s which performs checks similar to standard lib and
uses architectural set mechanic.
Chaged bzero to memset since memset has optimizations for zeroing.

Signed-off-by: Jakub Dabek <jakub.dabek@linux.intel.com>
2019-03-04 14:25:24 +01:00
Lech Betlej 9845c9d418 test: kpb component name fixed in a configuration file
kpb directory is now added to cmoka test afer CONFIG_COMP_KPB is set

Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
2019-03-04 13:20:57 +01:00
Marcin Maka 24e241b852 boot: memory pwr on moved to early stage before stack is switched
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-03-01 20:05:28 +01:00
Seppo Ingalsuo 67701e8372 ABI: Fix version check for COMP_CMD_SET_DATA
An earlier update for ABI major, minor, patch versioning has missed
to update this header that caused the EQ settings to fail with any
version bump.

The ABI version check in components is not needed since it is
done in the comp_cmd() inline function that calls the the component
command handlers.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-03-01 18:25:40 +00:00
Zhang Keqiao 95e762f835 test: add a script for pause/release stress test
This script is used to test pause/release audio stream

Signed-off-by: Zhang Keqiao <keqiao.zhang@linux.intel.com>
2019-03-01 18:14:44 +00:00
Zhang Keqiao 0097215afc test: fix a typo, Add a colon to option that have parameter
Signed-off-by: Zhang Keqiao <keqiao.zhang@linux.intel.com>
2019-03-01 18:10:15 +00:00
Tomasz Lauda 99ee4432d1 cmocka: add unit tests for channel selector
Adds unit tests for channel selector component.

Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
2019-03-01 18:36:12 +01:00
Tomasz Lauda 9f2fd0c746 component: add channel selector for keyword detection use case
The component allows to select from a topology file one of channels
from an input buffer to be copied to an output buffer (provides channels
count reduction functionality). In case the component is configured to
output 2 or 4 channels it works in a passthrough mode.

Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-01 18:36:12 +01:00
Zhang Keqiao 7f91296cc1 kmod_scripts: add da7219 codec support for GLK
Signed-off-by: Zhang Keqiao <keqiao.zhang@linux.intel.com>
2019-03-01 17:05:55 +00:00
Diana Ungureanu dffb3ae76a sof: Fix compilation error when TRACE = 0
Add missing macros and compile out heap_trace_all
and heap_trace.

Reported-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Signed-off-by: Diana Ungureanu <diana-gabriela.ungureanu@nxp.com>
2019-03-01 12:41:12 +01:00
Diana Ungureanu 6aa927010b sof: Fix compilation error when TRACEE = 0
Add missing macro definitions to fix compilation error.

Reported-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Diana Ungureanu <diana-gabriela.ungureanu@nxp.com>
2019-03-01 12:41:12 +01:00
Bartosz Kokoszko 0a5dc9cfab power_down: deduplication of power_down headers for cavs
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-03-01 10:26:54 +01:00
Bartosz Kokoszko f5f36870a6 idc: deduplication of idc headers for cavs
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-03-01 10:26:54 +01:00
Bartosz Kokoszko eae1d3a31c mailbox: deduplication of mailbox headers for cavs
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-03-01 10:26:54 +01:00
Marcin Rajwa 53a63eac14 KPB: add cmocka test cases for real time copy and internal buffering
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Marcin Rajwa 7d87b834b0 KPB: add copy function
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Marcin Rajwa ed58766f60 KPB: add draining event
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Marcin Rajwa 1a8fc68709 KPB: add event for client registration
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Marcin Rajwa c456200cc4 KPB: add support for events
KPB uses notifier module to implement events.

Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Marcin Rajwa 7b212e6a54 KPB: add component key phrase buffer
The key phrase buffer component skeleton. This component enables
to copy real time data stream from source to sink and in the same
time buffers this data into its own internal "history buffer".
Data from internal buffer can be drained later on specific event.

Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Marcin Rajwa 1b08b798ef MEMORY: add definitions for LPSRAM
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2019-03-01 10:16:23 +01:00
Adrian Bonislawski 58e90d9020 Kconfig: make DAI component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski eb7310859e Kconfig: make Switch component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski cb423b19ae Kconfig: make MUX component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski f8bf720ec1 Kconfig: make Mixer component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski fa6b2c6c33 Kconfig: make Tone component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski aa94d2373d Kconfig: make IIR component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski ce56786eb9 Kconfig: make FIR component a config option
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:34:26 +01:00
Adrian Bonislawski 6cc7527b40 Memory: move text, data and bss sections into one memory block
One shared memory block SOF_FW for SOF_TEXT, SOF_DATA and SOF_BSS sections.
Moved fw_ready near to .rodata and .data
Removed setting of .text_size for APL manifes
Updated rom.x.in (SOF_BSS_DATA_START is no longer in use)
Used linker symbols to obtain real BSS size in alloc.h

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-02-28 18:33:12 +01:00
Ranjani Sridharan e38db1a69d topology: remove dapm route from PCM dev to host comp
This route is automatically created when the host comp is created
during topology loading. So remove it to avoid duplicating
the connection in the dapm graph.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-02-26 13:02:59 +00:00
Dragos Tarcatu e9c81160ee topology: ssp: add polarity inversion option in SSP_CLOCK
alsatplg allows setting inverted bclk and fsync polarities
by setting either bclk_invert or fsync_invert to "true".
This patch adds a default parameter in the SSP_CLOCK m4
macro which allows setting inverted bclk and fsync polarities.

Signed-off-by: Dragos Tarcatu <dragos_tarcatu@mentor.com>
2019-02-26 12:50:29 +00:00
Tomasz Lauda c12d68cfa0 dma: add get_data_size ops
Adds get_data_size operation to DMA.
This operation allows components to retrieve
currently available data from input and output
DMAs.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-26 12:31:56 +00:00
Jiangxinx 82d29e099c Fix issue 1039: Kernel QA scripts are broken.
Signed-off-by: Jiangxinx <xinx.jiang@intel.com>
2019-02-25 16:36:30 +00:00
Daniel Baluta e414339bc3 host: Remove unused completion
After commit 93a52130c1 ("pipeline: preloader: simplify
preloader by reusing pipeline copy()") copy completion handling
is done via the pipeline infrastructure. So just remove the
remaining code relicts who are there only to confuse the
novice reader.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-02-25 13:29:48 +01:00
Janusz Jankowski 9327ca524a cmake: lds headers dependency
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-25 11:56:50 +01:00
Tomasz Lauda 4d715e060d volume: copy variable number of bytes
Changes volume_copy implementation to support
variable number of bytes.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-22 17:20:31 +00:00
Seppo Ingalsuo 957d3369f7 Testbench: Fix parameters passing within testbench
This patch fixes the use of private copies of the same header file
defined parameters in several C files that is not good practise to
do. They were not defined as proper global variables. Instead the
same parameters are now simply passed in function calls only to where
needed.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-02-22 17:14:57 +00:00
Janusz Jankowski e502f2286d tools: readme fix for cmake 3.10
Argument -B<builddir> is not supported in minimum version of CMake
required by our project (3.10).

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-22 17:29:53 +01:00
Marcin Maka c922a866e2 debug: stack dump code converted to uintptr_t for size arithmetic
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-02-22 12:16:05 +01:00
Marcin Maka 69f0bde757 ci: klocwork: add example config file to avoid FPs
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-02-22 12:16:05 +01:00
Marcin Maka c9d40c0175 mem: panic if invalid zone is requested in malloc()
Seems to be a logic, non-recoverable error that should fail immediately.

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-02-22 12:16:05 +01:00
ArturX Kloniecki 9cddf9613d SMP: CNL/WHL/CML prevent power gating on cores 1, 2, 3.
Prevent ROM from powering off any cores on waiti call.

Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2019-02-21 17:36:54 +00:00
ArturX Kloniecki 73cfb3c92f SMP: Fix improper cache invalidation.
Cache was invalidated in improper order, which led to using rubbish
data on slave core during pipeline trigger start.

Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2019-02-21 17:36:54 +00:00
Rander Wang 84de2e32c9 timer: BDW: fix DMA trace issue on BDW
On BDW, DMA trace doesn't update trace log to host.
platform_timer_start function would set up some registers
for HW and make timer ready. On BDW, cpu timer is used to
driver work queue while on other platforms, external timer
is used. we don't need to enable timer interrupt now or it
will trigger unexpect interrupt which would make scheduler
in unknown status. timer_enable function would enable it

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2019-02-21 17:22:43 +00:00
Tomasz Lauda 09b612e463 dai: change error to info in dai_params
Check for prepare state in dai_params. It allows for
configuring multiple host pipelines connected to one
dai pipeline e.g. mixer topology.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-21 17:20:32 +00:00
Daniel Baluta e43fa6e44e tasks: audio: Fix compilation issue for static pipeline
After commit 425aa5e917 ("ipc: Add support for creating pipelines
dynamically") the prototype of init_static_pipeline function has
changed.

Use the correct prototype to call init_static_pipline to avoid
compilation failure when STATIC_PIPE is defined.

Fixes: 425aa5e917 ("ipc: Add support for creating pipelines dynamically")
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-02-21 16:50:15 +00:00
Janusz Jankowski 5ccbab2659 tests: add panic symbols for alloc
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-19 16:52:10 +00:00
Janusz Jankowski c5d01530af tests: fix idc for smp
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-19 16:52:10 +00:00
Guennadi Liakhovetski 4290e2d52a wait: move most functions from the header to a new .c file
Move large functions from src/include/sof/wait.h to src/lib/wait.c to
avoid building them multiple times.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-19 16:52:10 +00:00