Commit Graph

2510 Commits

Author SHA1 Message Date
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
Guennadi Liakhovetski 5c8f1eb249 task: move most functions from a header to a new .c file
Move large functions from src/arch/xtensa/include/arch/task.h to
src/arch/xtensa/smp/init.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
Guennadi Liakhovetski 2dcc3f79f7 panic: move most functions from the header to a .c file
Many functions in src/include/sof/panic.h are too large to be inlined
and repeated every time the header is included. Move them out to
src/lib/panic.c

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-19 16:52:10 +00:00
Guennadi Liakhovetski 27fbd8c5ec idc: move code from a header to a .c file
src/arch/xtensa/smp/include/arch/idc.h has way too much code for a
header, it is included by platform/idc.h on various platforms, and
that header in turn is included by bultiple .c files, which builds
the code multiple times into the firmware. Move it to a C file.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2019-02-19 16:52:10 +00:00
Tomasz Lauda 41554a0318 pipeline: do not trigger across pipelines
Changes flow to trigger only current pipeline.
Stops on meeting component from the other pipeline.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-19 16:40:21 +00:00
Tomasz Lauda 88aa5542a4 ipc: fix getting source component
Fixes getting source component, when it's the one
connected to the other pipeline.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-19 16:28:05 +00:00
Rander Wang e603bf04af ssp: bdw: refine ssp setting for bdw
(1) set PSP according to APL
(2) we don't need to decrease one for TFT&RFT because
   SSCR1_TFT and SSCR1_RFT do this.

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2019-02-19 15:52:32 +00:00
Rander Wang 871e01d238 dw-dma: BDW: fix noise issue on BDW
When setting sar & dar registers in GP DMA, src address
and dest address should be masked for DMA engine to
identify memory space.

On BDW, the memory address in dsp is composed by 6 hex-number
like 0xABCDEF, and the address on BYT is a style of 0xFFABCDEF.
So it is correct on BYT even without mask.

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2019-02-19 15:39:52 +00:00
Rander Wang 3b624a34ef dma: BDW: add id field in dma engine
It is missed on BDW.

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2019-02-19 15:35:27 +00:00
Tomasz Lauda dcd825b923 pipeline: enable copy of connected pipelines
Enables copy of connected pipelines if the pipelines
were set to have the same scheduling component.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-18 17:34:05 +00:00
Tomasz Lauda 506f5a78d9 arch: move xtos_exc_handler_table to bss
Moves xtos_exc_handler_table to bss for SMP arch.
It's modified at runtime, so shouldn't be kept
in data, which is supposed to be read-only.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-02-18 17:21:54 +00:00
Ranjani Sridharan 2b4467c007 topology: whl: add topology for whl with rt5682
Add topology for WHL with RT5682. This will be merged with
sof-cml-rt5682 in the future to avoid maintaining 2 files
with just the difference in SSP port numbers.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-02-18 16:29:47 +00:00
Ranjani Sridharan abc0d2fc6a topology: cml: change SSP port num for rt5682
The CML board has the rt5682 connected to SSP0 and the
machine driver defines the dai link for the headset
with the name "SSP0-codec" too. So change the topology
file accordingly.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-02-18 16:29:47 +00:00
Daniel Baluta fb545a3684 task: Allow conditional compilation for low priority tasks
On i.MX we have only two software interrupts available. One is used
as PLATFORM_SCHEDULER_IRQ and the other one for PLATFORM_IRQ_TASK_HIGH.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-02-14 18:30:47 +00:00
Seppo Ingalsuo 833cb76175 DMIC: Add Kconfig options to reduce driver tables size
This patch adds three configuration profiles DMIC_FIR_LOW_MEMORY,
DMIC_FIR_FULL, and DMIC_FIR_CUSTOM.

The first is recommended for systems with need for only 48 kHz
and 16 kHz sample rates support with default 2.4 MHz microphone
clock. It can work with some other configurations also but if
driver rejects are seen for desired parameters the full or custom
configuration should be used.

The full configuration includes all defined FIR coefficients for
all supported decimation factors to support several rates between
8 - 96 kHz.

Custom set allows to select all decimation factors separately.

The rename of CONFIG_DMIC to CONFIG_CAVS_DMIC caused update need
to platform defconfig files and memory configuration header files.
There are no other changes but the macro rename for them.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-02-14 18:01:47 +00:00
Janusz Jankowski b7fc937e04 scripts: sof-target-install update for cmake tools
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski cc16d6d824 scripts: update build-tools.sh for cmake
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski e57b1346db cmake: tools: README
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski 9fb2097e52 cmake: tools: install targets
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski dff70c4490 cmake: tools: remove autotools
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski 1704bfcb95 cmake: tools: test
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski 67597453ec tools: tplg-build custom output dir
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski 44c0ce7388 cmake: tools: topology
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00
Janusz Jankowski f8f71f5938 cmake: tools: eqctl
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-02-14 18:00:26 +00:00