aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch98
1 files changed, 0 insertions, 98 deletions
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch b/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch
deleted file mode 100644
index 281974fc6b..0000000000
--- a/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From fc4146698489c4725c9ac86ea3e0484914d5285b Mon Sep 17 00:00:00 2001
-From: Viorel Suman <viorel.suman@nxp.com>
-Date: Wed, 27 Jun 2018 10:31:02 +0300
-Subject: [PATCH] MLK-18682-1: ASoC: fsl: sai: use set_bclk_ratio to calculate
- BCLK freq (part 1)
-
-ALSA API has a standard way to configure DAI BCLK by calling
-"snd_soc_dai_set_bclk_ratio" function. So use it to set BCLK ratio
-and calculate SAI BCLK frequency.
-
-Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
-[ Aisheng: split machine imx-pdm changes ]
-Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
----
- sound/soc/fsl/fsl_sai.c | 21 +++++++++++++--------
- sound/soc/fsl/fsl_sai.h | 3 +--
- 2 files changed, 14 insertions(+), 10 deletions(-)
-
---- a/sound/soc/fsl/fsl_sai.c
-+++ b/sound/soc/fsl/fsl_sai.c
-@@ -234,6 +234,14 @@ static int fsl_sai_set_dai_sysclk_tr(str
- return 0;
- }
-
-+static int fsl_sai_set_dai_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio)
-+{
-+ struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai);
-+
-+ sai->bitclk_ratio = ratio;
-+ return 0;
-+}
-+
- static int fsl_sai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
- int clk_id, unsigned int freq, int dir)
- {
-@@ -243,11 +251,6 @@ static int fsl_sai_set_dai_sysclk(struct
- if (dir == SND_SOC_CLOCK_IN)
- return 0;
-
-- if (clk_id == FSL_SAI_CLK_BIT) {
-- sai->bitclk_freq = freq;
-- return 0;
-- }
--
- if (freq > 0) {
- if (clk_id < 0 || clk_id >= FSL_SAI_MCLK_MAX) {
- dev_err(cpu_dai->dev, "Unknown clock id: %d\n", clk_id);
-@@ -571,6 +574,7 @@ static int fsl_sai_hw_params(struct snd_
- bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
- unsigned int channels = params_channels(params);
- u32 word_width = params_width(params);
-+ u32 rate = params_rate(params);
- u32 val_cr4 = 0, val_cr5 = 0;
- u32 slots = (channels == 1) ? 2 : channels;
- u32 slot_width = word_width;
-@@ -605,12 +609,12 @@ static int fsl_sai_hw_params(struct snd_
- slot_width = sai->slot_width;
-
- if (!sai->slave_mode[tx]) {
-- if (sai->bitclk_freq)
-+ if (sai->bitclk_ratio)
- ret = fsl_sai_set_bclk(cpu_dai, tx,
-- sai->bitclk_freq);
-+ rate * sai->bitclk_ratio);
- else
- ret = fsl_sai_set_bclk(cpu_dai, tx,
-- slots * slot_width * params_rate(params));
-+ rate * slots * slot_width);
- if (ret)
- return ret;
-
-@@ -935,6 +939,7 @@ static void fsl_sai_shutdown(struct snd_
- }
-
- static const struct snd_soc_dai_ops fsl_sai_pcm_dai_ops = {
-+ .set_bclk_ratio = fsl_sai_set_dai_bclk_ratio,
- .set_sysclk = fsl_sai_set_dai_sysclk,
- .set_fmt = fsl_sai_set_dai_fmt,
- .set_tdm_slot = fsl_sai_set_dai_tdm_slot,
---- a/sound/soc/fsl/fsl_sai.h
-+++ b/sound/soc/fsl/fsl_sai.h
-@@ -203,7 +203,6 @@
- #define FSL_SAI_CLK_MAST3 3
-
- #define FSL_SAI_MCLK_MAX 4
--#define FSL_SAI_CLK_BIT 5
-
- /* SAI data transfer numbers per DMA request */
- #define FSL_SAI_MAXBURST_TX 6
-@@ -258,7 +257,7 @@ struct fsl_sai {
- unsigned int mclk_streams;
- unsigned int slots;
- unsigned int slot_width;
-- unsigned int bitclk_freq;
-+ unsigned int bitclk_ratio;
-
- struct snd_soc_dai_driver cpu_dai_drv;
- struct snd_dmaengine_dai_dma_data dma_params_rx;