OSDN Git Service

ASoC: rsnd: remove 16ch support for now
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 9 Aug 2017 01:46:23 +0000 (01:46 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 9 Aug 2017 16:56:14 +0000 (17:56 +0100)
R-Car Gen3 sound device can use TDM 16ch, but its usage is very
limited. It is not yet supported.
Let's remove unexpected/unsupported channel settings for now.
This patch makes xx_ADINR register settings sanity without
runtime check.

R-Car Gen3 datasheet

40.4.7 Note on Usage of the SSIU Module
When an SSIU module is used in "TDM-16ch mode",
only the transfer with the external memory is available.

Reported-by: Nguyen Viet Dung <dung.nguyen.aj@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/core.c

index 3f2ced2..7fa40fc 100644 (file)
@@ -726,7 +726,6 @@ static int rsnd_soc_set_dai_tdm_slot(struct snd_soc_dai *dai,
        case 2:
        case 6:
        case 8:
-       case 16:
                /* TDM Extend Mode */
                rsnd_rdai_channels_set(rdai, slots);
                rsnd_rdai_ssi_lane_set(rdai, 1);
@@ -740,7 +739,7 @@ static int rsnd_soc_set_dai_tdm_slot(struct snd_soc_dai *dai,
 }
 
 static unsigned int rsnd_soc_hw_channels_list[] = {
-       2, 6, 8, 16,
+       2, 6, 8,
 };
 
 static unsigned int rsnd_soc_hw_rate_list[] = {
@@ -1017,7 +1016,7 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv,
        drv->playback.rates             = RSND_RATES;
        drv->playback.formats           = RSND_FMTS;
        drv->playback.channels_min      = 2;
-       drv->playback.channels_max      = 16;
+       drv->playback.channels_max      = 8;
        drv->playback.stream_name       = rdai->playback.name;
 
        snprintf(rdai->capture.name, RSND_DAI_NAME_SIZE,
@@ -1025,7 +1024,7 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv,
        drv->capture.rates              = RSND_RATES;
        drv->capture.formats            = RSND_FMTS;
        drv->capture.channels_min       = 2;
-       drv->capture.channels_max       = 16;
+       drv->capture.channels_max       = 8;
        drv->capture.stream_name        = rdai->capture.name;
 
        rdai->playback.rdai             = rdai;