ASoC: rsnd: enable DVC when capture

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>
This commit is contained in:
Kuninori Morimoto 2014-06-22 17:57:04 -07:00 committed by Mark Brown
parent ccd01559ea
commit 65f459923b

View File

@ -191,24 +191,20 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod,
struct snd_soc_pcm_runtime *rtd) struct snd_soc_pcm_runtime *rtd)
{ {
struct rsnd_dai_stream *io = rsnd_mod_to_io(mod); 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_card *card = rtd->card->snd_card;
struct snd_kcontrol *kctrl; struct snd_kcontrol *kctrl;
static struct snd_kcontrol_new knew = { static struct snd_kcontrol_new knew = {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER, .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Playback Volume",
.info = rsnd_dvc_volume_info, .info = rsnd_dvc_volume_info,
.get = rsnd_dvc_volume_get, .get = rsnd_dvc_volume_get,
.put = rsnd_dvc_volume_put, .put = rsnd_dvc_volume_put,
}; };
int ret; int ret;
if (!rsnd_dai_is_play(rdai, io)) { if (rsnd_dai_is_play(rdai, io))
dev_err(dev, "DVC%d is connected to Capture DAI\n", knew.name = "Playback Volume";
rsnd_mod_id(mod)); else
return -EINVAL; knew.name = "Capture Volume";
}
kctrl = snd_ctl_new1(&knew, mod); kctrl = snd_ctl_new1(&knew, mod);
if (!kctrl) if (!kctrl)