2014-02-10 07:50:21

by Xiubo Li

[permalink] [raw]
Subject: [PATCH] ASoC: fsl-esai: fix ESAI TDM slot setting

Cc: Nicolin Chen <[email protected]>
Signed-off-by: Xiubo Li <[email protected]>
---
sound/soc/fsl/fsl_esai.c | 4 ++--
sound/soc/fsl/fsl_esai.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c
index d0c72ed..c84026c 100644
--- a/sound/soc/fsl/fsl_esai.c
+++ b/sound/soc/fsl/fsl_esai.c
@@ -326,7 +326,7 @@ static int fsl_esai_set_dai_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask,
regmap_update_bits(esai_priv->regmap, REG_ESAI_TSMA,
ESAI_xSMA_xS_MASK, ESAI_xSMA_xS(tx_mask));
regmap_update_bits(esai_priv->regmap, REG_ESAI_TSMB,
- ESAI_xSMA_xS_MASK, ESAI_xSMB_xS(tx_mask));
+ ESAI_xSMB_xS_MASK, ESAI_xSMB_xS(tx_mask));

regmap_update_bits(esai_priv->regmap, REG_ESAI_RCCR,
ESAI_xCCR_xDC_MASK, ESAI_xCCR_xDC(slots));
@@ -334,7 +334,7 @@ static int fsl_esai_set_dai_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask,
regmap_update_bits(esai_priv->regmap, REG_ESAI_RSMA,
ESAI_xSMA_xS_MASK, ESAI_xSMA_xS(rx_mask));
regmap_update_bits(esai_priv->regmap, REG_ESAI_RSMB,
- ESAI_xSMA_xS_MASK, ESAI_xSMB_xS(rx_mask));
+ ESAI_xSMB_xS_MASK, ESAI_xSMB_xS(rx_mask));

esai_priv->slot_width = slot_width;

diff --git a/sound/soc/fsl/fsl_esai.h b/sound/soc/fsl/fsl_esai.h
index 9c9f957..75e1403 100644
--- a/sound/soc/fsl/fsl_esai.h
+++ b/sound/soc/fsl/fsl_esai.h
@@ -322,7 +322,7 @@
#define ESAI_xSMB_xS_SHIFT 0
#define ESAI_xSMB_xS_WIDTH 16
#define ESAI_xSMB_xS_MASK (((1 << ESAI_xSMB_xS_WIDTH) - 1) << ESAI_xSMB_xS_SHIFT)
-#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) & ESAI_xSMA_xS_MASK)
+#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) & ESAI_xSMB_xS_MASK)

/* Port C Direction Register -- REG_ESAI_PRRC 0xF8 */
#define ESAI_PRRC_PDC_SHIFT 0
--
1.8.4


2014-02-10 08:06:24

by Nicolin Chen

[permalink] [raw]
Subject: Re: [PATCH] ASoC: fsl-esai: fix ESAI TDM slot setting

On Mon, Feb 10, 2014 at 02:47:17PM +0800, Xiubo Li wrote:
> Cc: Nicolin Chen <[email protected]>
> Signed-off-by: Xiubo Li <[email protected]>
> ---
> sound/soc/fsl/fsl_esai.c | 4 ++--
> sound/soc/fsl/fsl_esai.h | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c
> index d0c72ed..c84026c 100644
> --- a/sound/soc/fsl/fsl_esai.c
> +++ b/sound/soc/fsl/fsl_esai.c
> @@ -326,7 +326,7 @@ static int fsl_esai_set_dai_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask,
> regmap_update_bits(esai_priv->regmap, REG_ESAI_TSMA,
> ESAI_xSMA_xS_MASK, ESAI_xSMA_xS(tx_mask));
> regmap_update_bits(esai_priv->regmap, REG_ESAI_TSMB,
> - ESAI_xSMA_xS_MASK, ESAI_xSMB_xS(tx_mask));
> + ESAI_xSMB_xS_MASK, ESAI_xSMB_xS(tx_mask));
>
> regmap_update_bits(esai_priv->regmap, REG_ESAI_RCCR,
> ESAI_xCCR_xDC_MASK, ESAI_xCCR_xDC(slots));
> @@ -334,7 +334,7 @@ static int fsl_esai_set_dai_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask,
> regmap_update_bits(esai_priv->regmap, REG_ESAI_RSMA,
> ESAI_xSMA_xS_MASK, ESAI_xSMA_xS(rx_mask));
> regmap_update_bits(esai_priv->regmap, REG_ESAI_RSMB,
> - ESAI_xSMA_xS_MASK, ESAI_xSMB_xS(rx_mask));
> + ESAI_xSMB_xS_MASK, ESAI_xSMB_xS(rx_mask));
>
> esai_priv->slot_width = slot_width;
>
> diff --git a/sound/soc/fsl/fsl_esai.h b/sound/soc/fsl/fsl_esai.h
> index 9c9f957..75e1403 100644
> --- a/sound/soc/fsl/fsl_esai.h
> +++ b/sound/soc/fsl/fsl_esai.h
> @@ -322,7 +322,7 @@
> #define ESAI_xSMB_xS_SHIFT 0
> #define ESAI_xSMB_xS_WIDTH 16
> #define ESAI_xSMB_xS_MASK (((1 << ESAI_xSMB_xS_WIDTH) - 1) << ESAI_xSMB_xS_SHIFT)
> -#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) & ESAI_xSMA_xS_MASK)
> +#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) & ESAI_xSMB_xS_MASK)

It should use ESAI_xSMB_xS_WIDTH.

Otherwise, it looks fine. Thank you.

Acked-by: Nicolin Chen <[email protected]>

---
>
> /* Port C Direction Register -- REG_ESAI_PRRC 0xF8 */
> #define ESAI_PRRC_PDC_SHIFT 0
> --
> 1.8.4
>
>

2014-02-10 08:18:28

by Xiubo Li

[permalink] [raw]
Subject: RE: [PATCH] ASoC: fsl-esai: fix ESAI TDM slot setting


> > diff --git a/sound/soc/fsl/fsl_esai.h b/sound/soc/fsl/fsl_esai.h
> > index 9c9f957..75e1403 100644
> > --- a/sound/soc/fsl/fsl_esai.h
> > +++ b/sound/soc/fsl/fsl_esai.h
> > @@ -322,7 +322,7 @@
> > #define ESAI_xSMB_xS_SHIFT 0
> > #define ESAI_xSMB_xS_WIDTH 16
> > #define ESAI_xSMB_xS_MASK (((1 << ESAI_xSMB_xS_WIDTH) - 1) <<
> ESAI_xSMB_xS_SHIFT)
> > -#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) &
> ESAI_xSMA_xS_MASK)
> > +#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) &
> ESAI_xSMB_xS_MASK)
>
> It should use ESAI_xSMB_xS_WIDTH.
>

Well, the ESAI_xSMB_xS_WIDTH is 0x0010(16), and ESAI_xSMB_xS_MASK will
be 0xFFFF.



Thanks,

--
Best Regards,
Xiubo

2014-02-10 08:24:49

by Xiubo Li

[permalink] [raw]
Subject: RE: [PATCH] ASoC: fsl-esai: fix ESAI TDM slot setting

Sorry, my misunderstanding about your comment.

Please ignore the last mail.

I will send v2 of this patch.

Thanks very much.

> > > diff --git a/sound/soc/fsl/fsl_esai.h b/sound/soc/fsl/fsl_esai.h
> > > index 9c9f957..75e1403 100644
> > > --- a/sound/soc/fsl/fsl_esai.h
> > > +++ b/sound/soc/fsl/fsl_esai.h
> > > @@ -322,7 +322,7 @@
> > > #define ESAI_xSMB_xS_SHIFT 0
> > > #define ESAI_xSMB_xS_WIDTH 16
> > > #define ESAI_xSMB_xS_MASK (((1 << ESAI_xSMB_xS_WIDTH) - 1) <<
> > ESAI_xSMB_xS_SHIFT)
> > > -#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) &
> > ESAI_xSMA_xS_MASK)
> > > +#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) &
> > ESAI_xSMB_xS_MASK)
> >
> > It should use ESAI_xSMB_xS_WIDTH.
> >
>
> Well, the ESAI_xSMB_xS_WIDTH is 0x0010(16), and ESAI_xSMB_xS_MASK will
> be 0xFFFF.
>
>
>
> Thanks,
>
> --
> Best Regards,
> Xiubo

2014-02-10 08:31:16

by Nicolin Chen

[permalink] [raw]
Subject: Re: [PATCH] ASoC: fsl-esai: fix ESAI TDM slot setting

On Mon, Feb 10, 2014 at 04:24:43PM +0800, Xiubo Li-B47053 wrote:
> Sorry, my misunderstanding about your comment.
>
> Please ignore the last mail.
>
> I will send v2 of this patch.

No, you don't need to.

Just rechecked it with RM. Your patch is correct.

I forgot I used A's WIDTH intentionally at the first place.

TSMA-> [15:0]
TSMB-> [31:16] -> higher 16bits.

Thus its shift should be corresponding to A's WIDTH.

The patch is fine. Acked.

Thank you.

> > > > diff --git a/sound/soc/fsl/fsl_esai.h b/sound/soc/fsl/fsl_esai.h
> > > > index 9c9f957..75e1403 100644
> > > > --- a/sound/soc/fsl/fsl_esai.h
> > > > +++ b/sound/soc/fsl/fsl_esai.h
> > > > @@ -322,7 +322,7 @@
> > > > #define ESAI_xSMB_xS_SHIFT 0
> > > > #define ESAI_xSMB_xS_WIDTH 16
> > > > #define ESAI_xSMB_xS_MASK (((1 << ESAI_xSMB_xS_WIDTH) - 1) <<
> > > ESAI_xSMB_xS_SHIFT)
> > > > -#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) &
> > > ESAI_xSMA_xS_MASK)
> > > > +#define ESAI_xSMB_xS(v) (((v) >> ESAI_xSMA_xS_WIDTH) &
> > > ESAI_xSMB_xS_MASK)
> > >
> > > It should use ESAI_xSMB_xS_WIDTH.
> > >
> >
> > Well, the ESAI_xSMB_xS_WIDTH is 0x0010(16), and ESAI_xSMB_xS_MASK will
> > be 0xFFFF.
> >
> >
> >
> > Thanks,
> >
> > --
> > Best Regards,
> > Xiubo

2014-02-10 13:40:27

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] ASoC: fsl-esai: fix ESAI TDM slot setting

On Mon, Feb 10, 2014 at 02:47:17PM +0800, Xiubo Li wrote:
> Cc: Nicolin Chen <[email protected]>
> Signed-off-by: Xiubo Li <[email protected]>

Applied, thanks.


Attachments:
(No filename) (175.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments