Commit Graph

2134 Commits

Author SHA1 Message Date
Liam Girdwood 649d75d410 irq: check return value of interrupt_register()
interrupt_register(0 allocates memory so we need to check return value
and complain if it fails.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2018-12-13 17:14:28 +00:00
Liam Girdwood 13469d5951 pipeline: check pipeline init memory allocation.
Make sure we check the return value and complain if it fails.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2018-12-13 17:14:28 +00:00
Tomasz Lauda 0e4ab04d28 pipeline: timer driven ppl copy called synchronously
Timer driven pipeline_copy should execute task
synchronously. No need to involve scheduler.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-12-13 17:00:51 +00:00
Slawomir Blauciak 95c0a2136c ipc: fix trace format
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-12-13 15:57:31 +00:00
Liam Girdwood f28d3fbe22 gdb: fix ABI delta with kernel and make sure GDB flag is fully exported
Align ABI with kernel and make sure GDB enabled flag is fully exported
to all platforms.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2018-12-13 13:13:13 +00:00
Keyon Jie f18bd760bd IPC: fix component new fail issue.
We need to new component with the whole ipc struction passed in
ipc_comp_new(), e.g. struct sof_ipc_comp_dai, but not only the struct
sof_ipc_comp, otherwise, we will fail to new components and see errors
in log such as:
dai.c:208 	dai_new() error: dai_get() failed to create DAI. type:0,
index:-1106776464

Here change to pass in the whole _ipc->comp_data to fix this kind of
issues.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-12-13 13:01:01 +00:00
Marcin Maka 4097ba0910
Merge pull request #706 from jajanusz/ut-fix-ipc-mixer
test: fix mixer ut ipc
2018-12-13 12:17:36 +01:00
Rander Wang 0122caf080 alloc: bdw: fix memory error on bdw
The maximum valid address should be base + size -1

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-12-13 10:03:19 +00:00
Marcin Maka a0268d61c8
Merge pull request #707 from tlauda/topic/dw-dma-work-trace
dw-dma: change work trace to verbose
2018-12-12 21:17:44 +01:00
Tomasz Lauda f8bea63f8e dw-dma: change work trace to verbose
Changes trace call in dw_dma_work to verbose.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-12-12 14:33:17 +01:00
Janusz Jankowski dc8aaf3894 test: fix mixer ut ipc
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2018-12-12 11:52:56 +01:00
Liam Girdwood 88dee77ed3 abi: ipc: Allow ABI to grow with MINOR/PATCH updates.
This patch allows ABI changes to incrementally grow certain IPC
structure and sub structures without changing MAJOR and keeping
backwards compatability.

Adds some helper IPC copier and validation macros that should be used
when handling external IPC structures. These ensure IPC changes are
handled correctly without causing errors or failures.

IPC size should be the first item in each structure to make it as easy
as possible to manage MINOR and PATCH ABI updates without unnecessary
replacement of FW or kernel.

This patch also makes size first in the IPC command header and introduces
a new header for internal IPC sub structures. The sub structure size
can be used to validate IPC and also be used to grow tail IPC command
sub structures as MINOR/PATCH ABI changes.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2018-12-11 21:02:35 +00:00
Liam Girdwood a0cfe1e231 abi: ipc: Move mem caps and panics codes to coreect header.
Topology mem capabilities and trace panics codes should be in the
correct header for their users.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2018-12-11 21:02:35 +00:00
Ranjani Sridharan 30007ca825 topology: glk: change DMIC capture to support 4ch 16-bit format
The requirement for DMIC capture is to support upto 4ch
and 16-bit format. So modify the topology accordingly.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-12-11 20:25:33 +00:00
Liam Girdwood f16e6eef7e gdb: fix configure flag for enable/disable.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2018-12-11 20:00:53 +00:00
Tomasz Lauda 60b0622e0a alloc: change heap order for broadwell
Changes heap order in linker script for broadwell.
2018-12-11 19:52:42 +00:00
Tomasz Lauda 34ade317a2 alloc: always access memory map through cache
Changes memory map access from uncached to cached.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-12-11 19:52:42 +00:00
Tomasz Lauda 5a31460e77 alloc: make system runtime heap core specific
Extracts system runtime heap from common runtime heaps
and makes it core specific.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-12-11 19:52:42 +00:00
Bartosz Kokoszko 8ef2894a38 hda-dma: traces: added host hd-dma traces
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2018-12-07 15:51:30 +00:00
Marcin Rajwa acce742819 GDB: Added IPC trigger for GDB debug.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
2018-12-07 15:49:56 +00:00
Rander Wang be45dacd42 ipc: apply ipc change on BDW & HSW
this patch follows:

ipc: Fix false positive IPC dropped messages.

On receiving an IPC IRQ the handler currently does not check the
IRQ mask. This means notification received ACKs (i.e. for trace updates)
from the host may be reported as duplicate host command IPCs.

Fix this by checking IPC IRQ mask.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-12-07 15:49:02 +00:00
Slawomir Blauciak 2366d633b5 dma: make sure the blocking link tx wait happens only for playback
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-12-07 15:48:31 +00:00
Pierre-Louis Bossart ddebac091f topology: realign sof-apl-da7219 on sof-glk-da7219
Somehow those two files should only differ on SSP connections and MCLK
ID1, so it's pretty obvious no one has tested this since August...

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2018-12-07 15:47:52 +00:00
Libin Yang b5d6c71ba4 dw-dma: refine the channel_get messages
The original messages in channel_get are misleading. Refine the messages
to show the right messages.

Signed-off-by: Libin Yang <libin.yang@intel.com>
2018-12-06 15:37:07 +00:00
Jakub Dabek 04fa66ad11 memory: fixed memory leak
Fix for memory leak when freeing continuous blocks.
Untill now only one block was freed since hdr->size was zeroed
at every loop pass and as it was part of loop condition loop has
been fired only once even if there were more than one blocks
to free.

Signed-off-by: Jakub Dabek <jakub.dabek@linux.intel.com>
2018-12-06 15:23:21 +00:00
ArturX Kloniecki da5073737c PM: Implement pm init and runtime for CNL.
Power management at platform init and during runtime was implemented
on CNL similarly to implementation on APL.

Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2018-12-06 15:22:24 +00:00
Libin Yang 4cd8e68ebd github: add libinyang as lib owner
Add Libin as src/lib owner.

Signed-off-by: Libin Yang <libin.yang@intel.com>
2018-12-06 08:24:22 +00:00
Rander Wang bccd08a9b6 task: remove medium task level on BDW & HSW
There are only two interrupt pins to support task levels, so
only low level and high level are supported on BDW or HSW.

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-12-06 08:23:51 +00:00
Slawomir Blauciak ab52fdc309 dma: ptr trace cleanup
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-12-05 19:04:03 +00:00
Adrian Bonislawski 4d6e6a60c2 Log messages extension for trace_*() calls
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2018-12-05 15:32:05 +00:00
Ranjani Sridharan 1aa95f8e27 logger: show version numbers with the ABI mismatch error
Show the version numbers along with the ABI mismatch error.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-12-05 11:08:20 +00:00
Tomasz Lauda b3bf1ca306 alloc: add system runtime heap
Adds system runtime heap, which should contain
runtime objects created by the kernel part of the code
(drivers, devices etc.) If there will be a need to
separate ring 0 access, this allows us to easily do it
by adding access rights.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-12-05 10:24:15 +00:00
Slawomir Blauciak 44a2c70c53 dma: optional hardware pointer traces
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-12-05 09:44:21 +00:00
Seppo Ingalsuo fac3a776f9 CODEOWNERS: Assign to myself test/audio, eqctl, and tune from tools
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-12-05 09:25:31 +00:00
Pan Xiuli 12e11b7693 scripts: enable tools test build
When pass -t, we will run make tests to build test topology.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-12-04 13:43:51 +00:00
Pan Xiuli 8174738b53 scripts: add rom build option
Enable build rom for the target. Could only use with GCC compiler.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-12-04 13:43:51 +00:00
Marcin Maka 95a3d93bbd tools: logger: turn off colors if the output file is not a tty.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2018-12-04 13:37:16 +00:00
Rander Wang 5571da6dc1 topology: hda: change stream format from 32bits to 24bits
For most of hda codecs, 32bits is not supported and 24bits
is a suitable one.

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-12-04 13:36:57 +00:00
Rander Wang 15e891202f topology: hda: refine dai setting for hda
This refinement follows commit on WHL

topology: whl: refine topology for hda on whl

    Fix the issue that ipc timeout when simutalously playback
    and capture. Now in FW, playback and capture are supported
    by different dai. So dai index should be different for playback
    and capture in the same be dai, or playback would use the same
    dai as capture

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-12-04 13:36:57 +00:00
Keyon Jie 9b9f8f9521 ipc: apl: add mask check to make sure ipc handle correctly
We have already add interrupt mask check for new message from host,
let's add the symmetric check for reply message also.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-12-04 13:30:39 +00:00
Keyon Jie 06ca708e34 ipc: byt: add mask check to make sure ipc handle correctly
We are missing interrupt mask check, which will lead to error handling
IPC message type(e.g. treat an reply message as an new one), Here add
mask check to fix that.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-12-04 13:30:39 +00:00
Liam Girdwood b3692cd78a
Merge pull request #658 from bardliao/master
[skip ci]github: add bardliao as uapi and ipc owner
2018-12-03 13:49:33 +00:00
Bard liao 5c5ff38ab2 [skip ci]github: add bardliao as uapi and ipc owner
Add bardliao as uapi and ipc owner

Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
2018-12-01 11:12:26 +08:00
Liam Girdwood e94a34fce2
Merge pull request #651 from singalsu/fix_eqs_from_abi_update
EQ: Fix FIR and IIR equalizers for the new user ABI
2018-11-30 16:26:17 +00:00
Seppo Ingalsuo cc6c76f1de Tools: Tune: Update EQ tools for new user ABI plus other cleanup
This patch adds into filter tools retrieving of ABI version from a
single function (a quick solution) and updates all configuration
data tools to apply the user ABI header.

The confusing platform_max_channels struct field is renamed to
channels_in_config (the EQ channel map) that creates many updates. The
EQ response plot title is fixed.

Finally new functions to decode IIR and FIR settings blobs is added.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-11-30 17:19:59 +02:00
Seppo Ingalsuo d27de3a671 tools: Update eqctl tool and sample configurations for new user ABI
The ext bytes read response parsing needs a fix since it now includes
the ABI header. A warning is printed if max control size is reached.
The example configurations are also updated to contain the header.

The patch also includes new IIR and FIR setup for pass-through
configuration (for testing) that configures the EQ component to totally
pass the filter computation.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-11-30 17:19:26 +02:00
Liam Girdwood 3baca873e3
Merge pull request #650 from tlauda/topic/sys-heap-cache
alloc: access to system heap always using cache
2018-11-30 12:31:16 +00:00
Seppo Ingalsuo 2e4b435302 Tools: Topology: Update EQ related topology files for new user ABI
This patch adds the ABI header into topology EQ data files and updates
the pipe-eq-volume-playback.m4 to include the coefficients from m4
directory like other topology files to prevent duplication of
response data.

The CONTROLBYTES_MAX is decreased to 304 due to larger IPC header size.
The update is not critical since the kernel contains other checks to
cover this. However it's done to avoid confusion.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-11-30 14:19:37 +02:00
Seppo Ingalsuo 2ddbab14a8 EQ: Fix FIR and IIR equalizers for the new user ABI
This patch contains the bug fixes for the EQ components to make them
work correctly. The topology and tools update is addressed separately. The
matching kernel patch is needed as well.

The first fix is for uapi header file that had left the macros
not updated. It caused the setup blob parsing to fail.

The FIR setup traces are updated to be easy to read with new trace. The
functional change is in get data where the configuration data size
and ABI version are written back to response.

The IIR is changed similarly but in addition the hard coded count
increase is replaced by the macro calculated value from ABI header
file.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-11-30 14:09:29 +02:00
Tomasz Lauda 2649ec78aa test: alloc: fix system heap alloc tests
Fixes system heap alloc tests, which crashed
due to wrong handling of memory freeing.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-11-30 10:07:32 +01:00