OSDN Git Service

tomoyo/tomoyo-test1.git
11 months agoASoC: uniphier: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:58:13 +0000 (22:58 +0000)]
ASoC: uniphier: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pm3x9m62.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: rockchip: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:58 +0000 (22:57 +0000)]
ASoC: rockchip: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/87r0od9m6i.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: mediatek: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:52 +0000 (22:57 +0000)]
ASoC: mediatek: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Trevor Wu <trevor.wu@mediatek.com>
Link: https://lore.kernel.org/r/87sf8t9m6n.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: samsung: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:41 +0000 (22:57 +0000)]
ASoC: samsung: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87ttt99m6y.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: drm/vc4: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:35 +0000 (22:57 +0000)]
ASoC: drm/vc4: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87v8dp9m74.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: cirrus: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:29 +0000 (22:57 +0000)]
ASoC: cirrus: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lore.kernel.org/r/87wmy59m7a.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: jz4740: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:24 +0000 (22:57 +0000)]
ASoC: jz4740: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87y1il9m7f.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: meson: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:18 +0000 (22:57 +0000)]
ASoC: meson: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87zg319m7m.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:09 +0000 (22:57 +0000)]
ASoC: intel: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/871qgdb0sa.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: atmel: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:57:04 +0000 (22:57 +0000)]
ASoC: atmel: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87350tb0sg.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: tegra: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:58 +0000 (22:56 +0000)]
ASoC: tegra: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/874jl9b0sl.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: sunxi: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:52 +0000 (22:56 +0000)]
ASoC: sunxi: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/875y5pb0sr.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: ux500: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:46 +0000 (22:56 +0000)]
ASoC: ux500: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/877cq5b0sx.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: au1x: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:41 +0000 (22:56 +0000)]
ASoC: au1x: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/878ralb0t3.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: qcom: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:34 +0000 (22:56 +0000)]
ASoC: qcom: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87a5v1b0ta.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: rsnd: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:28 +0000 (22:56 +0000)]
ASoC: rsnd: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87bkfhb0tg.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: pxa: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:22 +0000 (22:56 +0000)]
ASoC: pxa: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87cyzxb0tl.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: stm: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:17 +0000 (22:56 +0000)]
ASoC: stm: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87edkdb0tq.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: sti: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:11 +0000 (22:56 +0000)]
ASoC: sti: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87fs4tb0tw.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: sof: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:56:05 +0000 (22:56 +0000)]
ASoC: sof: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87h6p9b0u2.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: img: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:59 +0000 (22:55 +0000)]
ASoC: img: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87il9pb0u8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: fsl: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:53 +0000 (22:55 +0000)]
ASoC: fsl: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87jzu5b0ue.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: bcm: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:47 +0000 (22:55 +0000)]
ASoC: bcm: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87leelb0uk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: pxa: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:41 +0000 (22:55 +0000)]
ASoC: pxa: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87msz1b0uq.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: dwc: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:27 +0000 (22:55 +0000)]
ASoC: dwc: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Maxim Kochetkov <fido_max@inbox.ru>
Link: https://lore.kernel.org/r/87o7jhb0v4.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: amd: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:21 +0000 (22:55 +0000)]
ASoC: amd: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pm3xb0va.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: adi: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:15 +0000 (22:55 +0000)]
ASoC: adi: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87r0odb0vg.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: adi: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:55:06 +0000 (22:55 +0000)]
ASoC: adi: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87sf8tb0vp.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: ti: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:54:59 +0000 (22:54 +0000)]
ASoC: ti: merge DAI call back functions into ops

ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87ttt9b0vw.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: soc-dai.h: merge DAI call back functions into ops
Kuninori Morimoto [Tue, 8 Aug 2023 22:54:50 +0000 (22:54 +0000)]
ASoC: soc-dai.h: merge DAI call back functions into ops

snd_soc_dai_driver has .ops for call back functions (A), but it also
has other call back functions (B). It is duplicated and confusable.

struct snd_soc_dai_driver {
...
 ^ int (*probe)(...);
 | int (*remove)(...);
(B) int (*compress_new)(...);
 | int (*pcm_new)(...);
 v ...
(A) const struct snd_soc_dai_ops *ops;
...
}

This patch merges (B) into (A).

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87v8dpb0w6.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: rt: Drop unused GPIO includes
Mark Brown [Sun, 13 Aug 2023 23:09:18 +0000 (00:09 +0100)]
ASoC: rt: Drop unused GPIO includes

Merge series from Linus Walleij <linus.walleij@linaro.org>:

These drivers include legacy GPIO headers for no reason
at all, so get rid of the includes.

11 months agosound: Remove redundant of_match_ptr() macro
Mark Brown [Sun, 13 Aug 2023 23:09:10 +0000 (00:09 +0100)]
sound: Remove redundant of_match_ptr() macro

Merge series from Ruan Jinjie <ruanjinjie@huawei.com>:

Since these sound drivers depend on CONFIG_OF, there is
no need to wrap the macro of_match_ptr() here.

11 months agoASoC: rt715: Drop GPIO includes
Linus Walleij [Sat, 12 Aug 2023 19:56:52 +0000 (21:56 +0200)]
ASoC: rt715: Drop GPIO includes

This driver include two GPIO legacy headers and one contemporary,
yet doesn't use symbols from any of them. Drop the includes.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-14-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt5682-sdw: Drop GPIO includes
Linus Walleij [Sat, 12 Aug 2023 19:56:51 +0000 (21:56 +0200)]
ASoC: rt5682-sdw: Drop GPIO includes

This driver include two GPIO legacy headers yet doesn't use
symbols from any of them. Drop the includes.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-13-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt5660: Drop GPIO includes
Linus Walleij [Sat, 12 Aug 2023 19:56:50 +0000 (21:56 +0200)]
ASoC: rt5660: Drop GPIO includes

This driver include two GPIO legacy headers yet doesn't use
symbols from any of them. Drop the includes.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-12-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt5659: Drop legacy GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:49 +0000 (21:56 +0200)]
ASoC: rt5659: Drop legacy GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. It is using the new consumer
include <linux/gpio/consumer.h already. Drop the surplus
include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-11-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt5645: Drop legacy GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:48 +0000 (21:56 +0200)]
ASoC: rt5645: Drop legacy GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. It is using the new consumer
include <linux/gpio/consumer.h already. Drop the surplus
include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-10-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt5514: Drop GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:47 +0000 (21:56 +0200)]
ASoC: rt5514: Drop GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. Drop the include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-9-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt5514-spi: Drop GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:46 +0000 (21:56 +0200)]
ASoC: rt5514-spi: Drop GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. Drop the include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-8-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1308: Drop GPIO includes
Linus Walleij [Sat, 12 Aug 2023 19:56:45 +0000 (21:56 +0200)]
ASoC: rt1308: Drop GPIO includes

This driver include two GPIO legacy headers yet doesn't use
symbols from any of them. Drop the includes.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-7-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1305: Drop GPIO includes
Linus Walleij [Sat, 12 Aug 2023 19:56:44 +0000 (21:56 +0200)]
ASoC: rt1305: Drop GPIO includes

This driver include two GPIO legacy headers yet doesn't use
symbols from any of them. Drop the includes.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-6-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1019: Drop GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:43 +0000 (21:56 +0200)]
ASoC: rt1019: Drop GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. Drop the include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-5-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1016: Drop GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:42 +0000 (21:56 +0200)]
ASoC: rt1016: Drop GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. Drop the include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-4-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1015p: Drop legacy GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:41 +0000 (21:56 +0200)]
ASoC: rt1015p: Drop legacy GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. It is using the new consumer
include <linux/gpio/consumer.h already. Drop the surplus
include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-3-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1015: Drop GPIO include
Linus Walleij [Sat, 12 Aug 2023 19:56:40 +0000 (21:56 +0200)]
ASoC: rt1015: Drop GPIO include

This driver include the GPIO legacy header <linux/gpio.h yet
doesn't use symbols from it. Drop the include.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-2-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: rt1011: Drop GPIO includes
Linus Walleij [Sat, 12 Aug 2023 19:56:39 +0000 (21:56 +0200)]
ASoC: rt1011: Drop GPIO includes

This driver include two GPIO legacy headers yet doesn't use
symbols from any of them. Drop the includes.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org
Link: https://lore.kernel.org/r/20230812-descriptors-asoc-v1-1-eb4dca1f68af@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoALSA: Remove redundant of_match_ptr()
Ruan Jinjie [Fri, 11 Aug 2023 07:14:26 +0000 (15:14 +0800)]
ALSA: Remove redundant of_match_ptr()

The driver depends on CONFIG_OF, it is not necessary to use
of_match_ptr() here.

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com
Reviewed-by: Takashi Iwai <tiwai@suse.de
Link: https://lore.kernel.org/r/20230811071426.2343133-6-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: ssm3515: Remove redundant of_match_ptr()
Ruan Jinjie [Fri, 11 Aug 2023 07:14:25 +0000 (15:14 +0800)]
ASoC: ssm3515: Remove redundant of_match_ptr()

The driver depends on CONFIG_OF, it is not necessary to use
of_match_ptr() here.

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com
Link: https://lore.kernel.org/r/20230811071426.2343133-5-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: sunxi: sun4i-spdif: Remove redundant of_match_ptr()
Ruan Jinjie [Fri, 11 Aug 2023 07:14:24 +0000 (15:14 +0800)]
ASoC: sunxi: sun4i-spdif: Remove redundant of_match_ptr()

The driver depends on CONFIG_OF, it is not necessary to use
of_match_ptr() here.

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com
Link: https://lore.kernel.org/r/20230811071426.2343133-4-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: atmel: tse850-pcm5142: Remove redundant of_match_ptr()
Ruan Jinjie [Fri, 11 Aug 2023 07:14:23 +0000 (15:14 +0800)]
ASoC: atmel: tse850-pcm5142: Remove redundant of_match_ptr()

The driver depends on CONFIG_OF, it is not necessary to use
of_match_ptr() here.

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com
Link: https://lore.kernel.org/r/20230811071426.2343133-3-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: atmel: Remove redundant of_match_ptr()
Ruan Jinjie [Fri, 11 Aug 2023 07:14:22 +0000 (15:14 +0800)]
ASoC: atmel: Remove redundant of_match_ptr()

The driver depends on CONFIG_OF, it is not necessary to use
of_match_ptr() here.

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com
Link: https://lore.kernel.org/r/20230811071426.2343133-2-ruanjinjie@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: cygnus: Remove unused declarations
Yue Haibing [Fri, 11 Aug 2023 11:00:21 +0000 (19:00 +0800)]
ASoC: cygnus: Remove unused declarations

Commit a6ee05d94e8f ("ASoC: cygnus: Add Cygnus audio DAI driver")
declared but never implemented these.

Signed-off-by: Yue Haibing <yuehaibing@huawei.com
Link: https://lore.kernel.org/r/20230811110021.31656-1-yuehaibing@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: q6dsp: Remove unused declaration
Yue Haibing [Fri, 11 Aug 2023 10:01:30 +0000 (18:01 +0800)]
ASoC: q6dsp: Remove unused declaration

Commit 5477518b8a0e ("ASoC: qdsp6: audioreach: add q6apm support")
declared but never implemented these.

Signed-off-by: Yue Haibing <yuehaibing@huawei.com
Link: https://lore.kernel.org/r/20230811100130.36664-1-yuehaibing@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org
11 months agoASoC: SOF: Intel: Remove duplicated include in lnl.c
Yang Li [Thu, 10 Aug 2023 00:55:55 +0000 (08:55 +0800)]
ASoC: SOF: Intel: Remove duplicated include in lnl.c

./sound/soc/sof/intel/lnl.c: hda.h is included more than once.

Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20230810005555.4610-1-yang.lee@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: rt715: Add software reset in io init
Jack Yu [Thu, 10 Aug 2023 09:27:45 +0000 (09:27 +0000)]
ASoC: rt715: Add software reset in io init

Add software reset before setting preset registers to make sure
all the registers are the default value before preset.

Signed-off-by: Jack Yu <jack.yu@realtek.com>
Link: https://lore.kernel.org/r/4f405c7deb9642e1a8599c5f103b5759@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agodt-bindings: sound: gtm601: Add description
Guido Günther [Wed, 9 Aug 2023 18:50:10 +0000 (20:50 +0200)]
dt-bindings: sound: gtm601: Add description

This allows to us to document the channel and sampling
rate requirements.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/b6e85fdfaa87d7684a120ccedc1e07d8fe87957f.1691606520.git.agx@sigxcpu.org
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: Initialize chip in hda_sdw_check_wakeen_irq()
Nathan Chancellor [Wed, 9 Aug 2023 18:12:07 +0000 (11:12 -0700)]
ASoC: SOF: Intel: Initialize chip in hda_sdw_check_wakeen_irq()

Clang warns (or errors with CONFIG_WERROR):

  sound/soc/sof/intel/hda.c:423:6: error: variable 'chip' is uninitialized when used here [-Werror,-Wuninitialized]
    423 |         if (chip && chip->check_sdw_wakeen_irq)
        |             ^~~~
  sound/soc/sof/intel/hda.c:418:39: note: initialize the variable 'chip' to silence this warning
    418 |         const struct sof_intel_dsp_desc *chip;
        |                                              ^
        |                                               = NULL
  1 error generated.

Add the missing initialization, following the pattern of the other irq
functions.

Fixes: 9362ab78f175 ("ASoC: SOF: Intel: add abstraction for SoundWire wake-ups")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20230809-intel-hda-missing-chip-init-v1-1-61557ca6fa8a@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: Merge up fixes
Mark Brown [Wed, 9 Aug 2023 23:19:02 +0000 (00:19 +0100)]
ASoC: Merge up fixes

For the benefit of CI

11 months agoASoC: cs35l56: Bugfixes
Mark Brown [Wed, 9 Aug 2023 16:40:39 +0000 (17:40 +0100)]
ASoC: cs35l56: Bugfixes

Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:

Miscellaneous bugfixes for the cs35l56 codec driver.

11 months agoASoC: SOF: ipc4-topology: Update the basecfg for copier earlier
Peter Ujfalusi [Wed, 9 Aug 2023 12:56:56 +0000 (15:56 +0300)]
ASoC: SOF: ipc4-topology: Update the basecfg for copier earlier

The sof_ipc4_update_resource_usage() call updates the CPC value in basecfg
and it must be done prior to making a copy of the copier configuration
for the init message.
Other module types do the resource update as last step or in case of a
process module at the correct time, before the memcpy.

Fixes: d8a2c9879349 ("ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Chao Song <chao.song@linux.intel.com>
Link: https://lore.kernel.org/r/20230809125656.27585-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: samsung: midas_wm1811: Fix 'Headphone Switch' control creation
Marek Szyprowski [Wed, 9 Aug 2023 10:04:46 +0000 (12:04 +0200)]
ASoC: samsung: midas_wm1811: Fix 'Headphone Switch' control creation

'Headphone Switch' control is already registered from
sound/soc/codecs/wm_hubs.c:479, so duplicating it in midas_wm1811
causes following probe failure:

midas-audio sound: control 2:0:0:Headphone Switch:0 is already present
midas-audio sound: ASoC: Failed to add Headphone Switch: -16
midas-audio sound: Failed to register card: -16
midas-audio: probe of sound failed with error -16

Fix this by dropping duplicated control.

Fixes: d27224a45e54 ("ASoC: samsung: midas_wm1811: Map missing jack kcontrols")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20230809100446.2105825-1-m.szyprowski@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: rsnd: call of_node_put() when break
Kuninori Morimoto [Wed, 9 Aug 2023 01:07:45 +0000 (01:07 +0000)]
ASoC: rsnd: call of_node_put() when break

We need to call of_node_put() when break from
for_each_child_of_node(). This patch add missing
of_node_put().

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@inria.fr>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87bkfh9g68.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: cs35l56: Call wm_adsp_power_down() before reloading firmware
Simon Trimmer [Tue, 8 Aug 2023 16:47:02 +0000 (17:47 +0100)]
ASoC: cs35l56: Call wm_adsp_power_down() before reloading firmware

When cs35l56_system_resume() needs to reload firmware it should call
wm_adsp_power_down() to put cs_dsp into a powered-down state before
cs35l56_secure_patch() or cs35l56_patch() calls wm_adsp_power_up().

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808164702.21272-6-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: wm_adsp: Expose the DSP power down actions as wm_adsp_power_down()
Simon Trimmer [Tue, 8 Aug 2023 16:47:01 +0000 (17:47 +0100)]
ASoC: wm_adsp: Expose the DSP power down actions as wm_adsp_power_down()

To support self-booting DSPs that operate outside of a conventional DAPM
event life cycle expose a companion function to wm_adsp_power_up() so
that the correct state of the DSP firmware and controls can be recorded.

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808164702.21272-5-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: cs35l56: Wait for control port ready during system-resume
Richard Fitzgerald [Tue, 8 Aug 2023 16:47:00 +0000 (17:47 +0100)]
ASoC: cs35l56: Wait for control port ready during system-resume

The CS35L56 could be hard-reset during a system suspend-resume cycle,
either by the codec driver, in cs35l56_system_resume_early(), or by ACPI.
After a hard reset the driver must wait for the control port to be ready
(datasheet tIRS time) before attempting to access the CS35L56.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808164702.21272-4-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: cs35l56: Don't rely on GPIOD_OUT_LOW to set RESET initially low
Richard Fitzgerald [Tue, 8 Aug 2023 16:46:59 +0000 (17:46 +0100)]
ASoC: cs35l56: Don't rely on GPIOD_OUT_LOW to set RESET initially low

The ACPI setting for a GPIO default state has higher priority than the
flag passed to devm_gpiod_get_optional() so ACPI can override the
GPIOD_OUT_LOW. Explicitly set the GPIO low when hard resetting.

Although GPIOD_OUT_LOW can't be relied on this doesn't seem like a
reason to stop passing it to devm_gpiod_get_optional(). So we still pass
it to state our intent, but can deal with it having no effect.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808164702.21272-3-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: cs35l56: Avoid uninitialized variable in cs35l56_set_asp_slot_positions()
Richard Fitzgerald [Tue, 8 Aug 2023 16:46:58 +0000 (17:46 +0100)]
ASoC: cs35l56: Avoid uninitialized variable in cs35l56_set_asp_slot_positions()

Re-implement setting of ASP TDM slots so that only the common loop to
build the register word is factored out.

The original cs35l56_set_asp_slot_positions() had an apparent
uninitialized variable if the passed register address was neither of the
ASP slot registers. In fact this would never happen because the calling
code passed valid registers.

While it's trivial to initialize the variable or add a default case,
actually the only common code was the loop at the end of the function,
which simply manipulates some mask values and is identical for either
register. Factoring out the regmap_write() didn't really gain anything.

So instead re-implement the code to replace the original function with
cs35l56_make_tdm_config_word() that only does the loop, and change the
calling code to call regmap_write() directly.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808164702.21272-2-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: pxa: address unused variable warning
Yu Liao [Tue, 8 Aug 2023 13:25:19 +0000 (21:25 +0800)]
ASoC: pxa: address unused variable warning

gcc with W=1 reports
sound/soc/pxa/pxa-ssp.c:594:15: warning: variable 'acds' set but not used [-Wunused-but-set-variable]
                                            ^
This variable is not used so remove it.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308040619.BEismjFv-lkp@intel.com/
Signed-off-by: Yu Liao <liaoyu15@huawei.com>
Link: https://lore.kernel.org/r/20230808132519.637452-1-liaoyu15@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: codecs: aw88261: avoid uninitialized variable warning
Arnd Bergmann [Tue, 8 Aug 2023 12:56:54 +0000 (14:56 +0200)]
ASoC: codecs: aw88261: avoid uninitialized variable warning

aw88261_reg_update() returns an unintialized error code in the
success path:

sound/soc/codecs/aw88261.c:651:7: error: variable 'ret' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                if (aw_dev->prof_cur != aw_dev->prof_index) {
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/codecs/aw88261.c:660:9: note: uninitialized use occurs here
        return ret;
               ^~~
sound/soc/codecs/aw88261.c:651:3: note: remove the 'if' if its condition is always true
                if (aw_dev->prof_cur != aw_dev->prof_index) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Return zero instead here.

Fixes: 028a2ae256916 ("ASoC: codecs: Add aw88261 amplifier driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230808125703.1611325-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Simplify get_slave_info
Charles Keepax [Tue, 8 Aug 2023 13:20:13 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Simplify get_slave_info

Now the first device on a link is not treated specially there is no
need to have a separate loop to handle the current link over the
future links, as the logic is identical. Combine this all into a
single processing loop.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-12-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Allow different devices on the same link
Charles Keepax [Tue, 8 Aug 2023 13:20:12 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Allow different devices on the same link

If the current code encounters a new type of device on a SoundWire
link, it will abort processing that link and move onto the next
link. However, there is no reason to disallow this setup, it would
appear this was being disallowed to work around issues introduced
by only the first endpoint on each link being checked, which is now
fixed.

The device type shouldn't determine which DAI link it is connected to,
the group ID and aggregation status should.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-11-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Support multiple groups on the same link
Charles Keepax [Tue, 8 Aug 2023 13:20:11 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Support multiple groups on the same link

The current code checks the first device on a link and assumes
that all the other devices on the link will have the same endpoint
aggregation status and endpoint group ID.

Say for example a system looked like:

SDW0 - Amp 1 (Aggregated, Group 1), Mic 1 (Aggregated, Group 2)
SDW1 - Amp 2 (Aggregated, Group 1), Mic 2 (Aggregated, Group 2)

The current code would create the DAI link for the aggregated amps,
although it is worth noting that the only reason Mic 2 is not added is
the additional check that aborts processing the link when the device
changes. Then when processing the DAI link for the microphones, Mic
2 would not be added, as the check will only be done on the first
device, which would be Amp 2 and thus the wrong group, causing the
whole link to be skipped.

Move the endpoint check to be for each device rather than the first
device on each link.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Device loop should not always start at adr_index
Charles Keepax [Tue, 8 Aug 2023 13:20:10 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Device loop should not always start at adr_index

The current loops at the top of create_sdw_dailink process the devices
on each link starting from device index adr_index. But adr_index is only
meaningful on the first on these SoundWire links, as it is the index of
the current device on that link. This means devices will be skipped on
later links.

Say for example the system looks like this:

SDW0 - Codec (Not Aggregated), Amp 1 (Aggregated, Group 1)
SDW1 - Amp 2 (Aggregated, Group 1), Amp 3 (Aggregated, Group 1)

The code should create 2 DAI links, one for the CODEC and one for the
aggregated amps. It will create the DAI link for the codec no problem.
When it creates the DAI link for Group 1 however, create_sdw_dailink
will be called with an adr_index of 1, since that is the index of Amp
1 on SDW0.  However, as the loop in create_sdw_dailink moves onto SDW1
it will again start from adr_index, skipping Amp 2. Resulting in the amp
DAI link only have amps 1 and 3 in it.

It is reasonable to start at adr_index on the first link, since
earlier devices have by definition already been processed. However,
update the code when processing later links to handle all devices.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Move range check of codec_conf into inner loop
Charles Keepax [Tue, 8 Aug 2023 13:20:09 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Move range check of codec_conf into inner loop

There are two problems with the current range check on the codec_conf
array.

Firstly, adr_link_next->num_adr refers to the number of devices
on the current SoundWire link, but adr_index refers to the first
SoundWire link involved in the DAI link. This means that subtracting
these two numbers is only meaningful on the first SoundWire link in the
DAI and broken on later links.

Secondly, the intention of the range check is to add the number
of remaining devices on the currently link to the current index
and ensure enough space remains. However, this assumes that all
remaining devices on the SoundWire link will be added to the current
DAI link. Ideally this would not be the case, and devices could be
grouped as the user desired.

Moving the range check into the inner loop both simplifies the code (no
need to add and subtract offsets) and allows future refactoring such
that devices on a single SoundWire link don't have to all be grouped onto
a single DAI link. The check will be processed slightly more often since
it is processed for each device rather each link but this is probe time
and the numbers involved are very small here (4 links, likely no more
than 2-4 devices per link).

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-8-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Update DLC index each time one is added
Charles Keepax [Tue, 8 Aug 2023 13:20:08 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Update DLC index each time one is added

In create_sdw_dailink, rather than bulk updating the index into the
DAI link components array, at the end of processing a link, do so each
time the code adds a new component. This simplifies things slightly,
as an intermediate variable is no longer needed to track the current
place in the DAI link components array.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-7-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Pull device loop up into create_sdw_dailink
Charles Keepax [Tue, 8 Aug 2023 13:20:07 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Pull device loop up into create_sdw_dailink

The loops which fill the codec DAI link component structures are split
across create_sdw_dailink and create_codec_dai_name. This causes the
code to be rather confusing, needing to return out the function to allow
the upper loop to iterate. Remove the create_codec_dai_name helper and
pull its code up into create_sdw_dailink, this makes it more obvious
what is happening in the code. This patch makes no functional change
just hoists the code up a level.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-6-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Add helper to create a single codec DLC
Charles Keepax [Tue, 8 Aug 2023 13:20:06 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Add helper to create a single codec DLC

Add a helper function to create a single codec DAI link component
structure. This sets things up for more refactoring of the creating of
the DAI links.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof-sdw: Move check for valid group id to get_dailink_info
Charles Keepax [Tue, 8 Aug 2023 13:20:05 +0000 (14:20 +0100)]
ASoC: intel: sof-sdw: Move check for valid group id to get_dailink_info

Move the check for a valid group id into get_dailink_info as
well. This does cause a slight change in behaviour in that the system
will return an error rather than just ignoring the link with an
invalid group id. There are presently no systems with invalid group
ids in mainline and failing seems more appropriate since it will
better highlight the code needs fixing.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Check link mask validity in get_dailink_info
Charles Keepax [Tue, 8 Aug 2023 13:20:04 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Check link mask validity in get_dailink_info

As get_dailink_info spins through all the links anyway simply check the
link masks there. This saves an extra check and means the code will
fail earlier if the mask is invalid.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Remove duplicate NULL check on adr_link
Charles Keepax [Tue, 8 Aug 2023 13:20:03 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Remove duplicate NULL check on adr_link

get_dailink_info already checked if the adr_link pointer was NULL so
there is no need to recheck later in sof_card_dai_links_create.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: intel: sof_sdw: Printk's should end with a newline
Charles Keepax [Tue, 8 Aug 2023 13:20:02 +0000 (14:20 +0100)]
ASoC: intel: sof_sdw: Printk's should end with a newline

Add the missing new lines.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: imx-audio-rpmsg: Remove redundant initialization owner in imx_audio_rpmsg_driver
Li Zetao [Tue, 8 Aug 2023 02:17:28 +0000 (10:17 +0800)]
ASoC: imx-audio-rpmsg: Remove redundant initialization owner in imx_audio_rpmsg_driver

The module_rpmsg_driver() will set "THIS_MODULE" to driver.owner when
register a rpmsg_driver driver, so it is redundant initialization to set
driver.owner in the statement. Remove it for clean code.

Signed-off-by: Li Zetao <lizetao1@huawei.com>
Link: https://lore.kernel.org/r/20230808021728.2978035-1-lizetao1@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: amd: acp3x-rt5682-max9836: Configure jack as not detecting Line Out
Alper Nebi Yasak [Sat, 5 Aug 2023 16:22:16 +0000 (19:22 +0300)]
ASoC: amd: acp3x-rt5682-max9836: Configure jack as not detecting Line Out

The RT5682, RT1015 and RT1015p codecs used in this driver do not seem
capable of distinguishing Line Out connections from Headphone, but
the driver configures its jack object as if it can. Remove the wrong
value from the jack creation call to avoid any confusion.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Link: https://lore.kernel.org/r/20230805162216.441410-1-alpernebiyasak@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: intel: hda: Clean up link DMA for IPC3 during stop
Ranjani Sridharan [Tue, 8 Aug 2023 11:06:27 +0000 (14:06 +0300)]
ASoC: SOF: intel: hda: Clean up link DMA for IPC3 during stop

With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa6654c ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: https://github.com/thesofproject/linux/issues/4455
Closes: https://github.com/thesofproject/linux/issues/4482
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217673
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230808110627.32375-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: add LunarLake support
Mark Brown [Tue, 8 Aug 2023 12:28:53 +0000 (13:28 +0100)]
ASoC: SOF: Intel: add LunarLake support

Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

This patchset first fixes a number of errors made in the hda-mlink
support, then adds Lunar Lake definitions. The main contribution is
the hda-dai changes where the HDaudio DMA is now used for SSP, DMIC
and SoundWire. In previous hardware the GPDMA (aka DesignWare) was
used and controlled by the audio firmware. The volume of code is
minimized with the abstraction added in previous kernel cycles.

Due to cross-dependencies between ASoC and SoundWire trees, the full
support for jack detection will be deferred to the next kernel
cycle. There's not much point to ask for a sync of the two trees to
support one patch for each tree - we are at -rc5 already.

11 months agoASoC: Intel: sof-sdw-cs42142: fix for codec button mapping
jairaj-arava [Mon, 7 Aug 2023 21:49:59 +0000 (16:49 -0500)]
ASoC: Intel: sof-sdw-cs42142: fix for codec button mapping

The CS42142 soundwire codec button mapping is corrected to
handle the button detection correctly.

Fixes: 43cdea08a4ac ("ASoC: Intel: sof_sdw: Add helper function for cs42l42 codec")
Signed-off-by: jairaj-arava <jairaj.arava@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20230807215000.515846-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: Intel: sof-sdw: update jack detection quirk for LunarLake RVP
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:50:00 +0000 (16:50 -0500)]
ASoC: Intel: sof-sdw: update jack detection quirk for LunarLake RVP

Experimental results show that the headset is only detected with the
JD2 quirk.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20230807215000.515846-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-mlink: add sublink to dev_dbg() log
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:59 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-mlink: add sublink to dev_dbg() log

When using more than one sublink for amplifier aggregation, we need to
add the sublink info to debug the programming sequences.

No functional change, only additional precisions in the log.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-21-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: IPC4: clarify 'pipeline_ids' usage and logs
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:58 +0000 (16:09 -0500)]
ASoC: SOF: IPC4: clarify 'pipeline_ids' usage and logs

A pipeline is identified by two indices: 'instance_id' and 'pipeline_id'

This is clearly seen in kernel logs when creating a pipeline

"Create widget pipeline.20 instance 0 - pipe 20 - core 0"

but other logs are less clear

"ipc4 set pipeline 1 state 4"

Change definitions and logs to make sure the logs clearly identify
which of the two indices are used in state transitions.

No functional change.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-20-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai-ops: reset device count for SoundWire DAIs
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:57 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai-ops: reset device count for SoundWire DAIs

The solution used before LunarLake relies on a 'Multi-gateway'
firmware configuration. This is no longer needed with the DMA hardware
handling multiple links directly. To avoid adding a platform-specific
quirk in the generic IPC4 code, this patch resets the device count
when fetching the stream context.

Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-19-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-mlink: add helper to get sublink LSDIID register
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:56 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-mlink: add helper to get sublink LSDIID register

We need to retrieve the current value to deal with the HDAudio
WAKEEN/WAKESTS setup.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-18-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: add abstraction for SoundWire wake-ups
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:55 +0000 (16:09 -0500)]
ASoC: SOF: Intel: add abstraction for SoundWire wake-ups

The existing code cannot work for LunarLake, let's add a layer of
abstraction.

No functional change in this patch.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-17-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda: add hw_params/free/trigger callbacks
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:54 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda: add hw_params/free/trigger callbacks

These callbacks are just wrappers to keep the code relatively clean.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-16-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai: add helpers for SoundWire callbacks
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:53 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai: add helpers for SoundWire callbacks

During the hw_params and hw_free stages, we need to map the stream tag
and channels in the PCMSyCM registers.

The trigger callback is just a wrapper.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-15-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai-ops: add ops for SoundWire
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:52 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai-ops: add ops for SoundWire

Same abstraction as SSP/DMIC, with only the get_hlink helper changing.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-14-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai-ops: only allocate/release streams for first CPU DAI
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:51 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai-ops: only allocate/release streams for first CPU DAI

When we have multiple CPU DAIs in a dailink, typically for SoundWire
aggregated solutions with amplifiers on multiple links, we only want
to allocate one HDaudio stream_tag. The simplest solution is to
allocate the hext_stream/stream_tag for the DAI with index 0 in the
dailink, and reuse the same stream for all other CPU DAIs.

This assumption relies on serialization of DAIs by the ASoC core,
where all CPU DAIs are handled in a loop.

The stream release follows the same idea of releasing the tag for the
first DAI only. Ideally we would want the loop to be handled in
reverse-order to summetry, but there is no risk of reusing a
stream_tag which is no longer valid.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-13-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai: add DMIC support
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:50 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai: add DMIC support

We can reuse the same helpers as for SSP, with just the link type
being different.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-12-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai: add ops for SSP
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:49 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai: add ops for SSP

Add new ops for SSP.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-11-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: hda-dai-ops: add/select DMA ops for SSP
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:48 +0000 (16:09 -0500)]
ASoC: SOF: Intel: hda-dai-ops: add/select DMA ops for SSP

The DMA widget ops are almost similar to the HDaudio ones, with the
exception of codec_dai_set_hext_stream() which is not relevant and the
format calculation which isn't dependent on the codec dai.

The DMA ops can be selected only starting with ACE_2_0.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-10-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
11 months agoASoC: SOF: Intel: LNL: enable DMIC/SSP offload in probe/resume
Pierre-Louis Bossart [Mon, 7 Aug 2023 21:09:47 +0000 (16:09 -0500)]
ASoC: SOF: Intel: LNL: enable DMIC/SSP offload in probe/resume

In the LunarLake hardware, the default IP ownership changed to the
host driver, instead of the firmware in previous generation.

In the absence of any capability negotiation, we need to assume a
fixed partitioning between host driver and firmware. The OFLEN bit
needs to be set as early as possible for resources handled by the
firmware, since we can't control when the firmware might try to access
the resources.

For now DMIC and SSP are handled by the DSP firmware. SoundWire is a
separate case, the OFLEN bit can be set when starting-up and resuming
the aux device for each link.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20230807210959.506849-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>