Commit Graph

3154 Commits

Author SHA1 Message Date
Tomasz Lauda ee0affb2f4 idc: add arguments to trace_idc function
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 21:22:50 +01:00
Tomasz Lauda 08d5cba3d9 idc: add missing headers
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 21:22:50 +01:00
Adrian Bonislawski 25e6cb70b9 sof: add default ALIGN macro
This will add default ALIGN macro so defines which are using ALIGN
can work in main code and linker scripts using linker definition for ALIGN

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-06-05 18:19:22 +02:00
Tomasz Lauda eca023476f dma-trace: align copied trace size to DMA burst size
Aligns copied trace size to DMA burst size for HD-DMA.
Previously we've copied data on the DSP side and sent
the right offset to the host, but actually if the data
wasn't aligned to the burst size, the host would read
old traces for the part of data not yet pushed to the
host.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 13:09:59 +02:00
Janusz Jankowski 5dd9aaccb4 cmake: xtensa: use absolute paths for tools
CMake has convention of changing relative paths to absolute
for CMAKE_* variables. It does it automatically f.e. CMAKE_C_COMPILER.
However for our tools like objcopy we have to do it manually.
It also helps with integration of CMake in some IDEs.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-05 11:38:23 +02:00
Liam Girdwood f0eedcbab7 abi: user: make it obvious how to use ABI header from userspace.
Add more comments describing usage of header from userspace.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2019-06-05 10:04:39 +01:00
Liam Girdwood 1782676acf tools: ctl: dump header information from CSV and DSP data
Dump the ABI header from source CSV or DSP data. This will make it
obvious if there are any ABI differences.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2019-06-05 10:04:39 +01:00
Liam Girdwood 2bb9ebe20d ctl: rename sof-eqctl to sof-ctl
This tool is generic and can be used with any binary kcontrol to
send data to/from components at runtime.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2019-06-05 10:04:39 +01:00
Tomasz Lauda e96efc1638 sof: unify multiple ALIGN macros
Unifies multiple different align macros spread
across the source code. Now we have ALIGN_UP and
ALIGN_DOWN macros defined in sof.h.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 09:22:29 +01:00
Tomasz Lauda 5c8c804766 dai: change starting sequence
Changes starting sequence of DAI. Now IO interface is
started before DMA. The purpose of this change is to
allow slave interfaces to prepare their FIFOs before
DMA starts transferring to them.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 10:02:06 +02:00
Tomasz Lauda 5d42e0fdf0 cavs: ssp: add delay after start
Adds delay after starting SSP interface.
It allows for SSP in slave mode to nicely
synchronize with clock and frame inputs.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 10:02:06 +02:00
Tomasz Lauda 67e954668e format: add missing #include <stdint.h>
Adds missing stdint header, since we are using types
defined in that file. Right now format.h compiles
by accident.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-05 07:41:19 +02:00
Tomasz Lauda 10495481c9 hda-dma: remove double spaces
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-04 11:47:48 +03:00
Tomasz Lauda 14b724f021 dma-trace: fix cache handling
Fixes cache handling for dma-trace buffer.
Current implementation wasn't fully supporting
multicore traces. This patch changes buffer
writeback invalidations after buffer write to
invalidations before read and writebacks after
write. Also removes not needed cache operations
on retrieving current traces size.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-04 01:21:24 +02:00
Tomasz Lauda 1db434afe4 dma-trace: move dropped_entries to common struct
Moves static variable dropped_entries to common
dma_trace_data structure. This structure is
accessed through uncached memory region, so
all the cores don't need any additional
synchronization.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-04 01:21:24 +02:00
Tomasz Lauda bab6398b27 dma-trace: remove not needed #if CONFIG_TRACE
Removes not needed #if CONFIG_TRACE.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-06-04 01:21:24 +02:00
Jaska Uimonen 54012bfdca dw-dma: set ctrl_hi to zero before bit masking
dw-dma transfer size setting was changed in cleanup and because of that
we need to zero the ctrl_hi value before twiddling the bits.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2019-06-03 16:04:18 +02:00
Jaska Uimonen 88c2ba2a84 topology: unify byt media pipeline params with apl media pipe
Byt media pipeline has different parameters in topology for scheduling
deadline and frame count than apl. This produces funny 4-8x speed
playback. So unify with apl media pipe.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2019-06-03 14:07:58 +02:00
Janusz Jankowski ba2fefb172 license: use spdx identifier in shell scripts
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski e99bae6187 tools: fix sh-bang in scripts
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 69b32abda1 checkpatch: add spdx identifier
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 644a1b4746 license: use spdx identifier in python files
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski aee1b1e765 kconfig: add spdx license identifier
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski c6064624f6 cmake: add spdx license identifier
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski ecd506e16d license: use spdx in .c, .h and .S files with BSD3
Use SPDX License identifier in files that already
contain BSD-3-Clause license.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 107537b56b rimage: change license to bsd
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 525493fbaa rimage: add spdx identifier for elf.h
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 85deb1e55b audio: coefficients: add license
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 3c11135b60 gdb: add license
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski 02ffbea1a1 test: kpb: add license
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
Janusz Jankowski d59cedbe61 test: include: add license
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-06-02 16:38:17 +01:00
ArturX Kloniecki 3e3f1d0cae Logger: Update license info in sof-looger files.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2019-05-31 22:26:31 +02:00
Janusz Jankowski e39ed5ebf4 include: split uapi headers into more directories
Some of interface headers are not needed by kernel,
but are needed by user-space applications, so we can split them
into multiple directories that indicate their purpose.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-05-31 20:10:45 +01:00
Marcin Maka 1f4cc9524d ipc: move ipc host ptable ops to dedicated unit
Ipc private data needed by ptable processing removed from
platforms that do not use it.

Less ifdef-s in the main common ipc code, another new unit
compiled for platforms that require ptables.

Dependency on the private data removed from the main ipc code
and moved to the platform specific code. A dependency between
ipc-host-ptable and platform's ipc private data is easier to
maintain then duplicated code in the main ipc units.

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-05-31 18:14:45 +02:00
Marcin Maka ff2bdc8630 ipc: move pm_prepare_D3 flag to common public ipc data
This flag is not private since used by the common IPC handler layer.
This move enables also the next step to make the ipc private data really
private (hidden in the platform ipc code) and make platform specific.

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-05-31 18:14:45 +02:00
Ranjani Sridharan c0434e27ce topology: apl-nocodec: change pipeline format to s32le
Pipeline format determines the buffer size calculation. With the
pipeline format set to S16_LE, hw_params fails for S24_LE and S32_LE
formats. So, change the pipeline format to s32le to support all
three formats.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-05-31 18:13:10 +02:00
ArturX Kloniecki 8f9c7ee2e1 MUX: Relocate mux source and header files to match structure.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2019-05-31 16:47:21 +01:00
Bard Liao 7bfbe43b49 trace: convert trace time stamp to ticks
The unit of trace header timestamp is ticks but it is nanosecond
in trace params. So we have to convert it to ticks.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
2019-05-31 16:46:45 +01:00
Pierre-Louis Bossart 119b326d73 kmod_scripts: fix hdaudio support
Missing modules obviously.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2019-05-31 16:13:31 +01:00
Janusz Jankowski 5a96276365 cmake: add install target for fw
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-05-31 16:06:25 +01:00
Janusz Jankowski 207382150b cmake: meu: support extra meu flags
Meu flags can be extended with MEU_EXTRA_FLAGS variable.
These flags are added after default arguments.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-05-31 15:42:09 +01:00
Janusz Jankowski 3ab6cf2a39 cmake: meu: support override of flags
Custom meu flags can be set with MEU_FLAGS variable.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-05-31 15:42:09 +01:00
Pan Xiuli 8901e0cf29 CI: travis: update with IMX8 support
Add IMX8 build test in travis CI.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-05-30 13:18:47 +02:00
Pan Xiuli 9c15883f67 scripts: add imx8 platform in build all sripts
Add imx8 support in build all scripts.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-05-30 13:18:47 +02:00
Pan Xiuli c467b5285e scripts: update sof_builder docker with imx8 support
Add imx8 cross compiler in sof_builder docker build file.t

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-05-30 13:18:47 +02:00
Pan Xiuli 462f9174a9 scripts: update build step align with wiki
In SOF WIKI, used another clean up cmd, change here to align with docs.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2019-05-30 13:18:47 +02:00
Daniel Bogdzia 17eba5b190 test: add rballoc tests
Rballoc tests check if the current heap is full
the succeeding one would be taken

Signed-off-by: Daniel Bogdzia <danielx.bogdzia@linux.intel.com>
2019-05-30 12:02:05 +02:00
Daniel Baluta 009cd7c8d5 reset: xtos: Introduce HAVE_RESET_VECTOR_ROM config option
Apollolake+/i.MX have reset vector in ROM. So far we have
used platform config symbols to tell which platforms have
the reset vector in ROM.

Anyhow, things are starting to get ugly here with more
platforms to come so we add an internal config symbol
which will be set by each each platform when needed.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-05-30 09:12:24 +01:00
Ranjani Sridharan 92fc7067cf dai: assign/free link DMA channel during dai_config()
The recommended HDA HW programming sequence for setting
the DMA format requires that the link DMA and host DMA
channels be coupled before setting the format. This
change means that host DMA or link DMA channels be
reserved even if only one is used.

Statically assigned link DMA channels would mean that
all the corresponding host DMA channels will need to be
reserved, leaving only a few channels available at run-time.
So, the suggestion here is to switch to dynamically assigning
both host DMA channels and link DMA channels are run-time.

This change means that the DAI_CONFIG IPC will be sent
multiple times during link hw_params and link hw_free
ioctl. The DAI config parameters will remain the same
except for the link DMA channel that will be assigned at
run-time. A value of DMA_CHAN_INVALID from the driver
during hw_free indicates a request to free the current
link DMA channel in use. The current channel in use
is freed before assiging the new channel requested in
the DAI_CONFIG IPC.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-05-29 15:46:12 +02:00
Janusz Jankowski f0c085a404 alloc: move DEBUG_BLOCK_FREE to kconfig
We already have CONFIG_DEBUG* symbols in Kconfig,
this one is still defined in code, so it should be
moved also to Kconfig.

Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-05-29 14:29:29 +01:00