OSDN Git Service

ASoC: fsi: add .auto_selectable_formats support
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 27 May 2021 02:27:54 +0000 (11:27 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 7 Jun 2021 14:55:16 +0000 (15:55 +0100)
By this patch, DAI format might be automatically selected
(Depends on paired DAI).

Link: https://lore.kernel.org/r/871rb3hypy.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/871racbx0w.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87bl8wnc5x.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/fsi.c

index 3c57479..3c934f8 100644 (file)
@@ -1694,12 +1694,27 @@ static int fsi_dai_hw_params(struct snd_pcm_substream *substream,
        return 0;
 }
 
+/*
+ * Select below from Sound Card, not auto
+ *     SND_SOC_DAIFMT_CBC_CFC
+ *     SND_SOC_DAIFMT_CBP_CFP
+ */
+static u64 fsi_dai_formats =
+       SND_SOC_POSSIBLE_DAIFMT_I2S     |
+       SND_SOC_POSSIBLE_DAIFMT_LEFT_J  |
+       SND_SOC_POSSIBLE_DAIFMT_NB_NF   |
+       SND_SOC_POSSIBLE_DAIFMT_NB_IF   |
+       SND_SOC_POSSIBLE_DAIFMT_IB_NF   |
+       SND_SOC_POSSIBLE_DAIFMT_IB_IF;
+
 static const struct snd_soc_dai_ops fsi_dai_ops = {
        .startup        = fsi_dai_startup,
        .shutdown       = fsi_dai_shutdown,
        .trigger        = fsi_dai_trigger,
        .set_fmt        = fsi_dai_set_fmt,
        .hw_params      = fsi_dai_hw_params,
+       .auto_selectable_formats        = &fsi_dai_formats,
+       .num_auto_selectable_formats    = 1,
 };
 
 /*