e67d68e8e1 adsp_config.c: actually check error when parsing "version"
array elements
75f96956e0 elf.c: check ELF32-LE magic number instead of crashing
91bd4fe796 rimage.c: print an error instead of crashing when zero ELF
argument
82d4767ca5 Stop silently discarding -l option
f4e01789f0 travis: Treat warnings as errors
3b2398a97d travis: Add more warnings to make command
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The volume component works correct when all channels receive the same
gain value in volume set command.
This patch fixes a bug that is triggered by applying different
gain values for the channels. The logic with setting cd->ramp_finished
to true caused the check in volume copy() to no more call volume_ramp()
when one of the channel reached their target volume. When the ramp
updating was stopped all other channels remain in intermediate gain
value.
In the fix the logic is set to opposite. Whenever a channel needs a ramp
update it sets a temporary flag. The ramp finish is set only when
no channels needed gain update.
Fixes#3455
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Add KWD pipelines with vol-kfpm pipe using intel-generic-dmic-kwd template.
- 48K DMIC still uses PCM-4
- Add 16K DMIC KWD on PCM-5
- Correct few minor pipeline numbers in comments
Signed-off-by: Naveen Manohar <naveen.m@intel.com>
Switch controls can only have 0/1 for values. Fix the get_cmd() callback
to return the channel mute status for SWITCH commands instead
of the current volume gain.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Error codes like ENOKEY and EBADE are not provide for all windows
toolchains, so to limit possible build errors, some more standard
error codes should be used.
Detailed error message is printed in stderr, so end user still
will be well informed about error root cause.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
The naming should be SMART_REF_CH_NUM and value should be 4 for 4
speakers, correct it.
Fixes: 399b97afe6 ("topology: Modify init params for the Demux Config")
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We can't test KWD on nocodec machines due to the DAPM issues reported
here: https://github.com/thesofproject/linux/issues/1987
Remove KWD pipelines from sof-tgl-nocodec-ci to avoid performing invalid
test on it.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
The current default Travis default is 16.04 which is obsolete.
From https://github.com/thesofproject/linux/pull/2402
> Everyone uses 20.04, period. SOF CI also uses 20.04.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes commit 757b13c123 ("CODEOWNERS: scripts/ += marc-hb")
Also add *.bash which we don't use yet but should considering how
not portable is the vast majority of our scripts.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Update process must be splited into two parts - updating global
components, which have trace contect saved in dedicated section
and updating ipc components, where trace contect is part of
particular instance and data.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Message received from host carry information about new log level for
component with pass selected filter values. Filter values are passed
as a set of key-value values, what make it easy to extend in future.
Last element in set must have SOF_IPC_TRACE_FILTER_ELEM_FIN bit set
in key field, to mark end of filter values.
New log level is also obligatory, must be within LOG_LEVEL_CRITICAL
to LOG_LEVEL_VERBOSE range.
It allows to changing trace lelvel for each components in firmware,
on particular pipeline or with particular uuid key with single ipc
command.
Updating trace level is not fully implemented yet.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
This patch logs warning message when we skip dai .copy() method.
Also the condition has been changed, there is no need to compare
positions - if there is nothing to copy we should terminate this
procedure regardless of positions.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
Add support for building TGL FW and signing with MEU tool. Signing
with rimage is not supported atm.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
For convenience, let users pass the location of their MEU_OPENSSL tool
even when they don't use it. Silence the corresponding warning.
See https://cmake.org/pipermail/cmake/2011-February/042933.html for the
rationale.
Note this may fail if you install openssl in a relative directory called
"FALSE". Don't do that.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Some platforms needs platform-specific configuration
that override the default config. For example, chrome platforms
need the LPS to be enabled by default for maximizing the
power savings for the WoV feature. Add a -o switch to allow
specifying the override config file.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
We already build _and_ run the testbench in the next stage, with the
newer script. No need to build the same thing twice.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
As reported by travis lint:
[x] [warn] on root: deprecated key: sudo
(The key `sudo` has no effect anymore.)
Also copy to the top of the file well-tested .travis.yml tips from
sof/linux/.travis.yml
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Due to memory constraints, the keyphrase buffer cannot be too long.
As a consequence of reducing the buffer,
platform wakeup margin check has to be removed as well,
otherwise the maximum draining request will be very short.
This is a temporary measure,
ultimately the buffer length and wakeup time settings
should be moved to the topology.
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
This gets rid of about 600 lines of noisy "Entering directory..."
messages which cuts the size of the output of the script in half leaving
only useful stuff on the screen. This (and other changes before it) may
finally avoid bugs like 'commit f430addec7 ("Tools: Fuzzer: Do not use
illegal BUILD_COMMAND in CMakeLists.txt") evading scrutiny for months.
After so many years enjoying the convenience of make's '-C' option, I
finally did some research and realized it is the cause of this very
serious noise issue with no other easy way out :-(
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Add CMake argument FIRMWARE_NAME that enables setting custom suffix
for output binary.
Example `cmake ... -DFIRMWARE_NAME=custom ...` will save output files as
sof-custom.ri, sof-custom.ldc etc.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Old name was misleading, because this config is not used just as name.
It is used to decide how to build and sign FW image.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
For some reason gcc prints more warnings this way and of course CI is
meant to catch warnings as soon as possible.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
... thanks to the docker --env option which is smart enough not to pass
anything when there is nothing to pass.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This patch modifies the number of reference feedback channels from the
Demux component to the host capture stream in sof-tgl-max98373-rt5682.
Signed-off-by: Dharageswari R <dharageswari.r@intel.com>
This patch creates macros for the channel map of Feedback
and reference streams. Also, modifies the feedback channels and channel map
of the Demux configuration to send voltage and current data to the
smart amplifier component and only voltage data to the host as Feedback
stream.
Signed-off-by: Dharageswari R <dharageswari.r@intel.com>
Changed the tplg file name in kernel driver according to Maintainers
feedback. So, topology file name here needs the corresponding change.
Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
It's important to know if theres no bytes because buffers are full/empty
or there is a problem with DMA.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Classless method should be used only when device is not accessible,
component pipeline and id may be useful information during debugging.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
It will help in creation multicore system. This trace is much more
descriptive than -EINVAL. Moreover changed return code to -EACCESS
to be more unique and suited.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Error trace is produced only when component NOT exist,
so it should be coherent with log message.
Moreover add full information about connection - source and sink
component id, then it will be easier to find corrupter one.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
For first run, allocated memory pointer has been written twice to
config->filter_config but freed only once - memory leak.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Reported by VERBOSE=1 CMAKE_BUILD_TYPE=Release ./scripts/build-tools.sh -l
and gcc version 9.3.0-10ubuntu2:
tools/logger/convert.c:630:5: error: ignoring return value of ‘freopen’,
declared with attribute warn_unused_result [-Werror=unused-result]
Tested with sof-test/test-case/check-suspend-resume-with-audio.sh
Fixes commit 6a84b4e945 ("sof: logger: reopen trace file upon EOF")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Reported by VERBOSE=1 CMAKE_BUILD_TYPE=Release ./scripts/build-tools.sh -l
and gcc version 9.3.0-10ubuntu2.
out_fd is not initialized on the first "goto err:" and this can result in
trying to close a random file descriptor.
Fixes commit 126060ae63 ("logger: Send parsed runtime log levels to FW
via debugFS")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
As reported by gcc 9.3.0-10ubuntu2 and
VERBOSE=1 CMAKE_BUILD_TYPE=Release ./scripts/build-tools.sh -l
‘__builtin___snprintf_chk’ output between 23 and 57 bytes
into a time_fmt destination of size 32
Fixes commit d7b535e282 ("logger: Add option to set timestamp
precision")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Currently pcm converter unit tests use mocked-up audio_stream
implementation which should be replaced with real FW implementation.
Signed-off-by: Artur Kloniecki <arturx.kloniecki@linux.intel.com>
Two recent commits moved and renamed some of eq-iir and eq-fir files,
without updating zephyr cmake files.
fixes ab4a608198 ("Audio: Move FIR core to math library")
fixes baa43558f6 ("sof: math: move iir_df2t function to src/math")
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
UUID objects are represented by struct sof_uuid_entry instances in SOF.
Instead of casting pointers to them to integers for passing around,
carry them as pointers until they have to be cast to integers for
packing into data structures. This also fixes printing UUID, using a
"%pU" format.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
There is any user in source code who need deeper recursion level,
reducing it allow to prevent compiler error message flood during
working with META_RECURSE clients (eg. trace system).
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
The PP_NARG() macro can only handle integer type arguments, use
META_COUNT_VARAGS_BEFORE_COMPILE() instead to avoid having to cast
pointer types to integers.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Trace system support arguments no larger that uint32_t,
so this condition should be checked for each trace.
Create separate CT_ASSERT, because of need to have
multiple instances of assertions with the same error
message, what is not possible for STATIC_ASSERT.
STATIC_ASSERT has better message printing, so
it's not replaced by new version.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
SOF tracing can only handle up to 32-bit long values, attempts to
trace 64-bit values produce unpredictable results. Fix such cases
by making sure values are within range and casting them to 32 bits.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>