~canonical-hwe-team/hwe-next/+git/sof:mt8195/v0.4

Last commit made on 2022-12-21
Get this branch:
git clone -b mt8195/v0.4 https://git.launchpad.net/~canonical-hwe-team/hwe-next/+git/sof

Branch merges

Branch information

Name:
mt8195/v0.4
Repository:
lp:~canonical-hwe-team/hwe-next/+git/sof

Recent commits

770190e... by "Joe.Cheng" <email address hidden>

module_adapter:dts: required code update for DTS library v1.0.7

1. Remove totalBufferLengthInBytes as it's handled by SDK internally now.
2. Add debug log to print config size

Signed-off-by: Joe.Cheng <email address hidden>

44f0d90... by "Joe.Cheng" <email address hidden>

module_adapter:dts: support module life cycle change

1. Add a free memory function to support PR#6230 and PR#6331,
   the latest prepare/reset API flow update of module_adapter.
2. This requires DTS library v1.0.7 to support this change.

Signed-off-by: Joe.Cheng <email address hidden>

92278bc... by Ming Jen Tai <email address hidden>

rtnr: Set 5ms period for RTNR on MT8195

With the release of RTNR version 20220728,
period for capturing pipeline requires at least 5ms.

This commit set 5ms period for RTNR in
MT8195 topology.

Signed-off-by: Ming Jen Tai <email address hidden>
(cherry picked from commit d77331fce1aa2a7056f310712a3fc3372ec405b1)

77ad7c7... by Ming Jen Tai <email address hidden>

rtnr: Fix log formatting for unsigned parameters

Signed-off-by: Ming Jen Tai <email address hidden>
(cherry picked from commit ef29d38ec2ff35adbb57d7dfac70ae6ab5fef250)

e2267cc... by Ming Jen Tai <email address hidden>

rtnr: refine set/get component data procedure

This commit refines the following procedures to
make it more stable on different platforms.

1. The initial data( not config ) defined in the topology
is empty. On some platforms rtnr_get_comp_data
might be called with the size equals 0 during
initialization. We only do the memcpy_s when the size
is valid.

2. There are 3 control widgets in RTNR topology. During
initialization, the initial data could be received via IPC
in the form of config+data+switch or config only. In
either case we now just copy the preceding portion
of the data since it has the required config.

Signed-off-by: Ming Jen Tai <email address hidden>
(cherry picked from commit 4a438b962b7201d15a87840cc330cda96bf0f608)

b6f4a6c... by Ming Jen Tai <email address hidden>

rtnr: Support setting data blob

This commit lets user to set data blob from host.

For example:
$ amixer -Dhw:0 controls | grep RTNR
numid=47,iface=MIXER,name='RTNR10.0 rtnr_bytes_10'
numid=48,iface=MIXER,name='RTNR10.0 rtnr_data_10'
numid=49,iface=MIXER,name='RTNR10.0 rtnr_enable_10'

$ sof-ctl -Dhw:0 -n 48 -b -s ./preset.bin

A new empty data control added to the topology will be used to send the
blob.
Model handler is now used for transferring the blob data.

Signed-off-by: Ming Jen Tai <email address hidden>

Code Refine

(cherry picked from commit 21d8948e730ca5e77e5fb7b1c7b3bcce1ab8f1e7)

312a489... by Pin-chih Lin <email address hidden>

codec_adapter:Fix dangling pointer issue in module reset

During module_reset and module_free Calls, pointers are not
getting reset to NULL which causes dangling pointer exceptions.
Initialize pointers to NULL after deallocating the memory.

This is cherry picked from commit 53b3bc6 on main but rollback to be
applied on codec_adapter instead.

Signed-off-by: Balakishorepati <email address hidden>
Signed-off-by: Pin-chih Lin <email address hidden>

1994173... by Pin-chih Lin <email address hidden>

codec_adapter: Modify reset API

Modify the definition of the reset API in the codec adapter interface
to make sure that it should reset the codec state back to
MODULE_INITIALIZED and free all memory that was allocated during the
prepare() callback. With this change, stopping and restarting streams
will always be guaranteed to invoke codec's prepare() callback.

This is cherry picked from commit b9889d5 on main but rollback to be
applied on codec_adapter instead. Skip cadence and passthrough code
update since they won't be used by mt8195 firmware.

Signed-off-by: Guennadi Liakhovetski <email address hidden>
Signed-off-by: Ranjani Sridharan <email address hidden>
Signed-off-by: Pin-chih Lin <email address hidden>

9981629... by Pin-chih Lin <email address hidden>

codec_adapter: get the actual period_bytes

At present codec_adapter, period_bytes is calculated assuming the schedule
period is 1ms, which could be arbitrary in practice determined by the
topology.

This commit replaces the calculation code by audio_stream_period_bytes().
In addition, the timing for getting period_bytes is moved to the beginning
of prepare() (prior to the codec prepare). At that moment it is guaranteed
that all parameters in components/buffers are settled through the pipeline.

This is cherry picked from commit b3106c3 on main but rollback to be
applied on codec_adapter instead.

Signed-off-by: Pin-chih Lin <email address hidden>

0f5f95b... by Mengdong Lin

CMake: pass firmware file micro version to rimage

SOF CMake defines SOF_MAJOR, SOF_MINOR and SOF_MICRO for 3 fields of
firmware file version major.minor.micro. But CMake only passes the major
and minor version to rimage.

Now CMake will also pass the mirco version to rimage, so that rimage can
write it to different firmware manifest headers for cAVS platforms and
then sof_ri_info.py will be able to dump entire file version info from
the firmware binary.

Signed-off-by: Mengdong Lin <email address hidden>