[alsa-devel] [PATCH 1/7] ASoC: Fix cards getting stuck in a powered state.

Lars-Peter Clausen lars at metafoo.de
Fri Apr 29 01:40:30 CEST 2011


On 04/29/2011 01:17 AM, Mark Brown wrote:
> On Fri, Apr 29, 2011 at 01:14:00AM +0200, Lars-Peter Clausen wrote:
> 
>> I know this isn't optimal, but would it be accepable to have a
>> SND_SOC_DAPM_STREAM(sname) widget, where the power_check function would just
>> consider stream's state, so we can get rid of the special casing without having
>> to mess with the codec drivers to much?
> 
> I was expecting that the core would just autogenerate some widgets for
> the streams if it saw a CODEC appearing with no widgets in its context
> after probe.  No code change to the CODEC drivers at all.

Hm, I guess that would work as well. Though it would require that a codec
driver does not add DAPM widgets after it has been probed.

> 
> In principle a stream widget is fine, but you'd need ones for capture
> and playback paths and they'd need to also function as pins so they can
> be joined up with the outside world (which now we have multi-component
> is a big reason to push back on things that don't do DAPM; it's not
> purely about the annoyance of having to bodge around them).

My idea about the stream widget was, that it takes a stream name and is not
connected anywhere. If the stream is active, that widget ensures, that the
context gets powered, so it would basically mimic the current behaviour for
widget-less contexts.
If we wanted to use it to connect to the outside world, we'd probably be better
off using the already existing widgets. For example ADC, DAC widgets with
DAPM_NOPM.

- Lars


More information about the Alsa-devel mailing list