Disables system agent for BYT/CHT, HSW/BDW and IMX8 platforms.
System agent is supposed to track drift between timer ticks,
but it's only valid for the platforms with timer based scheduling.
Platforms with DMA based scheduling have asynchronous interrupts,
which can potentially starve the agent and cause system panic.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
The equation for fir_in_max value was missing term -1 and returned
too high value that resulted in FIR scale coefficient calculation an
overall gain of 0.000004 dB while it should be exactly 0 dB. The HW
decimator contains saturation in output so it have not caused
overflows of PCM capture stream.
The new macro INT_MAX() returns the correct max PCM code value for
the used FIR input word length and looks better readable than
original code.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to header file sof/math/numbers.h two macros
INT_MAX(N) and INT_MIN(N). E.g. for 16 bits the returned values
are 32767 and -32768. The macro works up to N = 64.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Previously used by kpb tests only and defined locally.
New pieces of the code, like perf macros need them
globally.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Adjust top_of_kernel_tree() function to SOF so invoking
./scripts/checkpatch.pl works out of the box and doesn't require
figuring what's going on and the existence of the --no-tree option which
sof-ci invokes "behind the scenes".
This instead of failing with:
Must be run from the top-level dir. of a kernel tree
Compared to --no-tree, this is also enables a couple extra checks like:
WARNING: use relative pathname instead of absolute in changelog text
PS: the space between check and patch is here to... defeat checkpatch
itself. It apparently doesn't expect any change to itself.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Match alignment with open parenthesis to
maintain the coding style.
Reported by checkpatch.pl
Signed-off-by: Shreeya Patel <shreeya.patel23498@gmail.com>
In hda_dma_data_size() if an XRUN leads to an early return,
interrupt flags have to be restored.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The ret variable in ipc_comp_new() is never changed from its
initialisation value of 0, remove it.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Currently multiple functions send struct sof_ipc_comp_reply to the
host over IPC without initialising its .id field. To avoid this and
similar problems in the future initialise reply objects in their
definition statements.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
dai_comp_get_hw_params() cannot be an inline function because a
pointer to it is used for a .dai_get_hw_params assignment.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
The N_DAI_OUT and N_DAI_IN pacros, defined in dai.m4, don't take
parameters, fix their usage.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Replace multiple occurrences of a copy-paste error in comments in
bytecontrol.m4: CONTROLMIXER should actually be CONTROLBYTES.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
When out_fd points standard output then error message shouldn't be
duplicated - duplicated messages only make logger output more messy.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Avoid useless parentheses to the right hand side of an assignment.
Change suggested by coccinelle.
Signed-off-by: Payal Kshirsagar <payalskshirsagar1234@gmail.com>
This patch adds the highpass capture pipeline which enables the volume
and switch controls. In the switch control, it enables capture LED
controlling.
Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
This patch adds the capture pipeline which enables the volume and switch
controls. In the switch control, it enables capture LED controlling.
Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
Dummy DMA should follow other drivers and use getters
and setters where available to avoid code changes when
dma channel internals are changed.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
New is c++ keyword which causes errors while generating
the documentation for component api with sphinx and breathe.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
One of schedule_ll PRs added uuid without changes in probes
and probe build failed, this commit will fix it
Fixes: 0529c141f4 ("tasks: add uuid based identification for tasks")
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
Increases value of next timer set in case there is
a delay in tasks execution. Value of 1 is too small
to guarantee that the next interrupt will be triggered.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Heap zone was used by mistake instead of flags
This results in buffer mode change from bypass to cached
Tested & no regression found
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
Move byt/cht platform specific ifelse to platform files.
And byt/cht have codec and nocodec differences, which need to have
PLATFORM-codec and PLATFORM-nocodec files.
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
This commit adds the definition of the SDMA controller we use for SOF,
namely SDMA2 (the other instances of SDMA are used for non-audio-related
DMA in the system). This DMAC can serve the SAI.
A way to account for channel 0 being used internally needs to be added.
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
This includes interrupt number and a tweak used when probing the driver
(which must match hardware configuration).
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
Some i.MX platforms use SDMA (Smart DMA) controller for DMA related
operations. This commit adds the initial functionality for SDMA.
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
Disable verbose build by default in build script.
It would be too annoying if we do not need to debug
with make systems.
Use -v option to enable verbose log if need.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This patch fixes the buffer to define as PIPELINE_SINK. The
upper level topologies do not use these topologies so there has
not been related errors. However test pipelines were impacted.
Also the PIPELINE_PCM defined name is made more generic. It can
be whatever and not just high-pass type.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The src_run.sh is converted into a generic component run script
that is called by new simple component specific scripts asrc_run.sh,
eqfir_run.sh, eqiir_run.sh, src_run.sh, and volume_run.sh.
Note: The testbench does not yet have fully working capture support
so the direction is not exposed yet.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds compilation with -g. Optimization -O was added to get
optimization that preserves sane debugging with gdb. This component
is not critical for speed in simulation.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to testbench capability to run pipelines with EQ_IIR
and EQ_FIR components. The component is configured with the topology
embedded configuration blob when instantiated with new().
The load of volume component has been enhanced to parse volume tokens and
compute the min and max volume parameters.
The topology parsing and component library load has been changed to
support processing component load and extracting of control private
data. The testbench build has been changed to create libraries
for EQ components.
The testbench command line parsing has been improved to return
error for invalid library request.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>