ASoC: rsnd: add rsnd_soc_hw_rule/constraint()

Current Renesas sound driver is assuming that all Sampling rate and
channles are possible to use, but these are depends on inputed clock
and SSI connection situation.
For example, if it is using 1 SSI, enabled TDM mode and has 12288000
input clock, 2ch output can support until 192000Hz, but 6ch output can
support until 64000Hz, 8ch can support 48000Hz.
To control these situation correctly, it needs to support
hw_constraints / refine feature.

To support such feature, this patch adds new
rsnd_soc_hw_rule/constraint() which adds hw rule of Channel and
Sampling Rate.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
这个提交包含在:
Kuninori Morimoto
2017-06-15 00:50:19 +00:00
提交者 Mark Brown
父节点 ef4cf5d6a1
当前提交 8cc0372240
修改 2 个文件,包含 154 行新增2 行删除

查看文件

@@ -449,6 +449,7 @@ struct rsnd_dai {
struct rsnd_dai_stream playback;
struct rsnd_dai_stream capture;
struct rsnd_priv *priv;
struct snd_pcm_hw_constraint_list constraint;
int max_channels; /* 2ch - 16ch */
int ssi_lane; /* 1lane - 4lane */