Skip to content

Commit

Permalink
ASoC: rsnd: enable DVC when capture
Browse files Browse the repository at this point in the history
Current DVC can be enabled only when playback,
but, this came from misunderstanding.
It is not correct.

DVC <-> DMA relationship is...

Playback: MEM -> DMAC  -> SRC -> DVC -> DMACp -> SSI
Capture:  SSI -> DMACp -> SRC -> DVC -> DMAC  -> MEM

DVC can be used for both Playback/Capture

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Kuninori Morimoto authored and Mark Brown committed Jun 28, 2014
1 parent ccd0155 commit 65f4599
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions sound/soc/sh/rcar/dvc.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,24 +191,20 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod,
struct snd_soc_pcm_runtime *rtd)
{
struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
struct device *dev = rsnd_priv_to_dev(priv);
struct snd_card *card = rtd->card->snd_card;
struct snd_kcontrol *kctrl;
static struct snd_kcontrol_new knew = {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Playback Volume",
.info = rsnd_dvc_volume_info,
.get = rsnd_dvc_volume_get,
.put = rsnd_dvc_volume_put,
};
int ret;

if (!rsnd_dai_is_play(rdai, io)) {
dev_err(dev, "DVC%d is connected to Capture DAI\n",
rsnd_mod_id(mod));
return -EINVAL;
}
if (rsnd_dai_is_play(rdai, io))
knew.name = "Playback Volume";
else
knew.name = "Capture Volume";

kctrl = snd_ctl_new1(&knew, mod);
if (!kctrl)
Expand Down

0 comments on commit 65f4599

Please sign in to comment.