[alsa-devel] [PATCH 0/4] Add ESAI & SPDIF Vybird and LS1+ support.
Xiubo Li (4): ASoC: esai: fix buggy of 'ret' type definition. ASoC: esai: Add Vybird and LS1+ compatibles support. ASoC: spdif: Sort the header files alphabetically. ASoC: spdif: Add Vybird and LS1+ compatibles support.
sound/soc/fsl/fsl_esai.c | 10 +++++++--- sound/soc/fsl/fsl_spdif.c | 10 ++++++---- 2 files changed, 13 insertions(+), 7 deletions(-)
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com --- sound/soc/fsl/fsl_esai.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 912104f..8efc89e 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -209,8 +209,9 @@ static int fsl_esai_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id, struct clk *clksrc = esai_priv->extalclk; bool tx = clk_id <= ESAI_HCKT_EXTAL; bool in = dir == SND_SOC_CLOCK_IN; - u32 ret, ratio, ecr = 0; + u32 ratio, ecr = 0; unsigned long clk_rate; + int ret;
/* sck_div can be only bypassed if ETO/ERO=0 and SNC_SOC_CLOCK_OUT */ esai_priv->sck_div[tx] = true; @@ -432,8 +433,8 @@ static int fsl_esai_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int fsl_esai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { - int ret; struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); + int ret;
/* * Some platforms might use the same bit to gate all three or two of @@ -491,7 +492,8 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; u32 width = snd_pcm_format_width(params_format(params)); u32 channels = params_channels(params); - u32 bclk, mask, val, ret; + u32 bclk, mask, val; + int ret;
bclk = params_rate(params) * esai_priv->slot_width * 2;
Hi Xiubo,
Could you please add some comments to describe where the bug is? If these cause function break on Vybrid or LS1, you should tell people what the root cause exactly is.
On Thu, Apr 03, 2014 at 05:10:54PM +0800, Xiubo Li wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_esai.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 912104f..8efc89e 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -209,8 +209,9 @@ static int fsl_esai_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id, struct clk *clksrc = esai_priv->extalclk; bool tx = clk_id <= ESAI_HCKT_EXTAL; bool in = dir == SND_SOC_CLOCK_IN;
- u32 ret, ratio, ecr = 0;
- u32 ratio, ecr = 0; unsigned long clk_rate;
- int ret;
Using 'u32' instead of 'int' is just an expediency but not a crucial one. This doesn't make a lot of sense to me.
/* sck_div can be only bypassed if ETO/ERO=0 and SNC_SOC_CLOCK_OUT */ esai_priv->sck_div[tx] = true; @@ -432,8 +433,8 @@ static int fsl_esai_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int fsl_esai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) {
- int ret; struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai);
- int ret;
This looks fine.
Nicolin
/* * Some platforms might use the same bit to gate all three or two of @@ -491,7 +492,8 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; u32 width = snd_pcm_format_width(params_format(params)); u32 channels = params_channels(params);
- u32 bclk, mask, val, ret;
u32 bclk, mask, val;
int ret;
bclk = params_rate(params) * esai_priv->slot_width * 2;
-- 1.8.4
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com --- sound/soc/fsl/fsl_esai.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 8efc89e..b84951b 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -818,6 +818,8 @@ static int fsl_esai_probe(struct platform_device *pdev)
static const struct of_device_id fsl_esai_dt_ids[] = { { .compatible = "fsl,imx35-esai", }, + { .compatible = "fsl,vybird-esai", }, + { .compatible = "fsl,ls1+-esai", }, {} }; MODULE_DEVICE_TABLE(of, fsl_esai_dt_ids);
On Thu, Apr 03, 2014 at 05:10:55PM +0800, Xiubo Li wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_esai.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 8efc89e..b84951b 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -818,6 +818,8 @@ static int fsl_esai_probe(struct platform_device *pdev)
static const struct of_device_id fsl_esai_dt_ids[] = { { .compatible = "fsl,imx35-esai", },
- { .compatible = "fsl,vybird-esai", },
vybird or vybrid?
- { .compatible = "fsl,ls1+-esai", },
Does ls1 differ vybrid on esai part? If not, it should be enough to use vybrid for both of them, just like imx6q and imx6dl can also use imx35 compatible.
Thanks, Nicolin
{} }; MODULE_DEVICE_TABLE(of, fsl_esai_dt_ids); -- 1.8.4
Subject: Re: [PATCH 2/4] ASoC: esai: Add Vybird and LS1+ compatibles support.
On Thu, Apr 03, 2014 at 05:10:55PM +0800, Xiubo Li wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_esai.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 8efc89e..b84951b 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -818,6 +818,8 @@ static int fsl_esai_probe(struct platform_device *pdev)
static const struct of_device_id fsl_esai_dt_ids[] = { { .compatible = "fsl,imx35-esai", },
- { .compatible = "fsl,vybird-esai", },
vybird or vybrid?
- { .compatible = "fsl,ls1+-esai", },
Does ls1 differ vybrid on esai part? If not, it should be enough to use vybrid for both of them, just like imx6q and imx6dl can also use imx35 compatible.
Just like the imx series as you described, and that looks nice.
Thanks,
Thanks, Nicolin
{} }; MODULE_DEVICE_TABLE(of, fsl_esai_dt_ids); -- 1.8.4
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com --- sound/soc/fsl/fsl_spdif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 6452ca8..173553c 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -13,18 +13,18 @@ * kind, whether express or implied. */
-#include <linux/module.h> +#include <linux/bitrev.h> #include <linux/clk.h> #include <linux/clk-private.h> -#include <linux/bitrev.h> -#include <linux/regmap.h> +#include <linux/module.h> #include <linux/of_address.h> #include <linux/of_device.h> #include <linux/of_irq.h> +#include <linux/regmap.h>
#include <sound/asoundef.h> -#include <sound/soc.h> #include <sound/dmaengine_pcm.h> +#include <sound/soc.h>
#include "fsl_spdif.h" #include "imx-pcm.h"
On Thu, Apr 03, 2014 at 05:10:56PM +0800, Xiubo Li wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
Acked-by: Nicolin Chen Guangyu.Chen@freescale.com
Thank you.
sound/soc/fsl/fsl_spdif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 6452ca8..173553c 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -13,18 +13,18 @@
- kind, whether express or implied.
*/
-#include <linux/module.h> +#include <linux/bitrev.h> #include <linux/clk.h> #include <linux/clk-private.h> -#include <linux/bitrev.h> -#include <linux/regmap.h> +#include <linux/module.h> #include <linux/of_address.h> #include <linux/of_device.h> #include <linux/of_irq.h> +#include <linux/regmap.h>
#include <sound/asoundef.h> -#include <sound/soc.h> #include <sound/dmaengine_pcm.h> +#include <sound/soc.h>
#include "fsl_spdif.h"
#include "imx-pcm.h"
1.8.4
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com --- sound/soc/fsl/fsl_spdif.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 173553c..5c958ca 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1186,6 +1186,8 @@ static int fsl_spdif_probe(struct platform_device *pdev)
static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", }, + { .compatible = "fsl,vybird-spdif", }, + { .compatible = "fsl,ls1+-spdif", }, {} }; MODULE_DEVICE_TABLE(of, fsl_spdif_dt_ids);
On Thu, Apr 03, 2014 at 05:10:57PM +0800, Xiubo Li wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_spdif.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 173553c..5c958ca 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1186,6 +1186,8 @@ static int fsl_spdif_probe(struct platform_device *pdev)
static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", },
- { .compatible = "fsl,vybird-spdif", },
- { .compatible = "fsl,ls1+-spdif", },
Same comments here.
And just a little reminder: You are using "fsl,vf610-sai" for fsl_sai.c. I was wondering if you'd better use "fsl,vf610-spdif" over here as well.
Best regards, Nicolin
{} }; MODULE_DEVICE_TABLE(of, fsl_spdif_dt_ids); -- 1.8.4
Subject: Re: [PATCH 4/4] ASoC: spdif: Add Vybird and LS1+ compatibles support.
On Thu, Apr 03, 2014 at 05:10:57PM +0800, Xiubo Li wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_spdif.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 173553c..5c958ca 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1186,6 +1186,8 @@ static int fsl_spdif_probe(struct platform_device
*pdev)
static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", },
- { .compatible = "fsl,vybird-spdif", },
- { .compatible = "fsl,ls1+-spdif", },
Same comments here.
And just a little reminder: You are using "fsl,vf610-sai" for fsl_sai.c. I was wondering if you'd better use "fsl,vf610-spdif" over here as well.
Please see the next version.
Thanks,
BRs Xiubo
Best regards, Nicolin
{} }; MODULE_DEVICE_TABLE(of, fsl_spdif_dt_ids); -- 1.8.4
On Thu, Apr 3, 2014 at 6:10 AM, Xiubo Li Li.Xiubo@freescale.com wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_spdif.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 173553c..5c958ca 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1186,6 +1186,8 @@ static int fsl_spdif_probe(struct platform_device *pdev)
static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", },
{ .compatible = "fsl,vybird-spdif", },
I think you mean vybrid ;-)
Subject: Re: [alsa-devel] [PATCH 4/4] ASoC: spdif: Add Vybird and LS1+ compatibles support.
On Thu, Apr 3, 2014 at 6:10 AM, Xiubo Li Li.Xiubo@freescale.com wrote:
Signed-off-by: Xiubo Li Li.Xiubo@freescale.com
sound/soc/fsl/fsl_spdif.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c index 173553c..5c958ca 100644 --- a/sound/soc/fsl/fsl_spdif.c +++ b/sound/soc/fsl/fsl_spdif.c @@ -1186,6 +1186,8 @@ static int fsl_spdif_probe(struct platform_device
*pdev)
static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", },
{ .compatible = "fsl,vybird-spdif", },
I think you mean vybrid ;-)
Well yes, you are right.
I will follow GuangYu's advice in another mail.
Thanks,
Brs Xiubo
participants (4)
-
Fabio Estevam
-
Li.Xiubo@freescale.com
-
Nicolin Chen
-
Xiubo Li