From: Lars-Peter Clausen <lars@metafoo.de>
To: Peter Rosin <peda@axentia.se>,
"'alsa-devel@alsa-project.org'" <alsa-devel@alsa-project.org>
Subject: Re: Regression with .set_bias_level in pcm512x?
Date: Wed, 14 Jan 2015 10:40:11 +0100 [thread overview]
Message-ID: <54B6397B.5040702@metafoo.de> (raw)
In-Reply-To: <680a9f057a904cef8c06c631f233025e@EMAIL.axentia.se>
On 01/14/2015 10:31 AM, Peter Rosin wrote:
> Hi!
>
> Lars-Peter Clausen wrote:
>> On 01/13/2015 11:49 PM, Peter Rosin wrote:
>>> Hi!
>>>
>>> I'm working on adding support for DAIFMT_CBM_CFM and
>> DAIFMT_CBM_CFS to
>>> pcm512x, and it works nicely in the 3.10 kernel + Atmel-patches were I
>>> have developed the code. Now I'm trying to forward-port it and test it
>>> on
>>> 3.18 + other-Atmel-patches in preparation for submission. However,
>>> there seems to be a regression in that the (pre-existing)
>>> pcm512x_set_bias_level callback is never called in the 3.18 version.
>>>
>>> I see that there has been some core work on set_bias_level, and
>>> suspect it has something to do with dapm and components, but I think
>>> someone else will find the problem much quicker than I am able to.
>>>
>>> I have feebly tried to revert 0bd2ac3dae74ee25c5ea171cb572731c7a89c248
>>> and 68f831c2724ab72c0088471b2ed1dc99e81948ef, but that didn't help.
>>> That also seems a bit backwards. So, what needs to be done in the
>>> pcm512x driver to have set_bias_level called?
>>
>> It's unlikely that these commits have anything to do with it.
>
> Agreed, I just wanted to show that I at least did try some things...
>
>> I think it is more likely that the DAPM state (for whatever reason) never
>> actually changes. Check the state of the DAPM context and all the widgets in
>> /sys/kernel/debug/asoc/your_card/... and compare their state when the
>> system is idle to when it should not be idle.
>
> There is indeed something strange going on with dapm. When things should be
> active, I have this (for the non-working 3.18 variant):
>
> $ cat codec\:pcm512x.0-004c/dapm/Playback \
> codec\:pcm512x.0-004c/dapm/DACL \
> codec\:pcm512x.0-004c/dapm/OUTL \
> dapm/DAC1 \
> dapm/MIX1 \
> dapm/MUX1 \
> dapm/OUT1 \
> dapm/AIFINL
> Playback: Off in 1 out 0
> stream Playback active
> out "static" "DACR"
> out "static" "DACL"
> DACL: Off in 1 out 0
> in "static" "Playback"
> out "static" "OUTL"
> OUTL: Off in 1 out 0
> in "static" "DACL"
> out "static" "DAC1"
> DAC1: Off in 1 out 0
> in "static" "OUTL"
> out "static" "MIX1"
> MIX1: Off in 1 out 0
> in "static" "DAC1"
> out "Mixer" "MUX1"
> MUX1: Off in 1 out 0
> in "Mixer" "MIX1"
> out "static" "OUT1"
> OUT1: Off in 1 out 0
> in "static" "MUX1"
> AIFINL: Off in 0 out 0
> stream Playback inactive
>
> When things are inactive, all "in 1" change to "in 0", and the top "stream Playback"
> change to "inactive".
>
> bias_level of both the card and the codec are "Off", regardless.
>
> For reference, I have attached my current card driver, which is given this:
>
> sound {
> compatible = "axentia,asoc-linea-tse850";
>
> axentia,model = "TSE850 @ Linea";
> axentia,audio-routing =
> "DAC1", "OUTL",
> "DAC2", "OUTR";
>
> axentia,ssc-controller = <&ssc0>;
> axentia,audio-codec = <&pcm5142>;
>
> gpios = <&pioA 9 GPIO_ACTIVE_LOW>,
> <&pioA 8 GPIO_ACTIVE_LOW>,
> <&pioA 10 GPIO_ACTIVE_LOW>,
> <&pioA 11 GPIO_ACTIVE_LOW>;
>
> status = "okay";
> };
>
> I suspect that it has something to do with the snd_soc_dapm_add_routes call in
> linea_pcm512x_init? (I "stole" that piece from omap-abe-twl6040)
There does not seem to be a audio sink in your DAPM graph. You have a source
which is the Playback stream, hence a one the "1" for "in". But a widget
will only power up if it is on a active path from a source to a sink. Try to
add a speaker, lineout or similar widget to the end of your graph.
- Lars
next prev parent reply other threads:[~2015-01-14 9:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 22:49 Regression with .set_bias_level in pcm512x? Peter Rosin
2015-01-14 8:03 ` Lars-Peter Clausen
2015-01-14 9:31 ` Peter Rosin
2015-01-14 9:40 ` Lars-Peter Clausen [this message]
2015-01-14 10:04 ` Peter Rosin
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=54B6397B.5040702@metafoo.de \
--to=lars@metafoo.de \
--cc=alsa-devel@alsa-project.org \
--cc=peda@axentia.se \
/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.