diff mbox

ASoC: wm8741: Fix setting BCLK and LRCLK polarity

Message ID 1509628982-9767-1-git-send-email-sergej@taudac.com (mailing list archive)
State Accepted
Commit 81b3cc55afc3cde54df98f93fbd4704fab7cc0e0
Headers show

Commit Message

Sergej Sawazki Nov. 2, 2017, 1:23 p.m. UTC
After checking the code and the datasheet, it seems like we are handling
the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
correctly.

From the datasheet (Table 58):
R5 Format Control, BITS[5:4], [BCP:LRP]:
  (0) 00 =  normal   BCLK, normal   LRCLK
  (1) 01 =  normal   BCLK, inverted LRCLK <-- Fix this
  (2) 10 =  inverted BCLK, normal   LRCLK
  (3) 11 =  inverted BCLK, inverted LRCLK <-- Fix this

Signed-off-by: Sergej Sawazki <sergej@taudac.com>
---
 sound/soc/codecs/wm8741.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Charles Keepax Nov. 3, 2017, 11:18 a.m. UTC | #1
On Thu, Nov 02, 2017 at 02:23:02PM +0100, Sergej Sawazki wrote:
> After checking the code and the datasheet, it seems like we are handling
> the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
> correctly.
> 
> >From the datasheet (Table 58):
> R5 Format Control, BITS[5:4], [BCP:LRP]:
>   (0) 00 =  normal   BCLK, normal   LRCLK
>   (1) 01 =  normal   BCLK, inverted LRCLK <-- Fix this
>   (2) 10 =  inverted BCLK, normal   LRCLK
>   (3) 11 =  inverted BCLK, inverted LRCLK <-- Fix this
> 
> Signed-off-by: Sergej Sawazki <sergej@taudac.com>
> ---

Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>

Thanks,
Charle
Mark Brown Nov. 3, 2017, 11:45 a.m. UTC | #2
On Thu, Nov 02, 2017 at 02:23:02PM +0100, Sergej Sawazki wrote:
> After checking the code and the datasheet, it seems like we are handling
> the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
> correctly.

This doesn't apply against current code, please check and resend.
Sergej Sawazki Nov. 3, 2017, 1:05 p.m. UTC | #3
Am 03.11.2017 um 12:45 schrieb Mark Brown:
> On Thu, Nov 02, 2017 at 02:23:02PM +0100, Sergej Sawazki wrote:
>> After checking the code and the datasheet, it seems like we are handling
>> the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
>> correctly.
> 
> This doesn't apply against current code, please check and resend.
> 

It applies against "for-next" (e67852427fb). Is it the wrong branch?

Sergej
Mark Brown Nov. 3, 2017, 5:20 p.m. UTC | #4
On Fri, Nov 03, 2017 at 02:05:30PM +0100, Sergej Sawazki wrote:
> Am 03.11.2017 um 12:45 schrieb Mark Brown:
> > On Thu, Nov 02, 2017 at 02:23:02PM +0100, Sergej Sawazki wrote:
> > > After checking the code and the datasheet, it seems like we are handling
> > > the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
> > > correctly.

> > This doesn't apply against current code, please check and resend.

> It applies against "for-next" (e67852427fb). Is it the wrong branch?

It didn't apply against my current for-next branch when I tried, are
you sure you were working with something up to date?  I don't even have
a copy of that commit locally, even in the reflog...

In general I apply things against any existing topic branch for the
part, or against any fixes branch, or against Linus' tags.  Exactly what
depends on what kind of change it is and if there's a branch already
there.
Sergej Sawazki Nov. 3, 2017, 5:38 p.m. UTC | #5
Am 03.11.2017 um 18:20 schrieb Mark Brown:
> On Fri, Nov 03, 2017 at 02:05:30PM +0100, Sergej Sawazki wrote:
>> Am 03.11.2017 um 12:45 schrieb Mark Brown:
>>> On Thu, Nov 02, 2017 at 02:23:02PM +0100, Sergej Sawazki wrote:
>>>> After checking the code and the datasheet, it seems like we are handling
>>>> the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
>>>> correctly.
> 
>>> This doesn't apply against current code, please check and resend.
> 
>> It applies against "for-next" (e67852427fb). Is it the wrong branch?
> 
> It didn't apply against my current for-next branch when I tried, are
> you sure you were working with something up to date?  I don't even have
> a copy of that commit locally, even in the reflog...
> 
> In general I apply things against any existing topic branch for the
> part, or against any fixes branch, or against Linus' tags.  Exactly what
> depends on what kind of change it is and if there's a branch already
> there.
> 

That commit is the head of my current for-next branch:

commit e67852427fb5e3ea794302f2d0b2939e07aca8cf (origin/for-next)
Merge: 16632a3 a10953f eaf8abc 6bd25aa b614583
Author: Mark Brown <broonie@kernel.org>
Date:   Fri Nov 3 12:49:29 2017 +0100

     Merge remote-tracking branches 'asoc/topic/ts3a277e', 'asoc/topic
     /wm8741', 'asoc/topic/wm97xx' and 'asoc/topic/zte' into asoc-next
Mark Brown Nov. 3, 2017, 6:02 p.m. UTC | #6
On Fri, Nov 03, 2017 at 06:38:26PM +0100, Sergej Sawazki wrote:
> Am 03.11.2017 um 18:20 schrieb Mark Brown:

> > > It applies against "for-next" (e67852427fb). Is it the wrong branch?

> > It didn't apply against my current for-next branch when I tried, are
> > you sure you were working with something up to date?  I don't even have
> > a copy of that commit locally, even in the reflog...

> > In general I apply things against any existing topic branch for the
> > part, or against any fixes branch, or against Linus' tags.  Exactly what
> > depends on what kind of change it is and if there's a branch already
> > there.

> That commit is the head of my current for-next branch:

> commit e67852427fb5e3ea794302f2d0b2939e07aca8cf (origin/for-next)
> Merge: 16632a3 a10953f eaf8abc 6bd25aa b614583
> Author: Mark Brown <broonie@kernel.org>
> Date:   Fri Nov 3 12:49:29 2017 +0100

Hrm, so that's newer than what you sent against...  I did try for-next
at whatever point I was building things up and it didn't apply cleanly.
In any case, like I say you need to resend.
diff mbox

Patch

diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c
index 3c96af0..a394dbe 100644
--- a/sound/soc/codecs/wm8741.c
+++ b/sound/soc/codecs/wm8741.c
@@ -333,13 +333,13 @@  static int wm8741_set_dai_fmt(struct snd_soc_dai *codec_dai,
 	switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
 	case SND_SOC_DAIFMT_NB_NF:
 		break;
-	case SND_SOC_DAIFMT_IB_IF:
+	case SND_SOC_DAIFMT_NB_IF:
 		iface |= 0x10;
 		break;
 	case SND_SOC_DAIFMT_IB_NF:
 		iface |= 0x20;
 		break;
-	case SND_SOC_DAIFMT_NB_IF:
+	case SND_SOC_DAIFMT_IB_IF:
 		iface |= 0x30;
 		break;
 	default: