From: Nicolin Chen <nicoleotsuka@gmail.com>
To: broonie@kernel.org, timur@tabi.org
Cc: caleb@crome.org, mail@maciej.szmigiero.name,
fabio.estevam@nxp.com, alsa-devel@alsa-project.org,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
lgirdwood@gmail.com, arnaud.mouiche@invoxia.com, lukma@denx.de,
kernel@pengutronix.de
Subject: [PATCH v6 08/17] ASoC: fsl_ssi: Add DAIFMT define for AC97
Date: Mon, 12 Feb 2018 14:03:16 -0800 [thread overview]
Message-ID: <1518473005-14090-9-git-send-email-nicoleotsuka@gmail.com> (raw)
In-Reply-To: <1518473005-14090-1-git-send-email-nicoleotsuka@gmail.com>
The _fsl_ssi_set_dai_fmt() bypasses an undefined format for AC97
mode. However, it's not really necessary if AC97 has its complete
format defined.
So this patch adds a DAIFMT macro of complete format including a
clock direction and polarity.
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Tested-by: Caleb Crome <caleb@crome.org>
Tested-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Reviewed-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
---
sound/soc/fsl/fsl_ssi.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 9f024a9..fc5768d 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -90,6 +90,16 @@
SNDRV_PCM_FMTBIT_S24_LE)
#endif
+/*
+ * In AC97 mode, TXDIR bit is forced to 0 and TFDIR bit is forced to 1:
+ * - SSI inputs external bit clock and outputs frame sync clock -- CBM_CFS
+ * - Also have NB_NF to mark these two clocks will not be inverted
+ */
+#define FSLSSI_AC97_DAIFMT \
+ (SND_SOC_DAIFMT_AC97 | \
+ SND_SOC_DAIFMT_CBM_CFS | \
+ SND_SOC_DAIFMT_NB_NF)
+
#define FSLSSI_SIER_DBG_RX_FLAGS \
(SSI_SIER_RFF0_EN | \
SSI_SIER_RLS_EN | \
@@ -964,8 +974,7 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev,
scr &= ~SSI_SCR_SYS_CLK_EN;
break;
default:
- if (!fsl_ssi_is_ac97(ssi))
- return -EINVAL;
+ return -EINVAL;
}
stcr |= strcr;
@@ -1372,7 +1381,7 @@ static int fsl_ssi_probe(struct platform_device *pdev)
sprop = of_get_property(np, "fsl,mode", NULL);
if (sprop) {
if (!strcmp(sprop, "ac97-slave"))
- ssi->dai_fmt = SND_SOC_DAIFMT_AC97;
+ ssi->dai_fmt = FSLSSI_AC97_DAIFMT;
}
/* Select DMA or FIQ */
--
2.1.4
next prev parent reply other threads:[~2018-02-12 22:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-12 22:03 [PATCH v6 00/17] ASoC: fsl_ssi: Clean up - program flow level Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 01/17] ASoC: fsl_ssi: Redefine RX and TX macros Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 02/17] ASoC: fsl_ssi: Keep ssi->i2s_net updated Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 03/17] ASoC: fsl_ssi: Clean up set_dai_tdm_slot() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 04/17] ASoC: fsl_ssi: Maintain a mask of active streams Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 05/17] ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 06/17] ASoC: fsl_ssi: Clear FIFO directly in fsl_ssi_config() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 07/17] ASoC: fsl_ssi: Clean up helper functions of trigger() Nicolin Chen
2018-02-12 22:03 ` Nicolin Chen [this message]
2018-02-12 22:03 ` [PATCH v6 09/17] ASoC: fsl_ssi: Clean up fsl_ssi_setup_regvals() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 10/17] ASoC: fsl_ssi: Set xFEN0 and xFEN1 together Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 11/17] ASoC: fsl_ssi: Use snd_soc_init_dma_data instead Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 12/17] ASoC: fsl_ssi: Move one-time configurations to probe() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 13/17] ASoC: fsl_ssi: Setup AC97 in fsl_ssi_hw_init() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 14/17] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 15/17] ASoC: fsl_ssi: Add bool synchronous to mark synchronous mode Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 16/17] ASoC: fsl_ssi: Move DT related code to a separate probe() Nicolin Chen
2018-02-22 13:16 ` Applied "ASoC: fsl_ssi: Move DT related code to a separate probe()" to the asoc tree Mark Brown
2018-02-12 22:03 ` [PATCH v6 17/17] ASoC: fsl_ssi: Use ssi->streams instead of reading register Nicolin Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1518473005-14090-9-git-send-email-nicoleotsuka@gmail.com \
--to=nicoleotsuka@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=arnaud.mouiche@invoxia.com \
--cc=broonie@kernel.org \
--cc=caleb@crome.org \
--cc=fabio.estevam@nxp.com \
--cc=kernel@pengutronix.de \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lukma@denx.de \
--cc=mail@maciej.szmigiero.name \
--cc=timur@tabi.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).