Mark Brown
7a27dbf7b1
ASoC: don't use original dummy dlc
...
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >:
"Empty" dlc might be used on Platform, but "dummy" dlc is not needed
for it. [PATCH 1/5][PATCH 2/5] removes "dummy" dlc from Platform.
Now ASoC have common dummy dlc (= snd_soc_dummy_dlc).
[PATCH 3/5][PATCH 4/5] will use it instead of original dummy dlc.
Many drivers are using below macro
SND_SOC_DAILINK_DEFS(link,
DAILINK_COMP_ARRAY(COMP_CPU(...)),
(X) DAILINK_COMP_ARRAY(COMP_DUMMY()),
DAILINK_COMP_ARRAY(COMP_EMPTY()));
But (X) part will create original dummy dlc.
[PATCH 5/5] will try not to create original dummy dlc, and replace
it to common dummy dlc.
2023-12-19 16:45:51 +00:00
Mark Brown
aefe7a8e26
GPIO inclusion fixes to misc sound drivers
...
Merge series from Linus Walleij <linus.walleij@linaro.org >:
Mostly dropping unused headers, and a single driver rewrite.
2023-12-19 16:45:42 +00:00
Neil Armstrong
c13cf1991f
ASoC: dt-bindings: qcom,lpass-va-macro: remove spurious contains in if statement
...
Remove this spurious "contains" which causes the bindings check of
qcom,sm8450-lpass-va-macro compatible to fail with:
codec@33f0000: clocks: [[156, 57, 1], [156, 102, 1], [156, 103, 1], [156, 70, 1]] is too long
from schema $id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml#
codec@33f0000: clock-names: ['mclk', 'macro', 'dcodec', 'npl'] is too long
from schema $id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml#
Seems the double "contains" was considered as valid by the tool but broke
the entire if statements.
Fixes: f243ef746d ("ASoC: dt-bindings: qcom,lpass-va-macro: Add SM8650 LPASS VA")
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231219-topic-sm8x50-upstream-va-macro-bindings-fix-v1-1-ae133886f70e@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:50 +00:00
Christophe JAILLET
1b08e7697f
ASoC: sprd: Simplify memory allocation in sprd_platform_compr_dma_config()
...
'sg' is freed at the end sprd_platform_compr_dma_config() both in the
normal and in the error handling path.
There is no need to use the devm_kcalloc()/devm_kfree(), kcalloc()/kfree()
is enough.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Link: https://msgid.link/r/d16f22ae0627249a9fc658927832590cd88c544e.1702960856.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:50 +00:00
Venkata Prasad Potturu
55d7bbe433
ASoC: SOF: amd: Add acp-psp mailbox interface for iram-dram fence register modification
...
Add acp-psp mailbox communication interface for iram-dram size
modification to notify psp.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Link: https://msgid.link/r/20231219112416.3334928-5-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:49 +00:00
Venkata Prasad Potturu
ced7151b9b
ASoC: SOF: Rename amd_bt sof_dai_type
...
Rename amd_bt sof_dai_type from ACP to ACP_BT.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Link: https://msgid.link/r/20231219112416.3334928-4-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:48 +00:00
Venkata Prasad Potturu
de111c9b52
ASoC: SOF: Add i2s bt dai configuration support for AMD platforms
...
Add support for i2s bt dai configuration from topology.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Link: https://msgid.link/r/20231219112416.3334928-3-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:47 +00:00
Venkata Prasad Potturu
3953de2dbd
ASoC: SOF: Refactor sof_i2s_tokens reading to update acpbt dai
...
Refactor sof_i2s_tokens reading to update config->acpbt.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Link: https://msgid.link/r/20231219112416.3334928-2-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:46 +00:00
Venkata Prasad Potturu
802134c8c2
ASoC: SOF: amd: Refactor spinlock_irq(&sdev->ipc_lock) sequence in irq_handler
...
Refactor spinlock_irq(&sdev->ipc_lock) sequence in irq_handler
to avoid race conditions for acquiring hw_semaphore.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Link: https://msgid.link/r/20231219112416.3334928-1-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 14:02:45 +00:00
Kuninori Morimoto
13f58267cd
ASoC: soc.h: don't create dummy Component via COMP_DUMMY()
...
Many ASoC drivers define CPU/Codec/Platform dai_link by below macro.
SND_SOC_DAILINK_DEFS(link,
(A) DAILINK_COMP_ARRAY(COMP_CPU("cpu_dai")),
(B) DAILINK_COMP_ARRAY(COMP_CODEC("codec", "dai1"),
(B) COMP_CODEC("codec", "dai2")),
(C) DAILINK_COMP_ARRAY(COMP_EMPTY()));
In this case, this macro will be converted to like below
[o] = static struct snd_soc_dai_link_component
(A) [o] link_cpus[] = {{ .dai_name = "cpu_dai" }};
(B) [o] link_codecs[] = {{ .dai_name = "dai1", .name = "codec" },
{ .dai_name = "dai2", .name = "codec" }}
(C) [o] link_platforms[] = {{ }};
CPU and Codec info will be filled by COMP_CPU() / COMP_CODEC (= A,B),
and Platform will have empty data by COMP_EMPTY() (= C) in this case.
Platform empty info will be filled when driver probe()
(most of case, CPU info will be copied to use soc-generic-dmaengine-pcm).
For example in case of DPCM FE/BE, it will be like below.
Codec will be dummy Component / DAI in this case (X).
SND_SOC_DAILINK_DEFS(link,
DAILINK_COMP_ARRAY(COMP_CPU(...)),
(X) DAILINK_COMP_ARRAY(COMP_DUMMY()),
DAILINK_COMP_ARRAY(COMP_EMPTY()));
(X) part will converted like below
[o] link_codecs[] = {{ .name = "snd-soc-dummy",
.dai_name = "snd-soc-dummy-dai", }}
Even though we already have common asoc_dummy_dlc for dummy
Component / DAI, this macro will re-create new dummy dlc.
Some drivers defines many dai_link info via SND_SOC_DAILINK_DEFS(),
this means many dummy dlc also will be re-created. This is waste of
memory.
If we can use existing common asoc_dummy_dlc at (X),
we can avoid to re-creating dummy dlc, then, we can save the memory.
At that time, we want to keep existing code as much as possible, because
too many drivers are using this macro. But because of its original style,
using common asoc_dummy_dlc from it is very difficult or impossible.
So let's change the mind. The macro is used like below
SND_SOC_DAILINK_DEFS(link,
DAILINK_COMP_ARRAY(COMP_CPU(...)),
(x) DAILINK_COMP_ARRAY(COMP_DUMMY()),
DAILINK_COMP_ARRAY(COMP_EMPTY()));
static struct snd_soc_dai_link dai_links[] = {
{
.name = ...,
.stream_name = ...,
(y) SND_SOC_DAILINK_REG(link),
},
(y) part will be like below
static struct snd_soc_dai_link dai_links[] = {
{
.name = ...,
.stream_name = ...,
^ ...
| .codecs = link_codecs,
(y) .num_codecs = ARRAY_SIZE(link_codecs),
v ...
}
This patch try to use trick on COMP_DUMMY()
- #define COMP_DUMMY() { .name = "snd-soc-dummy", .dai_name = "snd-soc-dummy-dai", }
+ #define COMP_DUMMY()
By this tric, (x) part will be like below.
before
[o] link_codecs[] = {{ .name = "snd-soc-dummy", .dai_name = "snd-soc-dummy-dai", }}
after
[o] link_codecs[] = { };
This is same as below
[o] link_codecs[0];
This means it has pointer (link_codecs), but the array size is 0.
(y) part will be like below.
static struct snd_soc_dai_link dai_links[] = {
{
...
.codecs = link_codecs,
.num_codecs = 0,
...
},
This is very special settings that normal use usually not do,
but new macro do.
We can find this special settings on soc-core.c and fill it as
"dummy DAI" (= asoc_dummy_dlc). By this tric, we can avoid to re-create
dummy dlc and save the memory.
This patch add tric at COMP_DUMMY() and add snd_soc_fill_dummy_dai()
to fill dummy DAI.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://msgid.link/r/871qbi93qu.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 13:23:46 +00:00
Kuninori Morimoto
e8776ff9ce
ASoC: sof: use snd_soc_dummy_dlc
...
We already have snd_soc_dummy_dlc.
Let's use it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://msgid.link/r/8734vy93r8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 13:23:45 +00:00
Kuninori Morimoto
c2dfe29f30
ASoC: intel: hdaudio.c: use snd_soc_dummy_dlc
...
We already have snd_soc_dummy_dlc.
Let's use it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://msgid.link/r/874jge93ri.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 13:23:44 +00:00
Kuninori Morimoto
56558d6ab8
ASoC: samsung: odroid: don't need DUMMY Platform
...
We can use SND_SOC_DAILINK_REG() with 2 parameter.
DUMMY Platform is not needed.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://msgid.link/r/875y0u93rq.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 13:23:43 +00:00
Kuninori Morimoto
7465582e0b
ASoC: fsl: fsl-asoc-card: don't need DUMMY Platform
...
We can use SND_SOC_DAILINK_REG() with 2 parameter.
DUMMY Platform is not needed.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://msgid.link/r/877cla93ry.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-19 13:23:42 +00:00
Himanshu Bhavani
8b69dba103
ASoC: amd: acp: Remove redundant ret variable
...
Removed Unneeded variable: "ret"
Signed-off-by: Himanshu Bhavani <himanshu.bhavani@siliconsignals.io >
Link: https://msgid.link/r/20231218143214.939885-1-himanshu.bhavani@siliconsignals.io
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 17:24:14 +00:00
Gergo Koteles
ee00330a5b
ASoC: tas2781: add support for FW version 0x0503
...
Layout of FW version 0x0503 is compatible with 0x0502.
Already supported by TI's tas2781-linux-driver tree.
https://git.ti.com/cgit/tas2781-linux-drivers/tas2781-linux-driver/
Fixes: 915f5eadeb ("ASoC: tas2781: firmware lib")
Signed-off-by: Gergo Koteles <soyer@irl.hu >
Link: https://msgid.link/r/98d4ee4e01e834af72a1a0bea6736facf43582e0.1702513517.git.soyer@irl.hu
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:30 +00:00
Krzysztof Kozlowski
173a3b20a4
ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS WSA
...
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS)
WSA macro codec, which looks like compatible with earlier SM8550.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231211123104.72963-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:29 +00:00
Krzysztof Kozlowski
f990306adf
ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS VA
...
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS)
VA macro codec, which looks like compatible with earlier SM8550.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231211123104.72963-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:28 +00:00
Krzysztof Kozlowski
7de2109ce1
ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS TX
...
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS)
TX macro codec, which looks like compatible with earlier SM8550.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231211123104.72963-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:27 +00:00
Krzysztof Kozlowski
2f4734f3f4
ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS RX
...
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS)
RX macro codec, which looks like compatible with earlier SM8550.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231211123104.72963-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:26 +00:00
Krzysztof Kozlowski
bb3392453d
ASoC: qcom: Fix trivial code style issues
...
Fix few trivial code style issues, pointed out by checkpatch, so they do
not get copied to new code (when old code is used as template):
WARNING: Prefer "GPL" over "GPL v2" - see commit bf7fbeeae6 ("module: Cure the MODULE_LICENSE "GPL" vs. "GPL v2" bogosity")
WARNING: function definition argument 'struct platform_device *' should also have an identifier name
ERROR: code indent should use tabs where possible
WARNING: please, no spaces at the start of a line
WARNING: Missing a blank line after declarations
WARNING: unnecessary whitespace before a quoted newline
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231204100048.211800-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:25 +00:00
Chancel Liu
8f03936089
ASoC: soc-pcm.c: Complete the active count for components without DAIs
...
Some components like platforms don't have DAIs. If the active count of
these components is ignored pinctrl may be wrongly selected between
default and sleep state. So need to increment or decrement the active
count for components without DAIs to avoid it.
Signed-off-by: Chancel Liu <chancel.liu@nxp.com >
Link: https://msgid.link/r/20231204111532.3165-1-chancel.liu@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:24 +00:00
Krzysztof Kozlowski
337d93b428
ASoC: dt-bindings: qcom,sm8250: Add X1E80100 sound card
...
Document bindings for the Qualcomm X1E80100 SoC sound card. The
bindings are the same as for other newer Qualcomm ADSP sound cards, thus
keep them in existing qcom,sm8250.yaml file, even though Linux driver is
separate.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Link: https://msgid.link/r/20231204100116.211898-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:23 +00:00
Krzysztof Kozlowski
6b9dc2da66
ASoC: qcom: Add x1e80100 sound machine driver
...
Add sound machine driver for the soundcards on Qualcomm X1E80100 SoC,
supporting up to four channel audio playback over Soundwire bus. The
driver is based on existing sc8280xp.c driver.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231204100116.211898-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:04:22 +00:00
Linus Walleij
26e91f61d6
ASoC: tegra: tegra20_ac97: Convert to use GPIO descriptors
...
The Tegra20 AC97 driver is using the legacy GPIO APIs in
<linux/of_gpio.h> and <linux/gpio.h> to obtain GPIOs for reset
and sync.
Convert it over and fix the polarity error on the RESET line
in the process: this reset line is clearly active low. Just
fix the one in-tree device tree site using it at the same
time.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://msgid.link/r/20231214-gpio-descriptors-sound-misc-v1-4-e3004176bd8b@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:03:32 +00:00
Linus Walleij
4504f63321
ASoC: simple-card-utils: Drop GPIO include
...
The generic card utilities are including the legacy GPIO header
<linux/gpio.h> but not using any symbols from it. Drop the
include from all files.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://msgid.link/r/20231214-gpio-descriptors-sound-misc-v1-3-e3004176bd8b@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:03:31 +00:00
Linus Walleij
809fc84b37
ASoC: qcom: sc7180: Drop GPIO include
...
This driver is including the legacy GPIO header <linux/gpio.h>
but not using any symbols from it. Drop the include.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://msgid.link/r/20231214-gpio-descriptors-sound-misc-v1-2-e3004176bd8b@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:03:30 +00:00
Linus Walleij
487b467206
ASoC: hisilicon: Drop GPIO include
...
This driver is including the legacy GPIO header <linux/gpio.h>
but not using any symbols from it. Drop the include.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://msgid.link/r/20231214-gpio-descriptors-sound-misc-v1-1-e3004176bd8b@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-18 14:03:29 +00:00
Syed Saba Kareem
c95a2a0be0
ASoC: amd: acp: add pm ops support for renoir platform.
...
Add pm ops for renoir platform.
Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com >
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://msgid.link/r/20231215130300.1247475-1-Syed.SabaKareem@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-15 20:52:26 +00:00
Mark Brown
c27032b402
ASoC: SOF: query FW config to reload library
...
Merge series from Bard Liao <yung-chuan.liao@linux.intel.com >:
We should query FW config if context save is supported, and no need
to reload FW if hda->booted_from_imr and ipc4_data->fw_context_save
are true.
2023-12-15 17:56:07 +00:00
Wang Jinchao
e7a4a2fd9a
ASoC: fsl_mqs: remove duplicated including
...
rm the second \#include <linux/of.h>
Signed-off-by: Wang Jinchao <wangjinchao@xfusion.com >
Link: https://msgid.link/r/202312151713+0800-wangjinchao@xfusion.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-15 12:58:08 +00:00
Wang Jinchao
02842209fc
ASoC: SOF: amd: remove duplicated including
...
remove the second \#include "../sof-audio.h"
Signed-off-by: Wang Jinchao <wangjinchao@xfusion.com >
Link: https://msgid.link/r/202312151719+0800-wangjinchao@xfusion.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-15 12:58:07 +00:00
Rander Wang
3a0e7bb86f
ASoC: SOF: Intel: check fw_context_save for library reload
...
If fw_context_save is defined by fw, driver can skip library reload on
d3 exit or reload library.
Signed-off-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://msgid.link/r/20231215083102.3064200-4-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-15 12:57:57 +00:00
Rander Wang
855a4772be
ASoC: SOF: IPC4: query fw_context_save feature from fw
...
Driver queries fw_context_save feature when fw is ready and can skip
library reload with this feature since library is saved in persistent
memory. The default value of fw_context_save is true unless fw reports
false.
Signed-off-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://msgid.link/r/20231215083102.3064200-3-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-15 12:57:56 +00:00
Rander Wang
57cd29a825
ASoC: SOF: IPC4: synchronize fw_config_params with fw definitions
...
Update fw_config_params in driver.
Signed-off-by: Rander Wang <rander.wang@intel.com >
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com >
Link: https://msgid.link/r/20231215083102.3064200-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-15 12:57:56 +00:00
Daniel Baluta
af29e51bee
ASoC: dt-bindings: audio-graph-port: Document new DAI link flags playback-only/capture-only
...
Document new playback-only and capture-only flags which can be used
when dai link can only support just one direction: playback or capture
but not both.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://msgid.link/r/20231128081119.106360-3-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-14 10:56:48 +00:00
Daniel Baluta
d29351e8c2
ASoC: audio-graph-card2: Introduce playback-only/capture-only DAI link flags
...
We need this to support MICFIL PDM found on i.MX8MP where the DAI link
supports only capture direction.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com >
Link: https://msgid.link/r/20231128081119.106360-2-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-14 10:56:47 +00:00
Daniel Golle
6475b8e182
ASoC: mediatek: mt7986: silence error in case of -EPROBE_DEFER
...
If probe is defered no error should be printed. Use dev_err_probe() to
have it muted.
Signed-off-by: Daniel Golle <daniel@makrotopia.org >
Reviewed-by: Maso Huang <maso.huang@mediatek.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://msgid.link/r/b941a404d97c01ef3e30c49925927b9a7dafeb19.1702422544.git.daniel@makrotopia.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-13 13:16:38 +00:00
Charles Keepax
5ed06e489d
ASoC: cs42l43: Add missing statics for hp_ilimit functions
...
Fixes: bbbc18d8c2 ("ASoC: cs42l43: Allow HP amp to cool off after current limit")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://msgid.link/r/20231212104149.2388753-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-12 13:30:57 +00:00
Charles Keepax
bbbc18d8c2
ASoC: cs42l43: Allow HP amp to cool off after current limit
...
Whilst occasional current limiting is fine, constant current limiting
should be avoided. Add a back off system that will disable the
headphone amp, if a lot of current limiting is seen in a short window
of time.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://msgid.link/r/20231211160019.2034442-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 17:26:01 +00:00
Neil Armstrong
28b0b18d53
ASoC: codec: wsa884x: make use of new mute_unmute_on_trigger flag
...
This fix is based on commit [1] fixing click and pop sounds during
SoundWire port start because PA is left unmuted.
making use of new mute_unmute_on_trigger flag and removing unmute
at PA setup, removes the Click/Pop issue at SoundWire enable.
[1] 805ce81826 ("ASoC: codecs: wsa883x: make use of new mute_unmute_on_trigger flag")
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231211-topic-sm8x50-upstream-wsa884x-fix-plop-v1-1-0dc630a19172@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:15 +00:00
Krzysztof Kozlowski
ab8921e1da
ASoC: dt-bindings: qcom,lpass-wsa-macro: Add SM8650 LPASS WSA
...
Add bindings for Qualcomm SM8650 Low Power Audio SubSystem (LPASS) WSA
macro codec, which looks like compatible with earlier SM8550.
Cc: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Rob Herring <robh@kernel.org >
Link: https://msgid.link/r/20231129113014.38837-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:14 +00:00
Krzysztof Kozlowski
f243ef746d
ASoC: dt-bindings: qcom,lpass-va-macro: Add SM8650 LPASS VA
...
Add bindings for Qualcomm SM8650 Low Power Audio SubSystem (LPASS) VA
macro codec, which looks like compatible with earlier SM8550.
Cc: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231129113014.38837-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:13 +00:00
Krzysztof Kozlowski
5a5085c9ce
ASoC: dt-bindings: qcom,lpass-tx-macro: Add SM8650 LPASS TX
...
Add bindings for Qualcomm SM8650 Low Power Audio SubSystem (LPASS) TX
macro codec, which looks like compatible with earlier SM8550.
Cc: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Rob Herring <robh@kernel.org >
Link: https://msgid.link/r/20231129113014.38837-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:12 +00:00
Krzysztof Kozlowski
0bfa20b18a
ASoC: dt-bindings: qcom,lpass-rx-macro: Add SM8650 LPASS RX
...
Add bindings for Qualcomm SM8650 Low Power Audio SubSystem (LPASS) RX
macro codec, which looks like compatible with earlier SM8550.
Cc: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Rob Herring <robh@kernel.org >
Link: https://msgid.link/r/20231129113014.38837-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:11 +00:00
Krzysztof Kozlowski
3c5fcb20e0
ASoC: qcom: audioreach: Add 4 channel support
...
Add support four channel streams. Map channel 3 and 4 to left/right
surround ("quad(side)" from ffmpeg standard channel list) to match what
is in qdsp6/q6dsp-common.c driver.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231130180758.212172-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:10 +00:00
Krzysztof Kozlowski
bcd684eae5
ASoC: qcom: audioreach: drop duplicate channel defines
...
q6apm.h header already defines channel mapping values, so drop
duplicated devices from audioreach.h.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231130180758.212172-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:09 +00:00
Krzysztof Kozlowski
ef14f40a36
ASoC: qcom: audioreach: Commonize setting channel mappings
...
Move code assigning channel mapping values to a common helper function.
This simplifies three out of four cases, with the last case using
incompatible type (uint16_t array instead of uint8_t array).
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://msgid.link/r/20231130180758.212172-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-11 12:54:08 +00:00
Linus Walleij
5012f9d8ac
ASoC: wm1250-ev1: Fix uninitialized ret
...
The GPIO descriptor conversion patch left an unitialized ret behind
by mistake, fix it by getting rid of the variable altogether.
Fixes: 10a366f36e ("ASoC: wm1250-ev1: Convert to GPIO descriptors")
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202312090953.DiUo3mue-lkp@intel.com/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20231209-descriptors-sound-wlf-v1-1-5b885ce43ae1@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2023-12-10 13:46:01 +00:00
Mark Brown
885f68fec0
GPIO descriptor cleanup for some Wolfson codecs
...
Merge series from Linus Walleij <linus.walleij@linaro.org >:
This converts the remaining Wolfson ASoC codecs to
use GPIO descriptors.
These Wolfson codecs are mostly used with different
Samsung S3C (especially Cragganmore 6410) board files,
so the in-tree users are fixed up in the process.
2023-12-09 00:16:04 +00:00