forked from Minki/linux
ASoC: ak4613: disable asymmetric audio interface format
Asymmetric audio interface formats exist in ak4613 by same register settings. Capture Playback 24bit LEFT_J 16bit RIGHT_J 24bit LEFT_J 20bit RIGHT_J 24bit LEFT_J 24bit RIGHT_J 24bit LEFT_J 24bit LEFT_J 24bit I2S 24bit I2S These asymmetric formats makes driver / behavior difficult. It is not HW limitation, but SW limitation. To makes code reading easy, this patch removes asymmetric format support. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2ea659a9ef
commit
ec185f9540
@ -139,9 +139,7 @@ static const struct reg_default ak4613_reg[] = {
|
||||
#define AUDIO_IFACE(b, fmt) { b, SND_SOC_DAIFMT_##fmt }
|
||||
static const struct ak4613_interface ak4613_iface[] = {
|
||||
/* capture */ /* playback */
|
||||
[0] = { AUDIO_IFACE(24, LEFT_J), AUDIO_IFACE(16, RIGHT_J) },
|
||||
[1] = { AUDIO_IFACE(24, LEFT_J), AUDIO_IFACE(20, RIGHT_J) },
|
||||
[2] = { AUDIO_IFACE(24, LEFT_J), AUDIO_IFACE(24, RIGHT_J) },
|
||||
/* [0] - [2] are not supported */
|
||||
[3] = { AUDIO_IFACE(24, LEFT_J), AUDIO_IFACE(24, LEFT_J) },
|
||||
[4] = { AUDIO_IFACE(24, I2S), AUDIO_IFACE(24, I2S) },
|
||||
};
|
||||
@ -262,11 +260,9 @@ static int ak4613_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
|
||||
fmt &= SND_SOC_DAIFMT_FORMAT_MASK;
|
||||
|
||||
switch (fmt) {
|
||||
case SND_SOC_DAIFMT_RIGHT_J:
|
||||
case SND_SOC_DAIFMT_LEFT_J:
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
priv->fmt = fmt;
|
||||
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
@ -286,13 +282,8 @@ static bool ak4613_dai_fmt_matching(const struct ak4613_interface *iface,
|
||||
if (fmts->fmt != fmt)
|
||||
return false;
|
||||
|
||||
if (fmt == SND_SOC_DAIFMT_RIGHT_J) {
|
||||
if (fmts->width != width)
|
||||
return false;
|
||||
} else {
|
||||
if (fmts->width < width)
|
||||
return false;
|
||||
}
|
||||
if (fmts->width != width)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -420,8 +411,7 @@ static const struct snd_soc_dai_ops ak4613_dai_ops = {
|
||||
SNDRV_PCM_RATE_96000 |\
|
||||
SNDRV_PCM_RATE_176400 |\
|
||||
SNDRV_PCM_RATE_192000)
|
||||
#define AK4613_PCM_FMTBIT (SNDRV_PCM_FMTBIT_S16_LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
#define AK4613_PCM_FMTBIT (SNDRV_PCM_FMTBIT_S24_LE)
|
||||
|
||||
static struct snd_soc_dai_driver ak4613_dai = {
|
||||
.name = "ak4613-hifi",
|
||||
|
Loading…
Reference in New Issue
Block a user