From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: broonie@kernel.org
Cc: lgirdwood@gmail.com, krzk@kernel.org, sbkim73@samsung.com,
m.szyprowski@samsung.com, b.zolnierkie@samsung.com,
alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
linux-samsung-soc@vger.kernel.org,
Sylwester Nawrocki <s.nawrocki@samsung.com>
Subject: [PATCH v2 03/21] ASoC: samsung: i2s: Add widgets and routes for DPCM support
Date: Tue, 12 Feb 2019 19:03:24 +0100 [thread overview]
Message-ID: <20190212180342.32040-4-s.nawrocki@samsung.com> (raw)
In-Reply-To: <20190212180342.32040-1-s.nawrocki@samsung.com>
This patch adds DAPM widgets required to model the internal mixer
of the I2S controller merging audio streams from the primary and
from the secondary PCM interface.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
---
sound/soc/samsung/i2s.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index fffc76ab60da..29bcfca20572 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -1116,8 +1116,31 @@ static const struct snd_soc_dai_ops samsung_i2s_dai_ops = {
.delay = i2s_delay,
};
+static const struct snd_soc_dapm_widget samsung_i2s_widgets[] = {
+ /* Backend DAI */
+ SND_SOC_DAPM_AIF_OUT("Mixer DAI TX", NULL, 0, SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_AIF_IN("Mixer DAI RX", NULL, 0, SND_SOC_NOPM, 0, 0),
+
+ /* Playback Mixer */
+ SND_SOC_DAPM_MIXER("Playback Mixer", SND_SOC_NOPM, 0, 0, NULL, 0),
+};
+
+static const struct snd_soc_dapm_route samsung_i2s_dapm_routes[] = {
+ { "Playback Mixer", NULL, "Primary" },
+ { "Playback Mixer", NULL, "Secondary" },
+
+ { "Mixer DAI TX", NULL, "Playback Mixer" },
+ { "Playback Mixer", NULL, "Mixer DAI RX" },
+};
+
static const struct snd_soc_component_driver samsung_i2s_component = {
- .name = "samsung-i2s",
+ .name = "samsung-i2s",
+
+ .dapm_widgets = samsung_i2s_widgets,
+ .num_dapm_widgets = ARRAY_SIZE(samsung_i2s_widgets),
+
+ .dapm_routes = samsung_i2s_dapm_routes,
+ .num_dapm_routes = ARRAY_SIZE(samsung_i2s_dapm_routes),
};
#define SAMSUNG_I2S_FMTS (SNDRV_PCM_FMTBIT_S8 | \
@@ -1129,6 +1152,7 @@ static int i2s_alloc_dais(struct samsung_i2s_priv *priv,
int num_dais)
{
static const char *dai_names[] = { "samsung-i2s", "samsung-i2s-sec" };
+ static const char *stream_names[] = { "Primary", "Secondary" };
struct snd_soc_dai_driver *dai_drv;
struct i2s_dai *dai;
int i;
@@ -1158,6 +1182,7 @@ static int i2s_alloc_dais(struct samsung_i2s_priv *priv,
dai_drv->playback.channels_max = 2;
dai_drv->playback.rates = i2s_dai_data->pcm_rates;
dai_drv->playback.formats = SAMSUNG_I2S_FMTS;
+ dai_drv->playback.stream_name = stream_names[i];
dai_drv->id = i + 1;
dai_drv->name = dai_names[i];
--
2.20.1
next prev parent reply other threads:[~2019-02-12 18:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20190212180438epcas1p3ae9da367bddb639b15638886f43f69e5@epcas1p3.samsung.com>
2019-02-12 18:03 ` [PATCH v2 00/21] ASoC: dmaengine updates, secondary CPU DAI for Odroid boards Sylwester Nawrocki
[not found] ` <CGME20190212180441epcas2p120393a84b851b38023d197ba2b0af820@epcas2p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 01/21] ASoC: samsung: i2s: Restore support for the secondary PCM Sylwester Nawrocki
2019-02-13 11:53 ` Applied "ASoC: samsung: i2s: Restore support for the secondary PCM" to the asoc tree Mark Brown
[not found] ` <CGME20190212180445epcas1p15aebbe7d7b11ce36f5d20c6534ba5903@epcas1p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 02/21] ASoC: samsung: i2s: Move clk supplier data to common driver data structure Sylwester Nawrocki
[not found] ` <CGME20190212180449epcas1p232598bff05255c7f9c582a16b27797c7@epcas1p2.samsung.com>
2019-02-12 18:03 ` Sylwester Nawrocki [this message]
[not found] ` <CGME20190212180452epcas2p2f162435a99743c654320219dd25f880b@epcas2p2.samsung.com>
2019-02-12 18:03 ` [PATCH v2 04/21] ASoC: samsung: i2s: Move core clk to the driver common " Sylwester Nawrocki
2019-02-13 11:53 ` Applied "ASoC: samsung: i2s: Move core clk to the driver common data structure" to the asoc tree Mark Brown
[not found] ` <CGME20190212180456epcas1p1fd8b2fb8101d4848e56911f16fa4ffef@epcas1p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 05/21] ASoC: samsung: i2s: Move opclk data to common driver data structure Sylwester Nawrocki
[not found] ` <CGME20190212180459epcas2p2b5f273e37ab86a26bd7292bbcb557aa1@epcas2p2.samsung.com>
2019-02-12 18:03 ` [PATCH v2 06/21] ASoC: samsung: i2s: Move registers cache " Sylwester Nawrocki
[not found] ` <CGME20190212180503epcas1p377484a3f7fd98a8fa7199ab2a126b9e8@epcas1p3.samsung.com>
2019-02-12 18:03 ` [PATCH v2 07/21] ASoC: samsung: i2s: Move SFR pointer " Sylwester Nawrocki
[not found] ` <CGME20190212180506epcas2p43d7efeaec4a4ff63d13e5f79b281707a@epcas2p4.samsung.com>
2019-02-12 18:03 ` [PATCH v2 08/21] ASoC: samsung: i2s: Drop spinlock pointer from i2s_dai " Sylwester Nawrocki
2019-02-13 11:50 ` Mark Brown
[not found] ` <CGME20190212180510epcas1p47878c53f4d053461d23e8697cde1a63a@epcas1p4.samsung.com>
2019-02-12 18:03 ` [PATCH v2 09/21] ASoC: samsung: i2s: Move IP variant data to common driver " Sylwester Nawrocki
[not found] ` <CGME20190212180513epcas2p128eae26df9eef86550a4f628afd12603@epcas2p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 10/21] ASoC: samsung: i2s: Move quirks " Sylwester Nawrocki
[not found] ` <CGME20190212180517epcas1p1fdb94e96f06b23dca66d63b3559f6c0b@epcas1p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 11/21] ASoC: samsung: i2s: Get rid of a static spinlock Sylwester Nawrocki
[not found] ` <CGME20190212180521epcas2p3d3a637804b82c8d537be98a399e1ba7b@epcas2p3.samsung.com>
2019-02-12 18:03 ` [PATCH v2 12/21] ASoC: samsung: odroid: Add support for secondary CPU DAI Sylwester Nawrocki
[not found] ` <CGME20190212180524epcas1p41b5845cef4c81798f4a07fe8c53f1288@epcas1p4.samsung.com>
2019-02-12 18:03 ` [PATCH v2 13/21] ASoC: samsung: Specify DMA channel names through custom DMA config Sylwester Nawrocki
[not found] ` <CGME20190212180528epcas2p1a534f0f69932c28608b0a139ddfd3596@epcas2p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 14/21] ASoC: samsung: Drop DAI DMA data chan_name assignments Sylwester Nawrocki
[not found] ` <CGME20190212180532epcas1p1d0c276b25c26205a6493cbabfccd74ef@epcas1p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 15/21] ASoC: dmaengine: Remove unused SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag Sylwester Nawrocki
[not found] ` <CGME20190212180535epcas2p3aaa1c3d8fd9fcfb5a30bc6d132aba70a@epcas2p3.samsung.com>
2019-02-12 18:03 ` [PATCH v2 16/21] ASoC: samsung: i2s: Simplify pri_dai, sec_dai pointers usage Sylwester Nawrocki
2019-02-13 7:58 ` Krzysztof Kozlowski
[not found] ` <CGME20190212180539epcas1p457a5c91f2c2cef0d1b92ff8bf804beee@epcas1p4.samsung.com>
2019-02-12 18:03 ` [PATCH v2 17/21] ASoC: samsung: i2s: Change indentation in SAMSUNG_I2S_FMTS definition Sylwester Nawrocki
2019-02-13 7:59 ` Krzysztof Kozlowski
[not found] ` <CGME20190212180542epcas2p2f7252babc9b4dc97eaaa214658afe5d0@epcas2p2.samsung.com>
2019-02-12 18:03 ` [PATCH v2 18/21] ASoC: samsung: i2s: Comments clean up Sylwester Nawrocki
2019-02-13 8:06 ` Krzysztof Kozlowski
2019-02-13 19:07 ` Sylwester Nawrocki
[not found] ` <CGME20190212180546epcas1p1df261edb23d09dd0b33697f4a279cbd0@epcas1p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 19/21] ASoC: samsung: i2s: Convert to SPDX License Indentifier Sylwester Nawrocki
2019-02-13 8:08 ` Krzysztof Kozlowski
[not found] ` <CGME20190212180549epcas1p20b5cc51ba13fb934056196d1b89d67ab@epcas1p2.samsung.com>
2019-02-12 18:03 ` [PATCH v2 20/21] ARM: dts: exynos5422-odroidxu3: Add support for secondary DAI Sylwester Nawrocki
2019-02-18 20:22 ` Krzysztof Kozlowski
[not found] ` <CGME20190212180553epcas2p10fb4f2f465392de8609c127ed3f33ab4@epcas2p1.samsung.com>
2019-02-12 18:03 ` [PATCH v2 21/21] ARM: dts: exynos5422-odroidxu4: " Sylwester Nawrocki
2019-02-18 20:22 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190212180342.32040-4-s.nawrocki@samsung.com \
--to=s.nawrocki@samsung.com \
--cc=alsa-devel@alsa-project.org \
--cc=b.zolnierkie@samsung.com \
--cc=broonie@kernel.org \
--cc=krzk@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=sbkim73@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).