From: Daniel Mack <zonque@gmail.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org, subaparts@yandex.ru, lgirdwood@gmail.com
Subject: Re: [PATCH 2/2 resend] ASoC: cs4271: preserve "Master Playback Switch" setting
Date: Fri, 22 Mar 2013 11:23:32 +0100 [thread overview]
Message-ID: <514C3124.8010806@gmail.com> (raw)
In-Reply-To: <20130322101820.GC22890@opensource.wolfsonmicro.com>
Hi Mark,
On 22.03.2013 11:18, Mark Brown wrote:
> On Thu, Mar 21, 2013 at 08:43:55PM +0100, Daniel Mack wrote:
>> Currently, both the ALSA control for "Digital Master Playback Switch"
>> and the ALSA core (by calling dai_ops->mute_stream()) control the same
>> bits in the CS4271_VOL[AB]_MUTE registers.
>
>> That's a problem for applications which intentionally want to keep the
>> flag switched off from userspace, even though the stream is already
>> playing.
>
>> Fix this by keeping track of the states on both sides - the ALSA
>> control and the ASoC core - and actually mute the Codec if either one
>> of the two flags is set.
>
> The usual fix for this is to just not have the mute operation if it's
> important. Otherwise this seems like something we ought to implement in
> the core, it's not a silly feature by any stretch of the imagination but
> it applies to any device with a DAI mute unless there's some device
> specific thing I'm missing here.
>
Well, the thing is about different use cases. If you leave everything
untouched as of the ALSA controls (unmuted), the codec will enter its
mute state just as expected by the core. The register bit also has
implications to external mute stages btw, which board designers usually
implement with MOSFETs.
It's just that if the user intentionally mutes the stream via the ALSA
control, the core will override it, thus changing the state of the
actual control unexpectedly.
So I'd say having a simple OR logic in this case is reasonable and
serves all the needs I can think of, no?
Thanks,
Daniel
next prev parent reply other threads:[~2013-03-22 10:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 19:43 [PATCH 1/2 resend] ASoC: cs4271: switch to mute_stream Daniel Mack
2013-03-21 19:43 ` [PATCH 2/2 resend] ASoC: cs4271: preserve "Master Playback Switch" setting Daniel Mack
2013-03-22 10:18 ` Mark Brown
2013-03-22 10:23 ` Daniel Mack [this message]
2013-03-22 10:32 ` Mark Brown
2013-03-22 11:04 ` Daniel Mack
2013-03-22 11:10 ` Mark Brown
2013-03-27 23:11 ` Mark Brown
2013-03-22 10:13 ` [PATCH 1/2 resend] ASoC: cs4271: switch to mute_stream 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=514C3124.8010806@gmail.com \
--to=zonque@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=lgirdwood@gmail.com \
--cc=subaparts@yandex.ru \
/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.