Re: [alsa-devel] [PATCH] ASoC: simple-card: overwrite DAIFMT_MASTER of cpu_dai->fmt

From: Kuninori Morimoto
Date: Tue Mar 11 2014 - 23:36:30 EST



Hi Mark

> > > asoc-simple-card sound-cs42888.12: cpu : 2024000.esai / 4003 / 132000000
> > > asoc-simple-card sound-cs42888.12: codec : cs42888 / 1003 / 24576000
> > > asoc-simple-card sound-cs42888.12: cs42888 <-> 2024000.esai mapping ok
>
> > cpu = 4003 : SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_LEFT_J
> > codec = 1003 : SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_LEFT_J
>
> > codec is master, cpu is slave...
> > what is problem ??
> > Am I misunderstanding ?
>
> The C in those constants stands for CODEC and the values should be
> identical for both ends of the link.

Wow ! really ??
Then, is this settiting wrong ??

${LINUX}/arch/arm/mach-shmobile/board-armadillo800eva.c :: fsi_wm8978_info

static struct asoc_simple_card_info fsi_wm8978_info = {
...
.daifmt = SND_SOC_DAIFMT_I2S,
.cpu_dai = {
...
.fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
},
.codec_dai = {
...
.fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_NB_NF,
},
};

It should be like this ?

static struct asoc_simple_card_info fsi_wm8978_info = {
...
.daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM,
.cpu_dai = {
...
.fmt = SND_SOC_DAIFMT_IB_NF,
},
.codec_dai = {
...
.fmt = SND_SOC_DAIFMT_NB_NF,
},
};
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/