All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Mack <zonque@gmail.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org,
	Sven Neumann <s.neumann@raumfeld.com>,
	timur@freescale.com, lrg@ti.com
Subject: Re: [PATCH] ALSA: ASoC: cs4720: use snd_soc_cache_sync()
Date: Tue, 22 Nov 2011 16:44:39 +0100	[thread overview]
Message-ID: <4ECBC367.8080801@gmail.com> (raw)
In-Reply-To: <20111122153539.GF6624@sirena.org.uk>

On 11/22/2011 04:35 PM, Mark Brown wrote:
> On Tue, Nov 22, 2011 at 04:23:05PM +0100, Daniel Mack wrote:
> 
>> The bug is reproducible by setting the output volume to 50% before
>> sending the device to suspend. After wakeup, amixer still reports the
>> old volume level, but the codec is in fact set to 100%. Changing it to
>> 50% doesn't do anything, but to any other level has an effect. This is
>> clearly a cache sync bug, but the piece that's missing is the reason why
>> my patch does the right thing.
> 
> That's very odd, not ringing any bells at all.  It's not like the
> existing code is trying to do anything clever with skipping writes, it
> just blasts in all the register values and it's affecting two different
> registers.

The code is so simple that I'm starting to suspect
i2c_smbus_write_byte_data() is doing something very wrong, but I can't
trace it without a hardware I2C analyzer right now. The i2c-regmap
low-level implementation uses different access functions under the hood,
so maybe that's a regression.

We also think that the effect is actually rather new.

> In any case, the patch is moving to factor code out in favour of core
> facilities so it's a good idea anyway.

Hmm, we should really care for the root cause, but maybe we can still
commit this thing, with a more appropriate commit log?


Daniel

  parent reply	other threads:[~2011-11-22 15:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-22 13:45 [PATCH] ALSA: ASoC: cs4720: use snd_soc_cache_sync() Daniel Mack
2011-11-22 14:02 ` Mark Brown
2011-11-22 15:23   ` Daniel Mack
2011-11-22 15:35     ` Mark Brown
2011-11-22 15:37       ` Timur Tabi
2011-11-22 15:41         ` Daniel Mack
2011-11-22 15:43         ` Mark Brown
2011-11-22 15:44       ` Daniel Mack [this message]
2011-11-22 15:47         ` Timur Tabi
2011-11-22 15:57           ` Daniel Mack
2011-11-22 16:12             ` Timur Tabi
2011-11-22 15:53         ` Mark Brown
2011-11-22 16:04           ` Daniel Mack
2011-11-22 16:08             ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ECBC367.8080801@gmail.com \
    --to=zonque@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=lrg@ti.com \
    --cc=s.neumann@raumfeld.com \
    --cc=timur@freescale.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.