Messages in this thread | | | From | "" <> | Subject | RE: [PATCH bisect 2/2] ASoC: fsl_sai: Separately enable interrupts for Tx and Rx streams | Date | Tue, 1 Apr 2014 03:25:02 +0000 |
| |
> -----Original Message----- > From: Linuxppc-dev [mailto:linuxppc-dev- > bounces+b40534=freescale.com@lists.ozlabs.org] On Behalf Of Nicolin Chen > Sent: Tuesday, April 01, 2014 11:17 AM > To: broonie@kernel.org > Cc: alsa-devel@alsa-project.org; Xiubo Li-B47053; linuxppc-dev@lists.ozlabs.org; > linux-kernel@vger.kernel.org; timur@tabi.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@freescale.com> > Acked-by: Xiubo Li <Li.Xiubo@freescale.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
| |