Fix capture issue with hda codecs. Now the data captured by
hda codecs is full of zero. It is caused by mismatch of link
dma channel between host and FW.
Now host allocates link dma channel at dai config loading stage,
and sends it to FW to allocate link dma channel at dai_config
function
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
Modify hard-coded virtual widgets to prevent kernel
warnings generated by the machine driver. No need to
add virtual_dapm_routes. Just adding the required virtual
widgets suffices to suppress the warnings.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Modify virtual_widget macro definition to take type as
an input so it can used for different types and update
its users.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
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>
On byt-like platform, sof should release dw-dma channel which is got
in set_params(). And in host_free(), it should not release any channel
as host doesn't get any channel in host_new()
Signed-off-by: Libin Yang <libin.yang@intel.com>
I've added abi_version verification. Be default logger verify: abi
in *.ldc file with logger abi version. Additionally, logger can verify
abi in "/sys/kernel/debug/sof/fw_version" (with -e flag) or in
ver_file (with -v ver_file) with logger abi version.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
This patch adds the two parameters into DMIC configuration
IPC. The parameters will control DMIC HW muting in capture start
and ensure in capture stop that the clock has been kept active
sufficient long time. The implementation of these features is
done later.
The reserved[] vector is reduced by the amount of added
words. Also the ABI minor version is incremented.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
In order to reduce power consumption in runtime only subset of HP SRAM
banks have to be powered. The PR covers 2 aspects:
1. Changed memory map to move stack up by 21 memory banks. Buffer heap
size was reduced from ~2.3MB to ~0.9MB.
2. Changed HP SRAM initialization to power up only needed banks and
properly check HW response.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
As API required, we need transfer stream host comp.id inside hdr cmd,
otherwise, host side can't get information about which stream has Xrun
happened, and reported error as "XRUN for unknown stream, msg_id 0".
This is similar to Position IPC, add comp.id into cmd to fix it.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add channel number to dmac in legacy platforms, and change the dma_init
function to fit the curruct code framework.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Added script I used to read preprocessor output during preprocessor metaprogramming development. Normally it is highly unreadable, this tool makes things a wee bit easier.
Signed-off-by: Michal Jerzy Wierzbicki <michalx.wierzbicki@linux.intel.com>
position for trace->pos is not updated, make error trace only show the
newest one. Now update the pos to make all error trace can be seen.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Some platforms like APL, CNL and ICL have a ROM that read the manifest
and loads the boot loader. This builds a simple ROM so that qemu can
boot APL, CNL and ICL firmware images for CI boot testing.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Bit mask setting macros for for specific parameters were expanded
in a way that was causing unexpected compiler behaviour. Specifically:
literal 1 was treated as 32bit integer ((1 << ((b_hi)-(b_lo) + 1)) -1)
was expanded to shift the 32bit integer by 32. ((1 << (31 - 0 + 1)) -1)
Macro MASK() was was missing left shift.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>