linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: <broonie@kernel.org>
Cc: <lgirdwood@gmail.com>, <kuninori.morimoto.gx@renesas.com>,
	<nicolas.ferre@microchip.com>, <nsaenz@kernel.org>,
	<shawnguo@kernel.org>, <linux-imx@nxp.com>,
	<cezary.rojewski@intel.com>,
	<pierre-louis.bossart@linux.intel.com>,
	<linux-mips@vger.kernel.org>,
	<linux-mediatek@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>, <daniel@zonque.org>,
	<srinivas.kandagatla@linaro.org>,
	<linux-rockchip@lists.infradead.org>, <krzk@kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-sunxi@lists.linux.dev>, <linux-tegra@vger.kernel.org>,
	<linux-omap@vger.kernel.org>, <linux-xtensa@linux-xtensa.org>,
	<peter.ujfalusi@gmail.com>, <jarkko.nikula@bitmer.com>,
	<heiko@sntech.de>, <jbrunet@baylibre.com>,
	<kernel@pengutronix.de>, <alsa-devel@alsa-project.org>,
	<patches@opensource.cirrus.com>
Subject: [PATCH 25/56] ASoC: ti: Update to use set_fmt_new callback
Date: Thu, 19 May 2022 16:42:47 +0100	[thread overview]
Message-ID: <20220519154318.2153729-26-ckeepax@opensource.cirrus.com> (raw)
In-Reply-To: <20220519154318.2153729-1-ckeepax@opensource.cirrus.com>

As part of updating the core to directly tell drivers if they are clock
provider or consumer update these CPU side drivers to use the new direct
callback.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
 sound/soc/ti/davinci-i2s.c   | 34 +++++++++++++++++-----------------
 sound/soc/ti/davinci-mcasp.c | 12 ++++++------
 sound/soc/ti/omap-mcbsp.c    | 14 +++++++-------
 3 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/sound/soc/ti/davinci-i2s.c b/sound/soc/ti/davinci-i2s.c
index 0363a088d2e00..c7368d5296688 100644
--- a/sound/soc/ti/davinci-i2s.c
+++ b/sound/soc/ti/davinci-i2s.c
@@ -230,15 +230,15 @@ static int davinci_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
 	dev->fmt = fmt;
 	/* set master/slave audio interface */
-	switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-	case SND_SOC_DAIFMT_CBS_CFS:
+	switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+	case SND_SOC_DAIFMT_BP_FP:
 		/* cpu is master */
 		pcr = DAVINCI_MCBSP_PCR_FSXM |
 			DAVINCI_MCBSP_PCR_FSRM |
 			DAVINCI_MCBSP_PCR_CLKXM |
 			DAVINCI_MCBSP_PCR_CLKRM;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFS:
+	case SND_SOC_DAIFMT_BC_FP:
 		pcr = DAVINCI_MCBSP_PCR_FSRM | DAVINCI_MCBSP_PCR_FSXM;
 		/*
 		 * Selection of the clock input pin that is the
@@ -260,7 +260,7 @@ static int davinci_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 		}
 
 		break;
-	case SND_SOC_DAIFMT_CBM_CFM:
+	case SND_SOC_DAIFMT_BC_FC:
 		/* codec is master */
 		pcr = 0;
 		break;
@@ -395,12 +395,12 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
 		davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_SPCR_REG, spcr);
 	}
 
-	master = dev->fmt & SND_SOC_DAIFMT_MASTER_MASK;
+	master = dev->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK;
 	fmt = params_format(params);
 	mcbsp_word_length = asp_word_length[fmt];
 
 	switch (master) {
-	case SND_SOC_DAIFMT_CBS_CFS:
+	case SND_SOC_DAIFMT_BP_FP:
 		freq = clk_get_rate(dev->clk);
 		srgr = DAVINCI_MCBSP_SRGR_FSGM |
 		       DAVINCI_MCBSP_SRGR_CLKSM;
@@ -426,7 +426,7 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
 		clk_div &= 0xFF;
 		srgr |= clk_div;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFS:
+	case SND_SOC_DAIFMT_BC_FP:
 		srgr = DAVINCI_MCBSP_SRGR_FSGM;
 		clk_div = dev->clk_div - 1;
 		srgr |= DAVINCI_MCBSP_SRGR_FWID(mcbsp_word_length * 8 - 1);
@@ -434,7 +434,7 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
 		clk_div &= 0xFF;
 		srgr |= clk_div;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFM:
+	case SND_SOC_DAIFMT_BC_FC:
 		/* Clock and frame sync given from external sources */
 		i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS);
 		srgr = DAVINCI_MCBSP_SRGR_FSGM;
@@ -473,15 +473,15 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
 			fmt = double_fmt[fmt];
 		}
 		switch (master) {
-		case SND_SOC_DAIFMT_CBS_CFS:
-		case SND_SOC_DAIFMT_CBS_CFM:
+		case SND_SOC_DAIFMT_BP_FP:
+		case SND_SOC_DAIFMT_BP_FC:
 			rcr |= DAVINCI_MCBSP_RCR_RFRLEN2(0);
 			xcr |= DAVINCI_MCBSP_XCR_XFRLEN2(0);
 			rcr |= DAVINCI_MCBSP_RCR_RPHASE;
 			xcr |= DAVINCI_MCBSP_XCR_XPHASE;
 			break;
-		case SND_SOC_DAIFMT_CBM_CFM:
-		case SND_SOC_DAIFMT_CBM_CFS:
+		case SND_SOC_DAIFMT_BC_FC:
+		case SND_SOC_DAIFMT_BC_FP:
 			rcr |= DAVINCI_MCBSP_RCR_RFRLEN2(element_cnt - 1);
 			xcr |= DAVINCI_MCBSP_XCR_XFRLEN2(element_cnt - 1);
 			break;
@@ -492,13 +492,13 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
 	mcbsp_word_length = asp_word_length[fmt];
 
 	switch (master) {
-	case SND_SOC_DAIFMT_CBS_CFS:
-	case SND_SOC_DAIFMT_CBS_CFM:
+	case SND_SOC_DAIFMT_BP_FP:
+	case SND_SOC_DAIFMT_BP_FC:
 		rcr |= DAVINCI_MCBSP_RCR_RFRLEN1(0);
 		xcr |= DAVINCI_MCBSP_XCR_XFRLEN1(0);
 		break;
-	case SND_SOC_DAIFMT_CBM_CFM:
-	case SND_SOC_DAIFMT_CBM_CFS:
+	case SND_SOC_DAIFMT_BC_FC:
+	case SND_SOC_DAIFMT_BC_FP:
 		rcr |= DAVINCI_MCBSP_RCR_RFRLEN1(element_cnt - 1);
 		xcr |= DAVINCI_MCBSP_XCR_XFRLEN1(element_cnt - 1);
 		break;
@@ -606,7 +606,7 @@ static const struct snd_soc_dai_ops davinci_i2s_dai_ops = {
 	.prepare	= davinci_i2s_prepare,
 	.trigger	= davinci_i2s_trigger,
 	.hw_params	= davinci_i2s_hw_params,
-	.set_fmt	= davinci_i2s_set_dai_fmt,
+	.set_fmt_new	= davinci_i2s_set_dai_fmt,
 	.set_clkdiv	= davinci_i2s_dai_set_clkdiv,
 
 };
diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
index 377be2e2b6ee7..961bac6963652 100644
--- a/sound/soc/ti/davinci-mcasp.c
+++ b/sound/soc/ti/davinci-mcasp.c
@@ -492,8 +492,8 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 	mcasp_mod_bits(mcasp, DAVINCI_MCASP_RXFMT_REG, FSRDLY(data_delay),
 		       FSRDLY(3));
 
-	switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-	case SND_SOC_DAIFMT_CBS_CFS:
+	switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+	case SND_SOC_DAIFMT_BP_FP:
 		/* codec is clock and frame slave */
 		mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
 		mcasp_set_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -510,7 +510,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
 		mcasp->bclk_master = 1;
 		break;
-	case SND_SOC_DAIFMT_CBS_CFM:
+	case SND_SOC_DAIFMT_BP_FC:
 		/* codec is clock slave and frame master */
 		mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
 		mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -527,7 +527,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
 		mcasp->bclk_master = 1;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFS:
+	case SND_SOC_DAIFMT_BC_FP:
 		/* codec is clock master and frame slave */
 		mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
 		mcasp_set_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -544,7 +544,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
 		mcasp->bclk_master = 0;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFM:
+	case SND_SOC_DAIFMT_BC_FC:
 		/* codec is clock and frame master */
 		mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
 		mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
@@ -1620,7 +1620,7 @@ static const struct snd_soc_dai_ops davinci_mcasp_dai_ops = {
 	.trigger	= davinci_mcasp_trigger,
 	.delay		= davinci_mcasp_delay,
 	.hw_params	= davinci_mcasp_hw_params,
-	.set_fmt	= davinci_mcasp_set_dai_fmt,
+	.set_fmt_new	= davinci_mcasp_set_dai_fmt,
 	.set_clkdiv	= davinci_mcasp_set_clkdiv,
 	.set_sysclk	= davinci_mcasp_set_sysclk,
 	.set_tdm_slot	= davinci_mcasp_set_tdm_slot,
diff --git a/sound/soc/ti/omap-mcbsp.c b/sound/soc/ti/omap-mcbsp.c
index 4479d74f0a458..5bfb56d4ff844 100644
--- a/sound/soc/ti/omap-mcbsp.c
+++ b/sound/soc/ti/omap-mcbsp.c
@@ -1036,8 +1036,8 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
 
 	/* In McBSP master modes, FRAME (i.e. sample rate) is generated
 	 * by _counting_ BCLKs. Calculate frame size in BCLKs */
-	master = mcbsp->fmt & SND_SOC_DAIFMT_MASTER_MASK;
-	if (master ==	SND_SOC_DAIFMT_CBS_CFS) {
+	master = mcbsp->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK;
+	if (master == SND_SOC_DAIFMT_BP_FP) {
 		div = mcbsp->clk_div ? mcbsp->clk_div : 1;
 		framesize = (mcbsp->in_freq / div) / params_rate(params);
 
@@ -1136,20 +1136,20 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 		return -EINVAL;
 	}
 
-	switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-	case SND_SOC_DAIFMT_CBS_CFS:
+	switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+	case SND_SOC_DAIFMT_BP_FP:
 		/* McBSP master. Set FS and bit clocks as outputs */
 		regs->pcr0	|= FSXM | FSRM |
 				   CLKXM | CLKRM;
 		/* Sample rate generator drives the FS */
 		regs->srgr2	|= FSGM;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFS:
+	case SND_SOC_DAIFMT_BC_FP:
 		/* McBSP slave. FS clock as output */
 		regs->srgr2	|= FSGM;
 		regs->pcr0	|= FSXM | FSRM;
 		break;
-	case SND_SOC_DAIFMT_CBM_CFM:
+	case SND_SOC_DAIFMT_BC_FC:
 		/* McBSP slave */
 		break;
 	default:
@@ -1271,7 +1271,7 @@ static const struct snd_soc_dai_ops mcbsp_dai_ops = {
 	.trigger	= omap_mcbsp_dai_trigger,
 	.delay		= omap_mcbsp_dai_delay,
 	.hw_params	= omap_mcbsp_dai_hw_params,
-	.set_fmt	= omap_mcbsp_dai_set_dai_fmt,
+	.set_fmt_new	= omap_mcbsp_dai_set_dai_fmt,
 	.set_clkdiv	= omap_mcbsp_dai_set_clkdiv,
 	.set_sysclk	= omap_mcbsp_dai_set_dai_sysclk,
 };
-- 
2.30.2


  parent reply	other threads:[~2022-05-19 15:46 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 15:42 [PATCH 00/56] Specify clock provider directly to CPU DAIs Charles Keepax
2022-05-19 15:42 ` [PATCH 01/56] ASoC: core: Add set_fmt_new callback that directly specifies provider Charles Keepax
2022-05-19 15:42 ` [PATCH 02/56] ASoC: amd: vangogh: Update to use set_fmt_new callback Charles Keepax
2022-05-19 15:42 ` [PATCH 03/56] ASoC: atmel: " Charles Keepax
2022-05-19 15:42 ` [PATCH 04/56] ASoC: au1x: " Charles Keepax
2022-05-19 15:42 ` [PATCH 05/56] ASoC: bcm: " Charles Keepax
2022-05-19 15:42 ` [PATCH 06/56] ASoC: ep93xx: " Charles Keepax
2022-05-19 15:42 ` [PATCH 07/56] ASoC: dwc: " Charles Keepax
2022-05-19 15:42 ` [PATCH 08/56] ASoC: fsl: " Charles Keepax
2022-05-19 15:42 ` [PATCH 09/56] ASoC: hisilicon: " Charles Keepax
2022-05-19 15:42 ` [PATCH 10/56] ASoC: img: " Charles Keepax
2022-05-19 15:42 ` [PATCH 11/56] ASoC: Intel: " Charles Keepax
2022-05-19 15:42 ` [PATCH 12/56] ASoC: js4740-i2s: " Charles Keepax
2022-05-19 15:42 ` [PATCH 13/56] ASoC: mediatek: " Charles Keepax
2022-05-19 15:42 ` [PATCH 14/56] ASoC: meson: " Charles Keepax
2022-05-19 15:42 ` [PATCH 15/56] ASoC: mxs-saif: " Charles Keepax
2022-05-19 15:42 ` [PATCH 16/56] ASoC: pxa: " Charles Keepax
2022-05-19 15:42 ` [PATCH 17/56] ASoC: qcom: " Charles Keepax
2022-05-19 15:42 ` [PATCH 18/56] ASoC: rockchip: " Charles Keepax
2022-05-20 13:39   ` Nicolas Frattaroli
2022-05-19 15:42 ` [PATCH 19/56] ASoC: samsung: " Charles Keepax
2022-05-19 15:42 ` [PATCH 20/56] ASoC: sh: " Charles Keepax
2022-05-20  0:51   ` Kuninori Morimoto
2022-05-19 15:42 ` [PATCH 21/56] ASoC: stm: " Charles Keepax
2022-05-19 15:42 ` [PATCH 22/56] ASoC: sunxi: " Charles Keepax
2022-05-19 23:40   ` Samuel Holland
2022-05-20  9:56     ` Charles Keepax
2022-05-19 15:42 ` [PATCH 23/56] ASoC: tegra: " Charles Keepax
2022-05-19 15:42 ` [PATCH 24/56] ASoC: test-component: " Charles Keepax
2022-05-20  0:52   ` Kuninori Morimoto
2022-05-19 15:42 ` Charles Keepax [this message]
2022-05-28  9:18   ` [PATCH 25/56] ASoC: ti: " Péter Ujfalusi
2022-05-19 15:42 ` [PATCH 26/56] ASoC: ux500: " Charles Keepax
2022-05-19 15:42 ` [PATCH 27/56] ASoC: xtensa: " Charles Keepax
2022-05-19 15:42 ` [PATCH 28/56] ASoC: core: Always send the CPU DAI a direct clock specifier Charles Keepax
2022-05-19 15:42 ` [PATCH 29/56] ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt Charles Keepax
2022-05-19 15:42 ` [PATCH 30/56] ASoC: atmel: " Charles Keepax
2022-05-19 15:42 ` [PATCH 31/56] ASoC: au1x: " Charles Keepax
2022-05-19 15:42 ` [PATCH 32/56] ASoC: bcm: " Charles Keepax
2022-05-19 15:42 ` [PATCH 33/56] ASoC: ep93xx: " Charles Keepax
2022-05-19 15:42 ` [PATCH 34/56] ASoC: dwc: " Charles Keepax
2022-05-19 15:42 ` [PATCH 35/56] ASoC: fsl: " Charles Keepax
2022-05-19 15:42 ` [PATCH 36/56] ASoC: hisilicon: " Charles Keepax
2022-05-19 15:42 ` [PATCH 37/56] ASoC: img: " Charles Keepax
2022-05-19 15:43 ` [PATCH 38/56] ASoC: Intel: " Charles Keepax
2022-05-19 15:43 ` [PATCH 39/56] ASoC: jz4740-i2s: " Charles Keepax
2022-05-19 15:43 ` [PATCH 40/56] ASoC: mediatek: " Charles Keepax
2022-05-19 15:43 ` [PATCH 41/56] ASoC: meson: " Charles Keepax
2022-05-19 15:43 ` [PATCH 42/56] ASoC: mxs-saif: " Charles Keepax
2022-05-19 15:43 ` [PATCH 43/56] ASoC: pxa: " Charles Keepax
2022-05-19 15:43 ` [PATCH 44/56] ASoC: qcom: " Charles Keepax
2022-05-19 15:43 ` [PATCH 45/56] ASoC: rockchip: " Charles Keepax
2022-05-19 15:43 ` [PATCH 46/56] ASoC: samsung: " Charles Keepax
2022-05-20  6:45   ` Krzysztof Kozlowski
2022-05-19 15:43 ` [PATCH 47/56] ASoC: sh: " Charles Keepax
2022-05-19 15:43 ` [PATCH 48/56] ASoC: stm: " Charles Keepax
2022-05-19 15:43 ` [PATCH 49/56] ASoC: sunxi: " Charles Keepax
2022-05-19 15:43 ` [PATCH 50/56] ASoC: tegra: " Charles Keepax
2022-05-19 15:43 ` [PATCH 51/56] ASoC: test-component: " Charles Keepax
2022-05-19 15:43 ` [PATCH 52/56] ASoC: ti: " Charles Keepax
2022-05-28  9:19   ` Péter Ujfalusi
2022-05-19 15:43 ` [PATCH 53/56] ASoC: ux500: " Charles Keepax
2022-05-19 15:43 ` [PATCH 54/56] ASoC: xtensa: " Charles Keepax
2022-05-19 15:43 ` [PATCH 55/56] ASoC: soc-dai: Remove set_fmt_new callback Charles Keepax
2022-05-19 15:43 ` [PATCH 56/56] ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local Charles Keepax
2022-05-20  1:02   ` Kuninori Morimoto
2022-05-20 10:24     ` Charles Keepax
2022-05-22 23:26       ` Kuninori Morimoto
2022-05-19 18:43 ` [PATCH 00/56] Specify clock provider directly to CPU DAIs Pierre-Louis Bossart
2022-06-09 13:32 ` Mark Brown
2022-06-10  2:03   ` Samuel Holland
2022-06-10 12:03     ` Mark Brown
2022-06-13  9:54       ` Charles Keepax

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=20220519154318.2153729-26-ckeepax@opensource.cirrus.com \
    --to=ckeepax@opensource.cirrus.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=cezary.rojewski@intel.com \
    --cc=daniel@zonque.org \
    --cc=heiko@sntech.de \
    --cc=jarkko.nikula@bitmer.com \
    --cc=jbrunet@baylibre.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=nsaenz@kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=peter.ujfalusi@gmail.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=shawnguo@kernel.org \
    --cc=srinivas.kandagatla@linaro.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).