~canonical-hwe-team/hwe-next/+git/sof:cavs2.5-cherrypick

Last commit made on 2023-02-02
Get this branch:
git clone -b cavs2.5-cherrypick https://git.launchpad.net/~canonical-hwe-team/hwe-next/+git/sof

Branch merges

Branch information

Name:
cavs2.5-cherrypick
Repository:
lp:~canonical-hwe-team/hwe-next/+git/sof

Recent commits

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

topology1: set Speakers PPL running on C1 by default

For Intel platforms, C0 is on by default for processes necessary to
run in low power cases, while C1..3 for processes with higher loads.
This commit moves the default core to C1 for Speakers pipeline.

At the same time, we found this commit can resolve the DSP panic
issue on builds with 3P post-processing solutions running on Speakers
pipeline.

Signed-off-by: Pin-chih Lin <email address hidden>
(cherry picked from commit 7f80908f28b3535787d885adc4750f266fdf4b93)

11cd1e5... by Pin-chih Lin <email address hidden>

topology1: define SPK_PLAYBACK_CORE for Speakers running core

Defines the target core ID for Speakers and Echo Reference pipelines
explicitly. When GOOGLE_RTC_PROCESSING is defined, it will be set to
the same ID as DMIC48K pipeline.

Signed-off-by: Pin-chih Lin <email address hidden>
(cherry picked from commit cc0d9f09e4f309e9e70b9a47067c937ff26391d1)

43943c1... by Pin-chih Lin <email address hidden>

topology1: Align DAI format as SSP config to 24-bit for rt1019

This commit fixes Speakers audio issue by aligning bitwidth format
of DAI config to 24-bit as SSP config, which has been modified by
commit c8fe1927c <topology1: change audio format to 24 bit for rt1019>

Signed-off-by: Pin-chih Lin <email address hidden>
(cherry picked from commit 091948ccc05f7b370286035fb367a42d895d8f86)

7f8e01d... by Pin-chih Lin <email address hidden>

mux: consider sinks on same direction only for prepare/reset propagation

the change of mux component codes from PR#6762 added the condition
on capture to propagate prepare/reset command to upstream only if
there are no active sinks. The purpose is to support multiple
endpoints sourced from one capture device.

For topologies integrated with smart_amp component (as figured below),
a demux is placed on echo reference (capture) pipeline, providing
sink linkages to both PCMC and smart_amp. smart_amp is located on
playback pipeline whose direction is opposite from demux.

 PCMP ----> smart_amp ----> SSP(A) # playback ppl
             ^
             |
 PCMC <---- demux <----- SSP(B) # echo reference ppl

In practice, the playback pipelne including smart_amp can be set to
active or stopped independently.

While triggering prepare or reset to echo referene pipeline, the
smart_amp (one of the sink component for demux) may be in active state
but shouldn't block the prepare/reset command propagation through the
echo reference pipeline. In other words, the condition for mux prepare
and reset propagation should only regard sinks on capture (the same
direction as mux).

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

8c0f94b... by Pin-chih Lin <email address hidden>

dts: handle zero config size case in set_configuration

The generic module_set_configuration function returns 0 early when
the coming config size is 0. In aspect of DTS module, receiving 0
from module_set_configuration call means either config is obtained
succesfully or no config (size is 0). The present code doesn't
handle the latter case.

This commit handles the case in DTS module by early return.

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

1a7fd5c... by Pin-chih Lin <email address hidden>

topology: remove default param config from DTS control

In DTS module m4 file, the default control bytes used to have a
12-byte redundant param {0x0000, 0x000c, 0x0000}, the param id is
0 (the first 4-byte).

For DTS SDK version >= 1.0.8, error is reported while getting the
param with id=0.

This commit removes the redundant param from default control bytes.

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

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

topology: add waves-integrated tplg file for RT1019 codec

Add topology case {WAVES + RT1019 CODEC}

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

5807b05... by Pierre-Louis Bossart <email address hidden>

mux: simplify state machine for capture

The capture case with a demux is impossible to handle without changing
the logic of trigger propagation.

The only solution for now is to keep the component active and filter
out the PAUSE/PRE_RELEASE/RELEASE triggers. Only one PRE_START/START
trigger will be taken into account (for the first sink becoming
active), and the component is stopped only when there is no paused or
active sink.

In addition, when there are no sinks active, we need to drop the
source data on the floor to avoid an overrun.

Signed-off-by: Pierre-Louis Bossart <email address hidden>

c1bb029... by Pierre-Louis Bossart <email address hidden>

mux: only prepare when state is COMP_STATE_READY

The call to comp_set_state() returns -EINVAL when the state is not
READY. We should only change the state from READY to PREPARED, and
ignore all other cases.

Signed-off-by: Pierre-Louis Bossart <email address hidden>

ad67cb6... by Pierre-Louis Bossart <email address hidden>

mux: handle capture in mux_reset

Apply symmetry with playback case.

Signed-off-by: Pierre-Louis Bossart <email address hidden>