The precision check condition has been simplified, the unsigned value
cannot be negative. Added definitions containing an error message instead
of using a constant variable.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Added a null string terminator to be sure that strings read from a file are
terminated correctly.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The timestamp printing process has been simplified by eliminating the
dynamic creation of the formatting string. All necessary parameters are now
passed directly to the printing function.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Added checking of value returned by file operation functions. In case of an
error, message is printed and error code is returned.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The clock_gettime function only returns information that an error occurred.
The error code should be taken from the errno variable.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
String terminator was added to the buffer with a list of section names
in the elf file. Added check to the section name index to make sure it
doesn't go beyond the buffer size.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
If fseek reports an error, the error code set in errno is returned.
Improved handling an error during reading from a file. Now it distinguishes
between an error reported by the fread and insufficient data in a file.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Added checking of the value returned by fseek function and added memory
release when an error is detected.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The values assigned when declaring variables were overwritten in the code.
Redundant initialization was removed.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
remove buffer ops from dcblock module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from mux module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from multiband_drc module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from mfcc modules
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from igo_nr module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from eq_fir and eq_iir modules
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
The file is found from subdirectory src/audio/google. Without
fix if CONFIG_COMP_GOOGLE_HOTWORD_DETECT is enabled build fails:
CMake Error at sof/zephyr/cmake/modules/extensions.cmake:424
(add_library):
Cannot find source file:
/src/audio/google_hotword_detect.c
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
FW infrastructure shall support buffering of historic data
from 1ch up to 6 channels 24bit samples in 24bit container.
For this reason, the heap should be extended.Increase HEAPMEM_SIZE
by 0x90000 because for audio format 16000Hz/6ch/24bit
history_buffer_size = 16 * 6 * 3 * 2100s = 604800 bytes (0x93A80)
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
Starting from Zephyr commit f0daf904bb02, CONFIG_PICOLIBC is on by
default.
PICOLIBC does not seem compatible with sparse yet:
https://github.com/zephyrproject-rtos/zephyr/issues/63003
Even if it were compatible with sparse, it seems like a pretty big
change that we should not immediately and blindly accept.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
We need to care about audio user experience and peak MCPS
usage in production topologies.
The alsabat test is disturbed by the longer ramp so the
change can be reverted from nocodec topologies. Those
topologies are never used by end users. Also the peak MCPS
mitigation is not relevant for test topologies, as long as
higher MCPS is not triggering error reports. The curve
duration is restored without explicit set to the default 20 ms.
Fixes: #8238
Fixes: d0d74a477f
("Tools: Topology2: Change in capture gain
curve_duration to 50 m")
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The pipeline-common.conf helps us to define several
common pipeline attributes include pipeline index,
there is no need to define pipeline index in each
pipeline class definition if pipeline-common.conf
is included.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
remove buffer ops from crossover module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from volume module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from kpb module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from chain_dma module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from asrc module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from aria module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from smart_amp module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from mixer modules
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from mixin/mixout module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
remove buffer ops from copier module
this is a continuation of changes
from commit 4a03699
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
We build tgl and tgl-h with ipc4 by default, those
ipc4 overlays are empty now, can be removed safely.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
For legacy CAVS platforms (TGL/ADL/EHL), the default
build config is IPC4 now, and the overlay file is
already emptied. Remove the option in this build
script.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
For TGL and TGL-H, IPC4 is the default build config,
remove the '-i IPC4' option as it is not needed
anymore.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
All existing SSP-based topologies use the audio cardinal clock,
*EXCEPT* Bluetooth related ones. This doesn't make much sense, let's
use the same clock source for all SSPs.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
These topologies are no longer supported by mainline firmware
code for these platforms. The stable-v2.2 branch continues to
support these targets.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
This change increases the ramp duration from 20 ms to 50 ms. It
lowers the peak load of peak volume component due to longer same
gain value blocks. The internal update rate for gain becomes 250 us
instead of 125 us. The longer fade-in ramp also conceals better
possible analog capture start transients.
This changes for 4ch capture for gain.11.1 in sof-hda-generic-4ch.tplg
from
CPU_PEAK(MAX) = 21.95
PEAK(MAX)/AVG(AVG) = 7.51
to
CPU_PEAK(MAX) = 9.07
PEAK(MAX)/AVG(AVG) = 3.12
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch implements handling of the configuration IPC for FMT in KPB
module. KPB now saves the list of module instances to be processed by
FMT. This is the first step for implementing FMT functionality. In case
of WoV event, FMT is needed for KPB to drain history buffer and send
this data to Host ASAP, as normal tasks are too slow.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
Add Vendor Config Set, a special case of Large Config Set. Large Config Set
handling now checks for this case and extracts extended param_id from ipc
payload as param_id and handles the rest of the payload as usual. KPB now
uses extended param_id. Necessary for fast mode task configuration in KPB.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
If both SOF_PROBES and MTRACE logging backends are disabled at build
time, IPC4 build failed due to undefined ipc4_logging_enable_logs().
Fixes a bug in commit 1721f70426 ("logging: add logging through
probes").
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The Pulse Density Modulated Microphone Interface (MICFIL) is a popular
way to deliver audio from microphones to the processor in several
applications, such as mobile telephones. However, current digital-audio
systems use multibit audio signal (also known as multibit PCM) to
represent the signal. This block implements the required digital
interface to provide a 24-bits audio signal from a PDM microphone
bitstream in a configurable output sampling rate.
This patch adds initial support for PDM MICFIL IP found on i.MX8MP
board.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
CONFIG_SDMA_SCRIPT_CODE is always defined (even if not selected
it defaults to empty string) so this is not a good way of including
sdma script code header file.
Make use of HAVE_SDMA_FIRMWARE boolean config in order to select
the sdma script code header.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
remove buffer ops from pipeline-graph.c and
pipeline-params.c
this is a continuation of changes
from commit 4a03699911
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
This change removes all buffer_acquire/buffer_release
from module adapter
The change does not contain any optimalizations that now may
be easy to do. They will be introduced in separate PR
this is a continuation of changes
from commit 4a03699911
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
remove buffer_acquire / release from ipc helpers
this is a continuation of changes
from commit 4a03699911
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
remove 2 inline functions
comp_get_copy_limits_with_lock
comp_get_copy_limits_with_lock_frame_aligned
this is a continuation of changes
from commit 4a03699911
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>