Adds IO_PERF_MEASUREMENTS_STATE and IO_GLOBAL_PERF_DATA IPCs.
Those can be used to change state of I/O performance monitor and
extract the measured data.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
Implements I/O performance measurement feature. It counts number of
transmitted bytes or other events that happen in various interfaces.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
Add support for LLEXT building to google_rtc_audio_processing. Only
building in a stub configuration is supported, linking with a
prebuilt library should be implemented separately.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add support for LLEXT building to igo_nr. Only building in a stub
configuration is supported, linking with a prebuilt library should be
implemented separately.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add support for LLEXT building to dts. Only building in a stub
configuration is supported, linking with a prebuilt library should be
implemented separately.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
zephyr/CmakeLists.txt contains multiple conditional blocks with the
same condition, that can be trivially merged. This patch does that.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add support for LLEXT building to google_ctc_audio_processing. Only
building in a stub configuration is supported, linking with a
prebuilt library should be implemented separately.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
In certain configurations "asm" breaks compilation, use "__asm__"
instead.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add support for LLEXT building to RTNR. Only building in a stub
configuration is supported, linking with a prebuilt library should be
implemented separately. So far no platform is switched to building
RTNR as a module.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Change the definition of the system_agent_start function so that it returns
the error code returned by the module's entry point functions. Return the
created IadkModuleAdapter object via a parameter.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Add a definition specifying the size of space reserved in module memory for
module handle and a iadk adapter.
Add a brief description of the iadk module loading sequence.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
This patch avoids garbage values to be sent to mailbox by
peak_vol_update() as very first peak volume measurement in
stream start. The data structures cd->peak_vol and
cd->peak_regs.peak_meter were not cleared.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Use ccount for performance measurement for lnl to have a better comparison with
reference firmware.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
Use ccount for performance measurement for mtl to have a better comparison with
reference firmware.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
Change performance counters to use abstract function to use multiple
time sources via config.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
Change performance counter for telemetry to abstract one.
This enables choice of time source.
Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
This is done as preparation for testbench IPC4 support. The
update to IPC4 is simpler for a module adapter component.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Add support for enum controls in the plugin. Fix the get_attribute and
get_enumerated_name callbacks to use the enum control items instad of
the count.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This will avoid the duplicated code when configuring the IPC message for
kcontrol IO.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use the size of struct ipc4_module_large_config_reply instead of the
size of the pointer.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add an index field for kcontrols. This will be useful in differenciating
kcontrols of the same type in a widget. Modify the signature of the
control callback function to pass the index as an argument when creating
kcontrols. Pass 0 for ipc3 kcontrol builds as it will be unused in this
case anyway.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch adds build of topologies where DMIC0 related pipelines
and PCMs are set to operate with 96 kHz rate.
- sof-ptl-nocodec-dmic-4ch-96k.tplg
- sof-ptl-nocodec-fpga-dmic-4ch-96k.tplg
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch builds test topologies sof-ptl-nocodec.tplg,
sof-ptl-nocodec-fpga-2ch-pdm0.tplg, and sof-ptl-nocodec-fpga-4ch.tplg.
The changes include:
- New ptl.conf where DMIC and SSP versions are updated
vs. LNL and MTL.
- The definitions for blob 3.0 format are added to
instruct alsa-utils to process a new format SSP blob.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Remove the shim.h interface from RTOS layer as there is no use
of this interface anymore in SOF codebase.
Link: https://github.com/thesofproject/sof/issues/9015
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
All users of shim.h have been either removed and/or moved to
Zephyr, so the interface can be removed from codebase.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Memory power management has been moved to Zephyr for these platforms, so
this file can be removed. Removing this file allow to remove the SOF shim.h
layer.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Memory management has been moved to Zephyr for these platforms, so this
file can be removed. Removing this file allow to remove the SOF shim.h
layer.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Only native Zephyr drivers supported now for Intel cAVS, so dw-dma.h
can be removed. Removing this file allow to remove the SOF shim.h
layer.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The only remaining user of the SOF shim.h platform interface
is Intel Tiger Lake platform. And even for this target, only a very
small part of the interface is used. Everything else is either
not used, and/or moved to Zephyr.
Move the remaining definitions to the Tiger Lake implementation,
allowing the interface to be removed from SOF platform layer.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
sof/list.h is a software interface used by the audio pipeline
framework and should not be in the RTOS abstraction layer.
Link: https://github.com/thesofproject/sof/issues/9015
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Set DRC back as built-in (CONFIG_COMP_DRC=y) for these platforms.
DRC is now part of many common upstream topologies and as MTL
is a shipping platform, we cannot guarantee end-users have
sufficiently new kernel to support module loading.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>