__soc_pcm_params_symmetry() macro is using "name" as parameter
which will be exchanged to rate/channles/sample_bit, like below
dai->name => dai->rate
dai->name => dai->channels
dai->name => dai->sample_bit
But, dai itself has "name". This means
1) It is very confusable naming
2) It can't use dai->name
This patch use "xxx" instead of "name"
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/8735vryoob.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Hi Mark
These patches adjusts to multi CPU/Codec on simple-card / audio-graph.
This is part of prepare for new audio-graph-card2.
Kuninori Morimoto (5):
ASoC: simple-card: remove unused variable from simple_parse_of()
ASoC: simple-card: use asoc_link_to_xxx() macro
ASoC: simple-card: use simple_props_to_xxx() macro
ASoC: audio-graph: use asoc_link_to_xxx() macro
ASoC: audio-graph: use simple_props_to_xxx() macro
sound/soc/generic/audio-graph-card.c | 43 +++++++++++++-----------
sound/soc/generic/simple-card.c | 50 +++++++++++++---------------
2 files changed, 47 insertions(+), 46 deletions(-)
--
2.25.1
There are few instances of KUNIT tests that are not properly defined.
This commit focuses on correcting these issues to match the standard
defined in the Documentation.
Issues Fixed:
- tests should end in KUNIT_TEST, some fixes have been applied to
correct issues were KUNIT_TESTS is used or KUNIT is not mentioned.
- Tests should default to KUNIT_ALL_TESTS
- Tests configs tristate should have if !KUNIT_ALL_TESTS
No functional changes other than CONFIG name changes
Changes since v2:
- Split patch 1 by subcomponents
- fix issues where config was *KUNIT_TEST_TEST
- properly threaded/chained messages
Nico Pache (6):
kunit: ASoC: topology: adhear to KUNIT formatting standard
kunit: software node: adhear to KUNIT formatting standard
kunit: ext4: adhear to KUNIT formatting standard
kunit: lib: adhear to KUNIT formatting standard
kunit: mptcp: adhear to KUNIT formatting standard
m68k: update configs to match the proper KUNIT syntax
arch/m68k/configs/amiga_defconfig | 6 +++---
arch/m68k/configs/apollo_defconfig | 6 +++---
arch/m68k/configs/atari_defconfig | 6 +++---
arch/m68k/configs/bvme6000_defconfig | 6 +++---
arch/m68k/configs/hp300_defconfig | 6 +++---
arch/m68k/configs/mac_defconfig | 6 +++---
arch/m68k/configs/multi_defconfig | 6 +++---
arch/m68k/configs/mvme147_defconfig | 6 +++---
arch/m68k/configs/mvme16x_defconfig | 6 +++---
arch/m68k/configs/q40_defconfig | 6 +++---
arch/m68k/configs/sun3_defconfig | 6 +++---
arch/m68k/configs/sun3x_defconfig | 6 +++---
drivers/base/test/Kconfig | 2 +-
drivers/base/test/Makefile | 2 +-
fs/ext4/.kunitconfig | 2 +-
fs/ext4/Kconfig | 2 +-
fs/ext4/Makefile | 2 +-
lib/Kconfig.debug | 21 +++++++++++++--------
lib/Makefile | 6 +++---
net/mptcp/Kconfig | 2 +-
net/mptcp/Makefile | 2 +-
net/mptcp/crypto.c | 2 +-
net/mptcp/token.c | 2 +-
sound/soc/Kconfig | 2 +-
sound/soc/Makefile | 4 ++--
25 files changed, 64 insertions(+), 59 deletions(-)
--
2.30.2
Current rsnd needs to call .prepare (P) for clock settings,
.trigger for playback start (S) and stop (E).
It should be called as below from SSI point of view.
P -> S -> E -> P -> S -> E -> ...
But, if you used MIXer, below case might happen
(2)
1: P -> S ---> E -> ...
2: P ----> S -> ...
(1) (3)
P(1) setups clock, but E(2) resets it. and starts playback (3).
In such case, it will reports "SSI parent/child should use same rate".
rsnd_ssi_master_clk_start() which is the main function at (P)
was called from rsnd_ssi_init() (= S) before,
but was moved by below patch to rsnd_soc_dai_prepare() (= P) to avoid
using clk_get_rate() which shouldn't be used under atomic context.
commit 4d230d1271 ("ASoC: rsnd: fixup not to call clk_get/set
under non-atomic")
Because of above patch, rsnd_ssi_master_clk_start() is now called at (P)
which is for non atomic context. But (P) is assuming that spin lock is
*not* used.
One issue now is rsnd_ssi_master_clk_start() is checking ssi->xxx
which should be protected by spin lock.
After above patch, adg.c had below patch for other reasons.
commit 06e8f5c842 ("ASoC: rsnd: don't call clk_get_rate()
under atomic context")
clk_get_rate() is used at probe() timing by this patch.
In other words, rsnd_ssi_master_clk_start() is no longer using
clk_get_rate() any more.
This means we can call it from rsnd_ssi_init() (= S) again which is
protected by spin lock.
This patch re-move it to under spin lock, and solves
1. checking ssi->xxx without spin lock issue.
2. clk setting / device start / device stop race condition.
Reported-by: Linh Phung T. Y. <linh.phung.jy@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/875z0x1jt5.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Hi Mark
This patch-set is for v2 of Multi-CPU/Codec support,
and some cleanups.
v1 had patch-conflict on simple-card / audio-graph with below.
v2 was solved it.
fa74c223b6
("ASoC: simple-card: fix possible uninitialized single_cpu local variable")
I want to add new audio-graph-card2 driver which can support
not only DPCM, but also Multi-CPU/Codec, and Codec2Codec.
And it is also supporting audio-graph-card2 base custom driver.
But before supporting such driver, we need to cleanup existing
simple-card / audio-graph, because these and new driver are
sharing code.
Link: https://lore.kernel.org/r/87wntmod33.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/20210408141639.GA39604@sirena.org.uk
Kuninori Morimoto (12):
ASoC: simple-card-utils: setup dai_props cpu_dai/codec_dai at initial timing
ASoC: simple-card-utils: remove li->dais/li->conf
ASoC: simple-card-utils: use for_each_prop_xxx()
ASoC: simple-card-utils: remove asoc_simple_parse_xxx()
ASoC: simple-card-utils: care multi DAI at asoc_simple_clean_reference()
ASoC: simple-card-utils: indicate dai_fmt if exist
ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug
ASoC: simple-card-utils: add simple_props_to_xxx() macro
ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform()
ASoC: simple-card-utils: tidyup debug info for clock
ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line
ASoC: simple-card-utils: tidyup asoc_simple_parse_convert()
include/sound/simple_card_utils.h | 107 ++++++++++------
sound/soc/generic/audio-graph-card.c | 64 ++++------
sound/soc/generic/simple-card-utils.c | 174 ++++++++++++++++----------
sound/soc/generic/simple-card.c | 70 ++++-------
4 files changed, 226 insertions(+), 189 deletions(-)
--
2.25.1
ASoC is now supporting multi DAI, but, current
simple-card / audio-graph are assuming fixed single DAI.
Now, asoc_simple_parse_xxx() macro is assuming single DAI.
To support multi-CPU/Codec, this patch unpack asoc_simple_parse_xxx()
macro, and uses "&dai_link->cpus[i]" instead of "dai_link->cpus".
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pmz0wf9u.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
We couldn't setup dai_props cpu_dai/codec_dai at the initial timing,
because "counting DAIs loop" and "detecting DAIs loop" were different.
But we can do it now, because these are using same loops.
This patch setups dai_props cpu_dai/codec_dai at the initial timing.
It can removes triky code from simple-card / audio-graph.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87tuocwfa8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
One missed property for TigerLake and need for separate descriptors
between ADL-S and the other flavors.
Libin Yang (1):
ASoC: SOF: Intel: add missing use_acpi_target_states for TGL platforms
Sathya Prakash M R (1):
ASoC: SOF: Intel: Update ADL P to use its own descriptor
sound/soc/sof/intel/pci-tgl.c | 20 +++++++++++++++++++-
sound/soc/sof/intel/tgl.c | 2 +-
2 files changed, 20 insertions(+), 2 deletions(-)
--
2.25.1