From: Mark Brown <broonie@kernel.org>
To: Dimitris Papavasiliou <dpapavas@gmail.com>
Cc: alsa-devel@alsa-project.org,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Subject: Re: Need help fixing pop/click artifacts in an ASOC driver
Date: Thu, 15 Nov 2018 11:04:03 -0800 [thread overview]
Message-ID: <20181115190403.GI2089@sirena.org.uk> (raw)
In-Reply-To: <56e02571-fd5b-0add-c6c7-98e4f746448c@gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 1851 bytes --]
On Thu, Nov 15, 2018 at 01:25:28PM +0200, Dimitris Papavasiliou wrote:
> Unless I misunderstand, I can't change the CODEC driver's settings
> (such as ignore_pmdown_time) from the machine driver. Even if I
You can get to the CODEC driver from the machine driver, and for
idle_bias_off there's probably a good case for just setting it
unconditionally given the lack of delays.
> could, I'm not entirely sure it would consistently fix the problem.
> For instance, if the auto-mute is set to 21ms, the DAC output is muted
> automatically by the chip after 21ms of no input and the pop still
> manages to get through before that on occasion.
That's why I'm suggesting ignore_pmdown_time as a first thing to try -
it should cause the powerdown to happen synchronously so there's no
chance for anything else to go in and change the clocking to cause a
pop.
> It also seems like a roundabout solution, that depends on proper
> sequencing, i.e. it is assumed that the device is always biased
> off before the hw_params callback of the machine driver is
> called, something which might change in the future and cause a
> regression.
The whole goal with the combination of idle_bias_off and
ignore_pmdown_time is to ensure that this happens in an orderly
fashion in a way that the core knows about.
> afterwards. Isn't there some way to lock the component/CODEC's
> regmap, so as to perform an operation involving more than one
> register change atomically? Something like
> snd_soc_component_lock/unlock_regmap sounds like it might be
> generally useful, to synchronize access to a chip's registers
> across CODE/machine/etc. drivers.
No, there's no facility for that and it's such a niche case that I'm not
convinced it's a good idea to do it. Another thing you could do here
though is to do the bounce as part of set_sysclk() in the CODEC driver.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2018-11-15 19:04 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-06 16:37 Need help fixing pop/click artifacts in an ASOC driver Dimitris Papavasiliou
2018-11-08 1:42 ` Pierre-Louis Bossart
2018-11-08 15:18 ` Takashi Iwai
2018-11-10 15:46 ` Dimitris Papavasiliou
2018-11-14 22:06 ` Mark Brown
2018-11-14 22:50 ` Dimitris Papavasiliou
2018-11-14 23:02 ` Mark Brown
2018-11-14 23:55 ` Dimitris Papavasiliou
2018-11-15 0:33 ` Mark Brown
2018-11-15 11:25 ` Dimitris Papavasiliou
2018-11-15 19:04 ` Mark Brown [this message]
2018-11-18 13:37 ` Dimitris Papavasiliou
2018-11-24 20:17 ` Dimitris Papavasiliou
2018-12-13 17:42 ` Mark Brown
2018-12-17 12:17 ` Dimitris Papavasiliou
2018-12-17 12:37 ` Mark Brown
2018-12-17 12:58 ` Dimitris Papavasiliou
2018-12-17 14:10 ` Mark Brown
2018-12-17 15:03 ` Dimitris Papavasiliou
2018-12-17 15:40 ` Mark Brown
2018-12-17 16:23 ` Dimitris Papavasiliou
2018-12-17 16:52 ` Mark Brown
2018-12-18 10:39 ` Dimitris Papavasiliou
2018-12-19 16:19 ` Mark Brown
2018-12-19 21:44 ` Dimitris Papavasiliou
2018-12-20 15:36 ` Mark Brown
2018-12-20 20:41 ` Dimitris Papavasiliou
2018-12-21 10:57 ` Mark Brown
2018-12-21 13:05 ` Dimitris Papavasiliou
2018-12-21 17:33 ` Mark Brown
2018-12-23 20:11 ` Dimitris Papavasiliou
2018-12-22 14:44 ` Matthias Reichl
2018-12-23 20:15 ` Dimitris Papavasiliou
2018-12-17 15:03 ` Pierre-Louis Bossart
2018-12-17 17:39 ` Mark Brown
2018-12-17 18:08 ` Pierre-Louis Bossart
2018-12-17 19:02 ` Mark Brown
2018-12-17 19:14 ` Pierre-Louis Bossart
2019-01-05 19:01 ` Pierre-Louis Bossart
2018-12-18 11:32 ` Dimitris Papavasiliou
2018-12-18 14:12 ` Pierre-Louis Bossart
2018-12-18 17:10 ` Dimitris Papavasiliou
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=20181115190403.GI2089@sirena.org.uk \
--to=broonie@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=dpapavas@gmail.com \
--cc=pierre-louis.bossart@linux.intel.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.