Refactor by replacing specific CONFIG_{cavs_platform}
defines by CONFIG_CAVS define.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Add one argument in test-tone-playback.m4 to fix the building error
of insufficient PIPELINE_ADD arguments.
Signed-off-by: Xun Zhang <xun2.zhang@intel.com>
This commit will change the order of functions in panic_rewind() to fix SOF_IPC_PANIC_STACK in dump_stack().
Thats because arch_dump_regs() function is not able to make a 100% safe return
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
This patch adds to copy() function capability to handle any number
of frames with circular source and sink buffers. The number of
frames to process is retrieved with new helper function
comp_get_copy_limits().
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch determines the frame format for component depending on
stream direction. In playback it is determined from source buffer
and in capture from sink buffer. The errors handling in prepare()
is improved.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to copy() function capability to handle any number
of frames with circular source and sink buffers. The number of
frames to process is retrieved with new helper function
comp_get_copy_limits().
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch determines the frame format for component depending on
stream direction. In playback it is determined from source buffer
and in capture from sink buffer. The errors handling in prepare()
is improved.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds into component.c/h an utility function and
a data structure to simplify audio component's copy() method code.
The do-nothing function pipeline_xrun() is added to avoid cmocka test
fail due to adding function comp_get_copy_limits().
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Adds check if optional comp_ops are available.
This patch also adds assert for mandatory ops.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Use the SOF project root directory in get_abi.sh to read the
ABI macros instead of using the relative path.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Activated by '-r' option. Useful for intermediate log
processing when the output is used as an input for another
tool. No headers, tokens separated by single spaces,
component ids concatenated with component name to
still produce a single token if present.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This file is useful to visualize memory map of the fw image
with much more details than using just the aggregated data
available from the .ri file manifest.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
We can add ABI information to the Manifest section. So kernel can
check if the topology is compatible with the kernel.
Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
Abort build if not all mandatory arguments are passed to
the macros. This should help to catch invalid usage.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The used memcpy_s() has wrong size for destination. It causes the
prepare() method to fail later in component life cycle into sink buffer
resize due to zero config->periods_sink value. This patch fixes the
fail of pipeline instantantion with IIR and FIR EQ components.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Updates sof_ipc_pipe_new struct to better handle
different time domains:
- Changes "deadline" to "period".
- Changes "timer_delay" to "time_domain".
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Rename 'deadline' to 'period' to indicate pipeline scheduling period,
and add time domain to indicate the pipeline scheduling domain (e.g. DMA
interrupt, timer interrupt).
Please be noticed that this might introduce an abi change so consequent
abi changes in both FW and driver side are needed.
Haven't set the flag in topology/sof/sof-xxx.m4 yet, that means it will
use io/interrupt scheduling for those topologies/pipelines at the
moment, if wanna to change them, please change them specific there.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Add quirks parameter in SSP_CONFIG_DATA(). Enable LBM in dupulex pipelines
by setting quirks as SOF_DAI_INTEL_SSP_QUIRK_LBM 64(1<<6). SSPx.IN port get
PCM data from SSPx.OUT. Note both mclk and quirks are optional parameter.
When quirks set, mclk should have value or initialize to default value
which is 0.
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
Support quirks setting from topology. quirk are used to set
ssc1/ssc2 registers according to its bit value.
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
After a recent scheduler update the API has changed: now it requires
task's private pointer to be NULL before calling schedule_task_init()
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use ctrl data message id to receive and send large binary
blobs over ipc. When first message arrives, reserve memory
for the whole blob.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>