From: <jiada_wang@mentor.com>
To: <lgirdwood@gmail.com>, <broonie@kernel.org>, <perex@perex.cz>,
<tiwai@suse.com>, <kuninori.morimoto.gx@renesas.com>
Cc: <alsa-devel@alsa-project.org>, <linux-kernel@vger.kernel.org>,
<jiada_wang@mentor.com>
Subject: [PATCH linux-next v2 8/9] ASoC: rsnd: ssi: Request dedicated dma channels for busif0 to 7
Date: Wed, 3 Oct 2018 18:01:22 +0900 [thread overview]
Message-ID: <20181003090122.4508-1-jiada_wang@mentor.com> (raw)
From: Jiada Wang <jiada_wang@mentor.com>
Currently ssi driver only request dma channel for SSI_0,
which is used to transfer data to/from busif0.
But in GEN3 busif1 to busif7 also maybe used, dedicated dma channels
are requested for data transfer through these busif.
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
sound/soc/sh/rcar/ssi.c | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index 3adcc4f778f7..992aeac09e76 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -76,6 +76,8 @@
#define SSI_NAME "ssi"
+#define SSI_DMA_NAME_SIZE 10
+
struct rsnd_ssi {
struct rsnd_mod mod;
@@ -938,12 +940,28 @@ static struct dma_chan *rsnd_ssi_dma_req(struct rsnd_dai_stream *io,
{
struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
int is_play = rsnd_io_is_play(io);
- char *name;
+ char name[SSI_DMA_NAME_SIZE];
- if (rsnd_ssi_use_busif(io))
- name = is_play ? "rxu" : "txu";
- else
- name = is_play ? "rx" : "tx";
+ if (rsnd_ssi_use_busif(io)) {
+ if (is_play)
+ snprintf(name, SSI_DMA_NAME_SIZE, "rxu");
+ else
+ snprintf(name, SSI_DMA_NAME_SIZE, "txu");
+
+ if (rsnd_is_gen3(priv)) {
+ /*
+ * Gen3 supports to use all available BUSIF
+ */
+ int busif = rsnd_ssi_get_busif(io);
+
+ snprintf(name, SSI_DMA_NAME_SIZE, "%s%d", name, busif);
+ }
+ } else {
+ if (is_play)
+ snprintf(name, SSI_DMA_NAME_SIZE, "rx");
+ else
+ snprintf(name, SSI_DMA_NAME_SIZE, "tx");
+ }
return rsnd_dma_request_channel(rsnd_ssi_of_node(priv),
mod, name);
--
2.17.0
next reply other threads:[~2018-10-03 9:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-03 9:01 jiada_wang [this message]
2018-10-04 1:12 ` Kuninori Morimoto
2018-10-04 3:00 ` Jiada Wang
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=20181003090122.4508-1-jiada_wang@mentor.com \
--to=jiada_wang@mentor.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.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
all inboxes | Powered by JetHome®