[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d00e324f09954dcbb509f8c135ad51af@BN1PR03MB188.namprd03.prod.outlook.com>
Date: Tue, 1 Apr 2014 03:25:02 +0000
From: "Dongsheng.Wang@...escale.com" <Dongsheng.Wang@...escale.com>
To: "guangyu.chen@...escale.com" <guangyu.chen@...escale.com>,
"broonie@...nel.org" <broonie@...nel.org>
CC: "alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"Li.Xiubo@...escale.com" <Li.Xiubo@...escale.com>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"timur@...i.org" <timur@...i.org>
Subject: RE: [PATCH bisect 2/2] ASoC: fsl_sai: Separately enable interrupts
for Tx and Rx streams
> -----Original Message-----
> From: Linuxppc-dev [mailto:linuxppc-dev-
> bounces+b40534=freescale.com@...ts.ozlabs.org] On Behalf Of Nicolin Chen
> Sent: Tuesday, April 01, 2014 11:17 AM
> To: broonie@...nel.org
> Cc: alsa-devel@...a-project.org; Xiubo Li-B47053; linuxppc-dev@...ts.ozlabs.org;
> linux-kernel@...r.kernel.org; timur@...i.org
> Subject: [PATCH bisect 2/2] ASoC: fsl_sai: Separately enable interrupts for Tx
> and Rx streams
>
> We only enable one side interrupt for each stream since over/underrun
> on the opposite stream would be resulted from what we previously did,
> enabling TERE but remaining FRDE disabled, even though the xrun on the
> opposite direction will not break the current stream.
>
> Signed-off-by: Nicolin Chen <Guangyu.Chen@...escale.com>
> Acked-by: Xiubo Li <Li.Xiubo@...escale.com>
> ---
> sound/soc/fsl/fsl_sai.c | 8 ++++++--
> sound/soc/fsl/fsl_sai.h | 1 +
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
> index bdfd497..d64c33f 100644
> --- a/sound/soc/fsl/fsl_sai.c
> +++ b/sound/soc/fsl/fsl_sai.c
> @@ -397,4 +397,6 @@ static int fsl_sai_trigger(struct snd_pcm_substream
> *substream, int cmd,
>
> regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
> + FSL_SAI_CSR_xIE_MASK, FSL_SAI_FLAGS);
> + regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
> FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
> break;
> @@ -404,4 +406,6 @@ static int fsl_sai_trigger(struct snd_pcm_substream
> *substream, int cmd,
> regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
> FSL_SAI_CSR_FRDE, 0);
> + regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
> + FSL_SAI_CSR_xIE_MASK, 0);
>
> if (!(tcsr & FSL_SAI_CSR_FRDE || rcsr & FSL_SAI_CSR_FRDE)) {
> @@ -464,6 +468,6 @@ static int fsl_sai_dai_probe(struct snd_soc_dai *cpu_dai)
> struct fsl_sai *sai = dev_get_drvdata(cpu_dai->dev);
>
> - regmap_update_bits(sai->regmap, FSL_SAI_TCSR, 0xffffffff, FSL_SAI_FLAGS);
> - regmap_update_bits(sai->regmap, FSL_SAI_RCSR, 0xffffffff, FSL_SAI_FLAGS);
> + regmap_update_bits(sai->regmap, FSL_SAI_TCSR, 0xffffffff, 0x0);
> + regmap_update_bits(sai->regmap, FSL_SAI_RCSR, 0xffffffff, 0x0);
Why are you remove this macro? Don't use magic number.
Regards,
-Dongsheng
Powered by blists - more mailing lists