lkml.org 
[lkml]   [2014]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH bisect 2/2] ASoC: fsl_sai: Separately enable interrupts for Tx and Rx streams
    Date


    > -----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
    \
     
     \ /
      Last update: 2014-04-01 06:02    [W:3.803 / U:0.596 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site