Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29d03ff5 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: rsnd: remove 16ch support for now



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: default avatarNguyen Viet Dung <dung.nguyen.aj@renesas.com>
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 597b046f
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -726,7 +726,6 @@ static int rsnd_soc_set_dai_tdm_slot(struct snd_soc_dai *dai,
	case 2:
	case 2:
	case 6:
	case 6:
	case 8:
	case 8:
	case 16:
		/* TDM Extend Mode */
		/* TDM Extend Mode */
		rsnd_rdai_channels_set(rdai, slots);
		rsnd_rdai_channels_set(rdai, slots);
		rsnd_rdai_ssi_lane_set(rdai, 1);
		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[] = {
static unsigned int rsnd_soc_hw_channels_list[] = {
	2, 6, 8, 16,
	2, 6, 8,
};
};


static unsigned int rsnd_soc_hw_rate_list[] = {
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.rates		= RSND_RATES;
	drv->playback.formats		= RSND_FMTS;
	drv->playback.formats		= RSND_FMTS;
	drv->playback.channels_min	= 2;
	drv->playback.channels_min	= 2;
	drv->playback.channels_max	= 16;
	drv->playback.channels_max	= 8;
	drv->playback.stream_name	= rdai->playback.name;
	drv->playback.stream_name	= rdai->playback.name;


	snprintf(rdai->capture.name, RSND_DAI_NAME_SIZE,
	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.rates		= RSND_RATES;
	drv->capture.formats		= RSND_FMTS;
	drv->capture.formats		= RSND_FMTS;
	drv->capture.channels_min	= 2;
	drv->capture.channels_min	= 2;
	drv->capture.channels_max	= 16;
	drv->capture.channels_max	= 8;
	drv->capture.stream_name	= rdai->capture.name;
	drv->capture.stream_name	= rdai->capture.name;


	rdai->playback.rdai		= rdai;
	rdai->playback.rdai		= rdai;