alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Compressed Audio Playback/Capture through ALSA framework
@ 2011-03-15 18:31 Patrick Lai
  2011-03-15 20:40 ` Eliot Blennerhassett
  2011-03-16 10:38 ` Mark Brown
  0 siblings, 2 replies; 31+ messages in thread
From: Patrick Lai @ 2011-03-15 18:31 UTC (permalink / raw)
  To: alsa-devel; +Cc: linux-arm-msm

Hi,

Is there a precedent for playback/capture compressed audio stream 
through ALSA playback/capture interface if underlying hardware supports 
decoder + sink & encoder + source capabilities?

Which source file can I find an example?

Thanks
Patrick

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 18:31 Compressed Audio Playback/Capture through ALSA framework Patrick Lai
@ 2011-03-15 20:40 ` Eliot Blennerhassett
  2011-03-15 20:52   ` [alsa-devel] " pl bossart
  2011-03-15 23:28   ` Patrick Lai
  2011-03-16 10:38 ` Mark Brown
  1 sibling, 2 replies; 31+ messages in thread
From: Eliot Blennerhassett @ 2011-03-15 20:40 UTC (permalink / raw)
  To: Patrick Lai; +Cc: alsa-devel, linux-arm-msm

On 16/03/11 07:31, Patrick Lai wrote:
> Hi,
> 
> Is there a precedent for playback/capture compressed audio stream
> through ALSA playback/capture interface if underlying hardware supports
> decoder + sink & encoder + source capabilities?

No.  (Apart from AC3 passthrough to spdif output)

ALSA might be extended to cope with compressed audio with fixed frame
size and bitrate, but dealing with any VBR encoding is likely to be even
more problematic.

This is because alsa assumes a fixed relationship between samplerate and
data rate, and also assumes that samples fit in an integer number of bytes.

AFAIK dealing with hardware enc/dec has been done using gstreamer plugins.
E.g. http://www.lca2010.org.nz/slides/50315.pdf


Given that audioscience makes cards that support mp3 encode/decode as
well as pcm, I'd like it if alsa *did* support compressed audio...

> Which source file can I find an example?
> 
> Thanks
> Patrick
> 

regards

-- 
Eliot Blennerhassett
AudioScience Inc.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 20:40 ` Eliot Blennerhassett
@ 2011-03-15 20:52   ` pl bossart
  2011-03-15 23:28   ` Patrick Lai
  1 sibling, 0 replies; 31+ messages in thread
From: pl bossart @ 2011-03-15 20:52 UTC (permalink / raw)
  To: Eliot Blennerhassett; +Cc: Patrick Lai, linux-arm-msm, alsa-devel

> Given that audioscience makes cards that support mp3 encode/decode as
> well as pcm, I'd like it if alsa *did* support compressed audio...

You can use the IEC format for MPEG and use an ALSA driver if you
wanted and can afford the bandwidth waste and payload overhead.
We've been also playing with the notion of a new API, similar to ALSA
(ring buffer, periods, etc), but where references to samples/time
would be removed (all byte based). If there's enough interest in the
community maybe we can share this.
-Pierre

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 20:40 ` Eliot Blennerhassett
  2011-03-15 20:52   ` [alsa-devel] " pl bossart
@ 2011-03-15 23:28   ` Patrick Lai
  2011-03-16  7:21     ` [alsa-devel] " Clemens Ladisch
                       ` (2 more replies)
  1 sibling, 3 replies; 31+ messages in thread
From: Patrick Lai @ 2011-03-15 23:28 UTC (permalink / raw)
  To: Eliot Blennerhassett; +Cc: alsa-devel, linux-arm-msm

On 3/15/2011 1:40 PM, Eliot Blennerhassett wrote:
> On 16/03/11 07:31, Patrick Lai wrote:
>> Hi,
>>
>> Is there a precedent for playback/capture compressed audio stream
>> through ALSA playback/capture interface if underlying hardware supports
>> decoder + sink&  encoder + source capabilities?
>
> No.  (Apart from AC3 passthrough to spdif output)

I presume you are referring to IEC958 format. Are there ASoC drivers 
that support IEC958 format already? Why is AC3 passthrough acceptable
but not other compressed audio format?

> ALSA might be extended to cope with compressed audio with fixed frame
> size and bitrate,

but dealing with any VBR encoding is likely to be even
> more problematic.

> This is because alsa assumes a fixed relationship between samplerate and
> data rate, and also assumes that samples fit in an integer number of bytes.
>
> AFAIK dealing with hardware enc/dec has been done using gstreamer plugins.
> E.g. http://www.lca2010.org.nz/slides/50315.pdf
>
>
> Given that audioscience makes cards that support mp3 encode/decode as
> well as pcm, I'd like it if alsa *did* support compressed audio...
>
>> Which source file can I find an example?
>>
>> Thanks
>> Patrick
>>
>
> regards
>


-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 23:28   ` Patrick Lai
@ 2011-03-16  7:21     ` Clemens Ladisch
  2011-03-16  7:23     ` Jaroslav Kysela
  2011-03-16 22:08     ` Patrick Lai
  2 siblings, 0 replies; 31+ messages in thread
From: Clemens Ladisch @ 2011-03-16  7:21 UTC (permalink / raw)
  To: Patrick Lai; +Cc: Eliot Blennerhassett, linux-arm-msm, alsa-devel

Patrick Lai wrote:
> Why is AC3 passthrough acceptable

Because it pretends to be a normal 16-bit stereo stream at 48 kHz,
the only difference is that the IEC958 non-audio bit is set.

> but not other compressed audio format?

Other formats like DTS or WMA can be transported in the same way.

> Eliot Blennerhassett wrote:
> > ALSA might be extended to cope with compressed audio with fixed frame
> > size and bitrate, but dealing with any VBR encoding is likely to be even
> > more problematic.


Regards,
Clemens

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 23:28   ` Patrick Lai
  2011-03-16  7:21     ` [alsa-devel] " Clemens Ladisch
@ 2011-03-16  7:23     ` Jaroslav Kysela
  2011-03-16 22:08     ` Patrick Lai
  2 siblings, 0 replies; 31+ messages in thread
From: Jaroslav Kysela @ 2011-03-16  7:23 UTC (permalink / raw)
  To: Patrick Lai; +Cc: Eliot Blennerhassett, alsa-devel, linux-arm-msm

On Tue, 15 Mar 2011, Patrick Lai wrote:

> On 3/15/2011 1:40 PM, Eliot Blennerhassett wrote:
>> On 16/03/11 07:31, Patrick Lai wrote:
>>> Hi,
>>>
>>> Is there a precedent for playback/capture compressed audio stream
>>> through ALSA playback/capture interface if underlying hardware supports
>>> decoder + sink&  encoder + source capabilities?
>>
>> No.  (Apart from AC3 passthrough to spdif output)
>
> I presume you are referring to IEC958 format. Are there ASoC drivers
> that support IEC958 format already? Why is AC3 passthrough acceptable
> but not other compressed audio format?

I agree. AC3, DTS and also MPEG2 formats should work. The PCM parameters 
for VBR streams are fixed (at least I don't know about any format which 
changes the rate/bits/channels inside the stream). So we can use IEC958 (
IEC 61937) and for other formats we can create similar extensions.

The only part which we can improve in the ALSA layer may be more better 
synchronization handling in case of xruns. Because these compressed 
streams are transferred in blocks, the whole block might be dropped.

 						Jaroslav

-----
Jaroslav Kysela <perex@perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 18:31 Compressed Audio Playback/Capture through ALSA framework Patrick Lai
  2011-03-15 20:40 ` Eliot Blennerhassett
@ 2011-03-16 10:38 ` Mark Brown
  2011-03-16 10:59   ` Koul, Vinod
  1 sibling, 1 reply; 31+ messages in thread
From: Mark Brown @ 2011-03-16 10:38 UTC (permalink / raw)
  To: Patrick Lai; +Cc: alsa-devel, linux-arm-msm

On Tue, Mar 15, 2011 at 11:31:18AM -0700, Patrick Lai wrote:

> Is there a precedent for playback/capture compressed audio stream 
> through ALSA playback/capture interface if underlying hardware supports 
> decoder + sink & encoder + source capabilities?

I'm not sure if ALSA is the best API to use for this - the ALSA APIs are
strongly oriented around data where the size is consistent in time while
most compressed audio formats don't do that.  There's also existing APIs
in userspace like gstreamer and the various OpenMAXish things to slot in
with, everything below those is usually black boxed per implementation.

Within ASoC the current tunneled audio stuff I've seen does something
like representing the decompressor output as a DAPM input and showing
that as active when there's a stream being decoded.  Portions of the
implementation for Moorestown are in mainline in sound/soc/mid-x86,
though I'm not sure if it's all fully hooked up yet or not.

Nobody's really tried to do more yet but this may end up being the best
choice overall as there's substantial variation in how the DSPs are
structured both physically and OS wise which make the abstractions below
the userspace API level less clear.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 10:38 ` Mark Brown
@ 2011-03-16 10:59   ` Koul, Vinod
  2011-03-16 11:56     ` Mark Brown
  2011-03-18  2:22     ` Compressed Audio Playback/Capture through ALSA framework Raymond Yau
  0 siblings, 2 replies; 31+ messages in thread
From: Koul, Vinod @ 2011-03-16 10:59 UTC (permalink / raw)
  To: Mark Brown; +Cc: Patrick Lai, linux-arm-msm@vger.kernel.org, alsa-devel

On Wed, 2011-03-16 at 16:08 +0530, Mark Brown wrote:
> On Tue, Mar 15, 2011 at 11:31:18AM -0700, Patrick Lai wrote:
> 
> > Is there a precedent for playback/capture compressed audio stream 
> > through ALSA playback/capture interface if underlying hardware supports 
> > decoder + sink & encoder + source capabilities?
> 
> I'm not sure if ALSA is the best API to use for this - the ALSA APIs are
> strongly oriented around data where the size is consistent in time while
> most compressed audio formats don't do that.  There's also existing APIs
> in userspace like gstreamer and the various OpenMAXish things to slot in
> with, everything below those is usually black boxed per implementation.
I would agree with Mark, our best approach would be to do a clean design
of a new API set which takes care of both CBR, VBR and be generic enough
for any format.

> 
> Within ASoC the current tunneled audio stuff I've seen does something
> like representing the decompressor output as a DAPM input and showing
> that as active when there's a stream being decoded.  Portions of the
> implementation for Moorestown are in mainline in sound/soc/mid-x86,
> though I'm not sure if it's all fully hooked up yet or not.
The current implementation in soc/mid-x86 is for PCM only. The
compressed path offload bits are in staging/intel_sst.
I will be working to make these bits move to soc/mid-x86 and also to
make them more suited for generic frameworks.
> 
> Nobody's really tried to do more yet but this may end up being the best
> choice overall as there's substantial variation in how the DSPs are
> structured both physically and OS wise which make the abstractions below
> the userspace API level less clear.
I was thinking more on having a generic framework which coexists with
alsa, asoc (dapm), and provided a way to write driver for your dsp to do
decoder, sink + decoder and other variations.
The implementation of these can be specific to DSP in question, but
framework should be able to push and pull data, timing information
around with a standard way which coexists with current frameworks 

Thoughts....?

-- 
~Vinod


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 10:59   ` Koul, Vinod
@ 2011-03-16 11:56     ` Mark Brown
  2011-03-16 12:17       ` Koul, Vinod
  2011-03-16 17:52       ` pl bossart
  2011-03-18  2:22     ` Compressed Audio Playback/Capture through ALSA framework Raymond Yau
  1 sibling, 2 replies; 31+ messages in thread
From: Mark Brown @ 2011-03-16 11:56 UTC (permalink / raw)
  To: Koul, Vinod; +Cc: Patrick Lai, linux-arm-msm@vger.kernel.org, alsa-devel

On Wed, Mar 16, 2011 at 04:29:22PM +0530, Koul, Vinod wrote:
> On Wed, 2011-03-16 at 16:08 +0530, Mark Brown wrote:

> > Nobody's really tried to do more yet but this may end up being the best
> > choice overall as there's substantial variation in how the DSPs are
> > structured both physically and OS wise which make the abstractions below
> > the userspace API level less clear.

> I was thinking more on having a generic framework which coexists with
> alsa, asoc (dapm), and provided a way to write driver for your dsp to do
> decoder, sink + decoder and other variations.
> The implementation of these can be specific to DSP in question, but
> framework should be able to push and pull data, timing information
> around with a standard way which coexists with current frameworks 

It would be nice to have a standard userspace API for this but I'm not
aware of anyone who's looked at it in detail and you start having to
also take into account other algorithms that are running on the device
so there's nothing to point people at right now and no real prospect of
there being.  I don't know if it's something we can resolve entirely in
the kernel as I'm aware that some of the DSP implementations have
non-trivial management code in userspace that they talk to which may
mean that the standard API has to be a userspace one.  There's also the
difference between memory to memory implementations (which fit into a
userspace chain much more readily) and tunneled implementations (which
do need new infrastructure).

I think this'll get substantially easier to look at once the media
controller API is merged and starts to be used in the audio subsystem.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 11:56     ` Mark Brown
@ 2011-03-16 12:17       ` Koul, Vinod
  2011-03-16 17:52       ` pl bossart
  1 sibling, 0 replies; 31+ messages in thread
From: Koul, Vinod @ 2011-03-16 12:17 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-arm-msm@vger.kernel.org, Patrick Lai, alsa-devel

On Wed, 2011-03-16 at 17:26 +0530, Mark Brown wrote:
> It would be nice to have a standard userspace API for this but I'm not
> aware of anyone who's looked at it in detail and you start having to
> also take into account other algorithms that are running on the device
> so there's nothing to point people at right now and no real prospect of
> there being.  I don't know if it's something we can resolve entirely in
> the kernel as I'm aware that some of the DSP implementations have
> non-trivial management code in userspace that they talk to which may
> mean that the standard API has to be a userspace one.  There's also the
> difference between memory to memory implementations (which fit into a
> userspace chain much more readily) and tunneled implementations (which
> do need new infrastructure).
Yes, I was also thinking this needs to have both the user land component
for applications to use and kernel land for DSP implementations.
Agreed, this should also comprehend algorithms.

-- 
~Vinod


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 11:56     ` Mark Brown
  2011-03-16 12:17       ` Koul, Vinod
@ 2011-03-16 17:52       ` pl bossart
  2011-03-16 17:53         ` Mark Brown
  1 sibling, 1 reply; 31+ messages in thread
From: pl bossart @ 2011-03-16 17:52 UTC (permalink / raw)
  To: Mark Brown
  Cc: Koul, Vinod, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

> It would be nice to have a standard userspace API for this but I'm not
> aware of anyone who's looked at it in detail and you start having to
> also take into account other algorithms that are running on the device
> so there's nothing to point people at right now and no real prospect of
> there being.  I don't know if it's something we can resolve entirely in
> the kernel as I'm aware that some of the DSP implementations have
> non-trivial management code in userspace that they talk to which may
> mean that the standard API has to be a userspace one.  There's also the
> difference between memory to memory implementations (which fit into a
> userspace chain much more readily) and tunneled implementations (which
> do need new infrastructure).
>
> I think this'll get substantially easier to look at once the media
> controller API is merged and starts to be used in the audio subsystem.

Mark:
I must be missing something here. Why would this media controller API
make things simpler? Based on what was presented at LPC, I don't
understand this last part.
-Pierre
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 17:52       ` pl bossart
@ 2011-03-16 17:53         ` Mark Brown
  2011-03-16 18:00           ` pl bossart
  2011-03-17  5:32           ` Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround Wojciech Myrda
  0 siblings, 2 replies; 31+ messages in thread
From: Mark Brown @ 2011-03-16 17:53 UTC (permalink / raw)
  To: pl bossart
  Cc: Koul, Vinod, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

On Wed, Mar 16, 2011 at 12:52:23PM -0500, pl bossart wrote:

> I must be missing something here. Why would this media controller API
> make things simpler? Based on what was presented at LPC, I don't
> understand this last part.

It'd make the tie up with algorithms part much easier as we could have
an interface for transferring the compressed data alone and then
externally describe how that's plumbed into any other DSP that's going
on and the physical outputs - it'd help with treating the data transfer
as a standalone problem.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 17:53         ` Mark Brown
@ 2011-03-16 18:00           ` pl bossart
  2011-03-16 18:08             ` Mark Brown
  2011-03-17  5:32           ` Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround Wojciech Myrda
  1 sibling, 1 reply; 31+ messages in thread
From: pl bossart @ 2011-03-16 18:00 UTC (permalink / raw)
  To: Mark Brown
  Cc: Koul, Vinod, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

On Wed, Mar 16, 2011 at 12:53 PM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Wed, Mar 16, 2011 at 12:52:23PM -0500, pl bossart wrote:
>
>> I must be missing something here. Why would this media controller API
>> make things simpler? Based on what was presented at LPC, I don't
>> understand this last part.
>
> It'd make the tie up with algorithms part much easier as we could have
> an interface for transferring the compressed data alone and then
> externally describe how that's plumbed into any other DSP that's going
> on and the physical outputs - it'd help with treating the data transfer
> as a standalone problem.

Still not convinced. Why would you need to 'externally describe' how
compressed data is linked to post-processing. It's all part of DSP
firmware, why should anyone care how the decoder provides data to
post-processes? You can control post-processes with ALSA controls as
for regular PCM.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 18:00           ` pl bossart
@ 2011-03-16 18:08             ` Mark Brown
  2011-03-17  2:21               ` Koul, Vinod
  0 siblings, 1 reply; 31+ messages in thread
From: Mark Brown @ 2011-03-16 18:08 UTC (permalink / raw)
  To: pl bossart
  Cc: Koul, Vinod, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

On Wed, Mar 16, 2011 at 01:00:09PM -0500, pl bossart wrote:
> On Wed, Mar 16, 2011 at 12:53 PM, Mark Brown

> > It'd make the tie up with algorithms part much easier as we could have
> > an interface for transferring the compressed data alone and then
> > externally describe how that's plumbed into any other DSP that's going
> > on and the physical outputs - it'd help with treating the data transfer
> > as a standalone problem.

> Still not convinced. Why would you need to 'externally describe' how
> compressed data is linked to post-processing. It's all part of DSP
> firmware, why should anyone care how the decoder provides data to
> post-processes? You can control post-processes with ALSA controls as
> for regular PCM.

The problem is figuring out which controls are where and what can be
joined up with what.  This is a problem with regular PCM too but it gets
much worse when everything is virtual.  Media controller should provide
a route to allowing applications to figure out what's going on in the
hardware.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-15 23:28   ` Patrick Lai
  2011-03-16  7:21     ` [alsa-devel] " Clemens Ladisch
  2011-03-16  7:23     ` Jaroslav Kysela
@ 2011-03-16 22:08     ` Patrick Lai
  2011-03-17  7:39       ` [alsa-devel] " Clemens Ladisch
  2 siblings, 1 reply; 31+ messages in thread
From: Patrick Lai @ 2011-03-16 22:08 UTC (permalink / raw)
  To: Eliot Blennerhassett; +Cc: alsa-devel, linux-arm-msm

> I presume you are referring to IEC958 format. Are there ASoC drivers
> that support IEC958 format already?

Where can I find user-space code snippet to see how ALSA is configured 
for IEC958 playback?

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 18:08             ` Mark Brown
@ 2011-03-17  2:21               ` Koul, Vinod
  2011-03-17  5:00                 ` Patrick Lai
  0 siblings, 1 reply; 31+ messages in thread
From: Koul, Vinod @ 2011-03-17  2:21 UTC (permalink / raw)
  To: Mark Brown
  Cc: pl bossart, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

On Wed, 2011-03-16 at 23:38 +0530, Mark Brown wrote:
> On Wed, Mar 16, 2011 at 01:00:09PM -0500, pl bossart wrote:
> > On Wed, Mar 16, 2011 at 12:53 PM, Mark Brown
> 
> > > It'd make the tie up with algorithms part much easier as we could have
> > > an interface for transferring the compressed data alone and then
> > > externally describe how that's plumbed into any other DSP that's going
> > > on and the physical outputs - it'd help with treating the data transfer
> > > as a standalone problem.
> 
> > Still not convinced. Why would you need to 'externally describe' how
> > compressed data is linked to post-processing. It's all part of DSP
> > firmware, why should anyone care how the decoder provides data to
> > post-processes? You can control post-processes with ALSA controls as
> > for regular PCM.
> 
> The problem is figuring out which controls are where and what can be
> joined up with what.  This is a problem with regular PCM too but it gets
> much worse when everything is virtual.  Media controller should provide
> a route to allowing applications to figure out what's going on in the
> hardware.
Wouldn't a virtual sound card solve this? I was thinking of representing
all DSP elements in a virtual card. From userland, we know when decoder,
algorithms etc are active and can control them.
The virtual card output gets connected to actual sound card.

-- 
~Vinod


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17  2:21               ` Koul, Vinod
@ 2011-03-17  5:00                 ` Patrick Lai
  2011-03-17 11:54                   ` Mark Brown
  0 siblings, 1 reply; 31+ messages in thread
From: Patrick Lai @ 2011-03-17  5:00 UTC (permalink / raw)
  To: Koul, Vinod
  Cc: Mark Brown, pl bossart, linux-arm-msm@vger.kernel.org, alsa-devel

On 3/16/2011 7:21 PM, Koul, Vinod wrote:
> On Wed, 2011-03-16 at 23:38 +0530, Mark Brown wrote:
>> On Wed, Mar 16, 2011 at 01:00:09PM -0500, pl bossart wrote:
>>> On Wed, Mar 16, 2011 at 12:53 PM, Mark Brown
>>
>>>> It'd make the tie up with algorithms part much easier as we could have
>>>> an interface for transferring the compressed data alone and then
>>>> externally describe how that's plumbed into any other DSP that's going
>>>> on and the physical outputs - it'd help with treating the data transfer
>>>> as a standalone problem.
>>
>>> Still not convinced. Why would you need to 'externally describe' how
>>> compressed data is linked to post-processing. It's all part of DSP
>>> firmware, why should anyone care how the decoder provides data to
>>> post-processes? You can control post-processes with ALSA controls as
>>> for regular PCM.
>>
>> The problem is figuring out which controls are where and what can be
>> joined up with what.  This is a problem with regular PCM too but it gets
>> much worse when everything is virtual.  Media controller should provide
>> a route to allowing applications to figure out what's going on in the
>> hardware.
> Wouldn't a virtual sound card solve this? I was thinking of representing
> all DSP elements in a virtual card.

I think it would work to certain extend but what if DSP can instantiate 
elements at run-time, how can we deal with this use case under current 
ALSA framework?

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround
  2011-03-16 17:53         ` Mark Brown
  2011-03-16 18:00           ` pl bossart
@ 2011-03-17  5:32           ` Wojciech Myrda
  2011-03-17 21:55             ` Paul Menzel
  1 sibling, 1 reply; 31+ messages in thread
From: Wojciech Myrda @ 2011-03-17  5:32 UTC (permalink / raw)
  To: alsa-devel

Hi all,

I recently purchased Asus e35M1-M Pro and I would like to get souround
sound going from my 5.1 system. I have it connected accordingly to the
manual (line in - rear speakers, line out - front speaker, mic in -
bass/center) but anywy I try that is using guides like
http://www.gentoo-wiki.info/HOWTO_Surround_Sound I am not able to get
sound from any other speaker then front left and right one. Alsamixer
does not show any devices as shared to be available to switch to the
output from input

speaker-test plays every file in the left and right front speaker at the
same time

Here is my system information using  2.6.38-rc8-git3
http://www.alsa-project.org/db/?f=0dd55b4640a8afff1552c4d0be0105e416ad1cf3
and 2.6.38-rc8-next-20110314
http://www.alsa-project.org/db/?f=a8733bf0083929540948f51b5f33d9c8a62d9994

My question is what should I try next?

Regards,
Wojciech

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 22:08     ` Patrick Lai
@ 2011-03-17  7:39       ` Clemens Ladisch
  0 siblings, 0 replies; 31+ messages in thread
From: Clemens Ladisch @ 2011-03-17  7:39 UTC (permalink / raw)
  To: Patrick Lai; +Cc: linux-arm-msm, alsa-devel

Patrick Lai wrote:
> Where can I find user-space code snippet to see how ALSA is configured 
> for IEC958 playback?

Use the ALSA device name "iec958" (or its alias "spdif").
For another than the default sound card, use "iec958:x".

For compressed formats, you have to set the non-audio bit.
Thise device has four parameters AES0..3 for the four bytes
of S/PDIF metainformation.  The non-audio bit can be set by
adding the parameter "AES0=6"; the complete device name then
looks like "spdif:AES0=6" or "spdif:other=parameters,AES0=6"
or "spdif:{ other-parameters ... AES0=6 }".

The try_open_device function of mplayer tries to do this:
http://git.mplayerhq.hu/?p=mplayer;a=blob;hb=HEAD;f=libao2/ao_alsa.c


Regards,
Clemens

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17  5:00                 ` Patrick Lai
@ 2011-03-17 11:54                   ` Mark Brown
  2011-03-17 14:27                     ` pl bossart
  0 siblings, 1 reply; 31+ messages in thread
From: Mark Brown @ 2011-03-17 11:54 UTC (permalink / raw)
  To: Patrick Lai
  Cc: Koul, Vinod, pl bossart, linux-arm-msm@vger.kernel.org,
	alsa-devel

On Wed, Mar 16, 2011 at 10:00:01PM -0700, Patrick Lai wrote:
> On 3/16/2011 7:21 PM, Koul, Vinod wrote:

> >Wouldn't a virtual sound card solve this? I was thinking of representing
> >all DSP elements in a virtual card.

> I think it would work to certain extend but what if DSP can
> instantiate elements at run-time, how can we deal with this use case
> under current ALSA framework?

Yes, exactly - handing runtime changes is a big issue, as is
discoverability.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 11:54                   ` Mark Brown
@ 2011-03-17 14:27                     ` pl bossart
  2011-03-17 18:25                       ` Mark Brown
  0 siblings, 1 reply; 31+ messages in thread
From: pl bossart @ 2011-03-17 14:27 UTC (permalink / raw)
  To: Mark Brown
  Cc: Patrick Lai, Koul, Vinod, linux-arm-msm@vger.kernel.org,
	alsa-devel

>> >Wouldn't a virtual sound card solve this? I was thinking of representing
>> >all DSP elements in a virtual card.
>
>> I think it would work to certain extend but what if DSP can
>> instantiate elements at run-time, how can we deal with this use case
>> under current ALSA framework?
>
> Yes, exactly - handing runtime changes is a big issue, as is
> discoverability.

Wow. Run-time changes and discoverability? This sounds wild. what type
of solutions are we talking about here?
All the DSP implementations I've seen are pretty dumb, the firmware is
downloaded at the request of the host when a specific service is
requested; discoverability isn't an issue since the driver and
possibly user-space know what's been downloaded and how the downloaded
parts interact with the rest of the firmware.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 14:27                     ` pl bossart
@ 2011-03-17 18:25                       ` Mark Brown
  2011-03-17 19:16                         ` [alsa-devel] " pl bossart
  0 siblings, 1 reply; 31+ messages in thread
From: Mark Brown @ 2011-03-17 18:25 UTC (permalink / raw)
  To: pl bossart
  Cc: Koul, Vinod, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

On Thu, Mar 17, 2011 at 09:27:02AM -0500, pl bossart wrote:

> Wow. Run-time changes and discoverability? This sounds wild. what type
> of solutions are we talking about here?
> All the DSP implementations I've seen are pretty dumb, the firmware is
> downloaded at the request of the host when a specific service is
> requested; discoverability isn't an issue since the driver and
> possibly user-space know what's been downloaded and how the downloaded
> parts interact with the rest of the firmware.

Having the driver figure out what's going on isn't usually much of an
issue, it's letting the application know about the configuration that's
available.  In situations where the DSP can support flexible routing
(eg, if it's got multiple audio interfaces and can route or mix between
them and also to and from the CPU) with per-flow algorithm selection it
gets unmanagable if you try to show everything possible via the current
ALSA APIs.  Things get worse the more algorithms and so on the DSP can
support.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 18:25                       ` Mark Brown
@ 2011-03-17 19:16                         ` pl bossart
  2011-03-17 20:16                           ` Mark Brown
  0 siblings, 1 reply; 31+ messages in thread
From: pl bossart @ 2011-03-17 19:16 UTC (permalink / raw)
  To: Mark Brown
  Cc: Patrick Lai, Koul, Vinod, linux-arm-msm@vger.kernel.org,
	alsa-devel

>> Wow. Run-time changes and discoverability? This sounds wild. what type
>> of solutions are we talking about here?
>> All the DSP implementations I've seen are pretty dumb, the firmware is
>> downloaded at the request of the host when a specific service is
>> requested; discoverability isn't an issue since the driver and
>> possibly user-space know what's been downloaded and how the downloaded
>> parts interact with the rest of the firmware.
>
> Having the driver figure out what's going on isn't usually much of an
> issue, it's letting the application know about the configuration that's
> available.  In situations where the DSP can support flexible routing
> (eg, if it's got multiple audio interfaces and can route or mix between
> them and also to and from the CPU) with per-flow algorithm selection it
> gets unmanagable if you try to show everything possible via the current
> ALSA APIs.  Things get worse the more algorithms and so on the DSP can
> support.

Ok I get your point and agree with the analysis.
Still, isn't UCM going to address some of the complexity by
abstracting the routing/agorithms with some predefined configurations?
Or are you talking about going beyond static UCM configurations into
something more flexible based on the Media Controller API?
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 19:16                         ` [alsa-devel] " pl bossart
@ 2011-03-17 20:16                           ` Mark Brown
  2011-03-17 21:19                             ` Patrick Lai
  2011-03-18 16:03                             ` pl bossart
  0 siblings, 2 replies; 31+ messages in thread
From: Mark Brown @ 2011-03-17 20:16 UTC (permalink / raw)
  To: pl bossart
  Cc: Patrick Lai, Koul, Vinod, linux-arm-msm@vger.kernel.org,
	alsa-devel

On Thu, Mar 17, 2011 at 02:16:23PM -0500, pl bossart wrote:

> Still, isn't UCM going to address some of the complexity by
> abstracting the routing/agorithms with some predefined configurations?

UCM definitely helps at runtime but in an ideal world we'd still have
the nice pointy clicky tools that provide a beautiful GUI visualising
the system audio setup so people could use those when configuring the
setup for UCM.

> Or are you talking about going beyond static UCM configurations into
> something more flexible based on the Media Controller API?

I can see us still needing something dynamic for things like tunneled
audio streams where you're likely to have them being instantiated
dynamically (with associated control), you'd want UCM to be able to work
with this to tell the application about how these should be joined up to
the rest of the system and so on.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 20:16                           ` Mark Brown
@ 2011-03-17 21:19                             ` Patrick Lai
  2011-03-17 21:25                               ` Mark Brown
  2011-03-18 16:03                             ` pl bossart
  1 sibling, 1 reply; 31+ messages in thread
From: Patrick Lai @ 2011-03-17 21:19 UTC (permalink / raw)
  To: Mark Brown
  Cc: pl bossart, Koul, Vinod, linux-arm-msm@vger.kernel.org,
	alsa-devel

> I can see us still needing something dynamic for things like tunneled
> audio streams where you're likely to have them being instantiated
> dynamically (with associated control), you'd want UCM to be able to work
> with this to tell the application about how these should be joined up to
> the rest of the system and so on.

My impression about UCM is that scenario rules are written based on
statically defined elements. How does it discover run-time instantiated
elements and know what to do about it?
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 21:19                             ` Patrick Lai
@ 2011-03-17 21:25                               ` Mark Brown
  0 siblings, 0 replies; 31+ messages in thread
From: Mark Brown @ 2011-03-17 21:25 UTC (permalink / raw)
  To: Patrick Lai
  Cc: pl bossart, Koul, Vinod, linux-arm-msm@vger.kernel.org,
	alsa-devel

On Thu, Mar 17, 2011 at 02:19:27PM -0700, Patrick Lai wrote:

> My impression about UCM is that scenario rules are written based on
> statically defined elements. How does it discover run-time instantiated
> elements and know what to do about it?

It doesn't at present - it'll need to be enhanced to do so, but it's
hardly alone in this.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround
  2011-03-17  5:32           ` Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround Wojciech Myrda
@ 2011-03-17 21:55             ` Paul Menzel
  2011-03-20 10:13               ` Wojciech Myrda
  0 siblings, 1 reply; 31+ messages in thread
From: Paul Menzel @ 2011-03-17 21:55 UTC (permalink / raw)
  To: alsa-devel


[-- Attachment #1.1: Type: text/plain, Size: 2023 bytes --]

Dear Wojciech,


please do not hijack threads [1]. Using Mozilla Thunderbird you can
easily compose a new message to a certain addressee by clicking on the
address <alsa-devel@alsa-project.org> in any of the messages.


Am Donnerstag, den 17.03.2011, 06:32 +0100 schrieb Wojciech Myrda:

> I recently purchased Asus e35M1-M Pro

OT: How do you like it? Any reviews you found useful on the WWW?

> and I would like to get souround sound going from my 5.1 system. I
> have it connected accordingly to the manual (line in - rear speakers,
> line out - front speaker, mic in - bass/center) but anywy I try that
> is using guides like http://www.gentoo-wiki.info/HOWTO_Surround_Sound
> I am not able to get sound from any other speaker then front left and
> right one. Alsamixer does not show any devices as shared to be
> available to switch to the output from input
> 
> speaker-test plays every file in the left and right front speaker at the
> same time
> 
> Here is my system information using  2.6.38-rc8-git3
> http://www.alsa-project.org/db/?f=0dd55b4640a8afff1552c4d0be0105e416ad1cf3
> and 2.6.38-rc8-next-20110314
> http://www.alsa-project.org/db/?f=a8733bf0083929540948f51b5f33d9c8a62d9994

Please additionally attach those files next time, since the developers
(I think at least Takashi) prefer it.

> My question is what should I try next?

If I understood it correctly it does not work yet [2]. If this explains
the issue for you please update [3] and you could also submit a report
to the Gentoo bug tracking system (BTS). Maybe some developer will
implement this. You could also figure out if there exists a ticket in
the Kernel BTS and submit a feature request or, if it already exists,
follow up there.


Thanks and good luck,

Paul


[1] http://en.opensuse.org/openSUSE:Mailing_list_netiquette
[2] http://sourceforge.net/mailarchive/forum.php?thread_name=4D3F1702.1090309%40gmail.com&forum_name=alsa-user
[3] http://www.gentoo-wiki.info/HOWTO_Surround_Sound

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-16 10:59   ` Koul, Vinod
  2011-03-16 11:56     ` Mark Brown
@ 2011-03-18  2:22     ` Raymond Yau
  1 sibling, 0 replies; 31+ messages in thread
From: Raymond Yau @ 2011-03-18  2:22 UTC (permalink / raw)
  To: ALSA Development Mailing List

2011/3/16 Koul, Vinod <vinod.koul@intel.com>

> On Wed, 2011-03-16 at 16:08 +0530, Mark Brown wrote:
> > On Tue, Mar 15, 2011 at 11:31:18AM -0700, Patrick Lai wrote:
> >
> > > Is there a precedent for playback/capture compressed audio stream
> > > through ALSA playback/capture interface if underlying hardware supports
> > > decoder + sink & encoder + source capabilities?
> >
> > I'm not sure if ALSA is the best API to use for this - the ALSA APIs are
> > strongly oriented around data where the size is consistent in time while
> > most compressed audio formats don't do that.  There's also existing APIs
> > in userspace like gstreamer and the various OpenMAXish things to slot in
> > with, everything below those is usually black boxed per implementation.
> I would agree with Mark, our best approach would be to do a clean design
> of a new API set which takes care of both CBR, VBR and be generic enough
> for any format.
>

For software decode, the application can start , pause and stop at any PCM
frames

Does the hardware decoder has any limitation on the compressed stream ?

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [alsa-devel] Compressed Audio Playback/Capture through ALSA framework
  2011-03-17 20:16                           ` Mark Brown
  2011-03-17 21:19                             ` Patrick Lai
@ 2011-03-18 16:03                             ` pl bossart
  2011-03-22 13:01                               ` Mark Brown
  1 sibling, 1 reply; 31+ messages in thread
From: pl bossart @ 2011-03-18 16:03 UTC (permalink / raw)
  To: Mark Brown
  Cc: Patrick Lai, Koul, Vinod, linux-arm-msm@vger.kernel.org,
	alsa-devel

> UCM definitely helps at runtime but in an ideal world we'd still have
> the nice pointy clicky tools that provide a beautiful GUI visualising
> the system audio setup so people could use those when configuring the
> setup for UCM.
>
>> Or are you talking about going beyond static UCM configurations into
>> something more flexible based on the Media Controller API?
>
> I can see us still needing something dynamic for things like tunneled
> audio streams where you're likely to have them being instantiated
> dynamically (with associated control), you'd want UCM to be able to work
> with this to tell the application about how these should be joined up to
> the rest of the system and so on.

I don't disagree, but I view tunneling as very difficult to implement
when you have something like PulseAudio or AudioFlinger handling all
the routing, policy and volume control. The approach based on
passthrough makes things simpler in terms of links/routing/policy.
Instead of tunneling you push compressed data as far as possible into
the sink. The application doesn't need to know what the connections
are, this can be handled at the driver/fw level

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround
  2011-03-17 21:55             ` Paul Menzel
@ 2011-03-20 10:13               ` Wojciech Myrda
  0 siblings, 0 replies; 31+ messages in thread
From: Wojciech Myrda @ 2011-03-20 10:13 UTC (permalink / raw)
  To: Paul Menzel; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 4055 bytes --]

W dniu 17.03.2011 22:55, Paul Menzel pisze:
> Dear Wojciech,
> 
> 
> please do not hijack threads [1]. Using Mozilla Thunderbird you can
> easily compose a new message to a certain addressee by clicking on the
> address <alsa-devel@alsa-project.org> in any of the messages.
> 
Dear Paul,
I am using Mozilla Thunderbird for a while, but this e-mail was first I
have send to the mailing list and it may be that I have done something
out of ordinary, but step You have mentioned are actually once I have
made. It was composing a new message by clicking on the adress

> 
> Am Donnerstag, den 17.03.2011, 06:32 +0100 schrieb Wojciech Myrda:
> 
>> I recently purchased Asus e35M1-M Pro
> 
> OT: How do you like it? Any reviews you found useful on the WWW?
> 

I was deciding for some time which platform use for my HTPC and this
board was the first with low voltage processor and several PCI ports
(2xPCIe, 2xPCI) that allowed me to place in it 2xDVB-S2 cards and 1xDVB
card opossing to only 1 PCIe slot with Atom boards so choice was clear ;)
As far as Linux experience with the board there is number of rough
corners but level of support is already increasing by the day

>> and I would like to get souround sound going from my 5.1 system. I
>> have it connected accordingly to the manual (line in - rear speakers,
>> line out - front speaker, mic in - bass/center) but anywy I try that
>> is using guides like http://www.gentoo-wiki.info/HOWTO_Surround_Sound
>> I am not able to get sound from any other speaker then front left and
>> right one. Alsamixer does not show any devices as shared to be
>> available to switch to the output from input
>>
>> speaker-test plays every file in the left and right front speaker at the
>> same time
>>
>> Here is my system information using  2.6.38-rc8-git3
>> http://www.alsa-project.org/db/?f=0dd55b4640a8afff1552c4d0be0105e416ad1cf3
>> and 2.6.38-rc8-next-20110314
>> http://www.alsa-project.org/db/?f=a8733bf0083929540948f51b5f33d9c8a62d9994
> 
> Please additionally attach those files next time, since the developers
> (I think at least Takashi) prefer it.
> 
I was not familliar with that policy. Will remeber it now

>> My question is what should I try next?
> 
> If I understood it correctly it does not work yet [2]. If this explains
> the issue for you please update [3] and you could also submit a report
> to the Gentoo bug tracking system (BTS). Maybe some developer will
> implement this. You could also figure out if there exists a ticket in
> the Kernel BTS and submit a feature request or, if it already exists,
> follow up there.
> 
It does not work yet as it should. I have the stereo sound in few apps
which allow me to pick the second audio device Realtek AL887-VD in the
configuration menu. First is HDMI Audio which does not work yet with
Open Source driver on Evergreen chipset [4]. I am bugging xf86-video-ati
guys about it to get that supported as well :P .However sourround does
not work in any configuration as card is not detected properly.
Alsamixer does not make "Line In" and "Mic In" as shared devices and I
am not able to configure them as output. Board user guide says that
"Line In" should work as "Rear Speakers Out" and "Mic In" should work as
"Bass/Center"

I'll create bug report with Gentoo bug tracking system, but looking at
the matter historicly in case of drivers Gentoo it is very depended on
the upstream to resolve bugs in them.

I must say I didn't know I should create bug with Kernel BTS. Alsa-devel
mailing list seemed most appropriate place to seek help after forums and IRC
> 
> Thanks and good luck,
> 
> Paul

[2] was a great read and will definely get back to it once video driver
allows it but for now I would like to concenrate on proper mini jacks
configuration

Regards,
Wojciech

> 
> 
> [1] http://en.opensuse.org/openSUSE:Mailing_list_netiquette
> [2] http://sourceforge.net/mailarchive/forum.php?thread_name=4D3F1702.1090309%40gmail.com&forum_name=alsa-user
> [3] http://www.gentoo-wiki.info/HOWTO_Surround_Sound
[4] http://www.x.org/wiki/RadeonFeature

[-- Attachment #2: HDA_ATI_EM35M1-M_Pro-2.6.38-rc8-git3-0dd55b4640a8afff1552c4d0be0105e416ad1cf3 --]
[-- Type: text/plain, Size: 33572 bytes --]


!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Tue Mar 15 16:34:01 UTC 2011


!!Linux Distribution
!!------------------

Gentoo Base System release 2.0.1


!!DMI Information
!!---------------

Manufacturer:      System manufacturer
Product Name:      System Product Name
Product Version:   System Version


!!Kernel Information
!!------------------

Kernel release:    2.6.38-rc8-git3
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         AMD E-350 Processor
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.23
Library version:    1.0.24.1
Utilities version:  1.0.24.2


!!Loaded ALSA modules
!!-------------------

snd_hda_intel
snd_hda_intel


!!Sound Servers on this system
!!----------------------------

No sound servers found.


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfeb44000 irq 45
 1 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfeb40000 irq 16


!!PCI Soundcards installed in the system
!!--------------------------------------

00:01.1 Audio device: ATI Technologies Inc Device 1314
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!--------------------------------------------------------

00:01.1 0403: 1002:1314
	Subsystem: 1043:84a5
--
00:14.2 0403: 1002:4383 (rev 40)
	Subsystem: 1043:8445


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
	bdl_pos_adj : 32,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 1
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N

!!Module: snd_hda_intel
	bdl_pos_adj : 32,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 1
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100200
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Device: name="HDMI 0", type="HDMI", device=3
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x02
Codec: Realtek ALC887-VD
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0887
Subsystem Id: 0x10438445
Revision Id: 0x100302
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="PCM Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC887-VD Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=5, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=5, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals:  [0x90 0x90]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC887-VD Analog", type="Audio", device=0
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals:  [0x1c 0x1c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x0a [Audio Input] wcaps 0x100711: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x1f
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Rear Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Rear Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Front Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Front Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x1f 0x1f] [0x1f 0x1f] [0x1f 0x1f] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 10
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="PCM Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x04 0x0b
Node 0x0f [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80]
  Connection: 2
     0x05 0x0b
Node 0x10 [Audio Output] wcaps 0x611: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="IEC958 Default PCM Playback Switch", index=0, device=0
  Device: name="ALC887-VD Digital", type="HDMI", device=3
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x11 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x18561140: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x10
Node 0x12 [Pin Complex] wcaps 0x400401: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003e: IN OUT HP EAPD Detect Trigger
  EAPD 0x2: EAPD
  Pin Default 0x01014010: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0c
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000036: IN OUT Detect Trigger
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0d
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000036: IN OUT Detect Trigger
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0e
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00000036: IN OUT Detect Trigger
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0f
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Control: name="Rear Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003736: IN OUT Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x01a19850: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x5, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x19 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Control: name="Front Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000373e: IN OUT HP Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x02a19c60: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Pink
    DefAssociation = 0x6, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1a [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003736: IN OUT Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x0181305f: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0x5, Sequence = 0xf
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001373e: IN OUT HP EAPD Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  EAPD 0x2: EAPD
  Pin Default 0x02214c20: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c 0x0d* 0x0e 0x0f 0x26
Node 0x1c [Pin Complex] wcaps 0x400481: Stereo
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x4004c601: [N/A] Line Out at Ext N/A
    Conn = RCA, Color = UNKNOWN
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x01456130: [Jack] SPDIF Out at Ext Rear
    Conn = Optical, Color = Orange
    DefAssociation = 0x3, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x06
Node 0x1f [Pin Complex] wcaps 0x400681: Stereo Digital
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=24
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 12
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b 0x12
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 11
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x25 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x26 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80]
  Connection: 2
     0x25 0x0b
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw---- 1 root audio 116,  4 Mar 15  2011 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  9 Mar 15  2011 /dev/snd/controlC1
crw-rw---- 1 root audio 116,  3 Mar 15  2011 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  8 Mar 15  2011 /dev/snd/hwC1D0
crw-rw---- 1 root audio 116,  2 Mar 15  2011 /dev/snd/pcmC0D3p
crw-rw---- 1 root audio 116,  7 Mar 15  2011 /dev/snd/pcmC1D0c
crw-rw---- 1 root audio 116,  6 Mar 15 17:26 /dev/snd/pcmC1D0p
crw-rw---- 1 root audio 116,  5 Mar 15  2011 /dev/snd/pcmC1D3p
crw-rw---- 1 root audio 116,  1 Mar 15 16:51 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Mar 15  2011 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Mar 15  2011 .
drwxr-xr-x 3 root root 260 Mar 15  2011 ..
lrwxrwxrwx 1 root root  12 Mar 15  2011 pci-0000:00:01.1 -> ../controlC0
lrwxrwxrwx 1 root root  12 Mar 15  2011 pci-0000:00:14.2 -> ../controlC1


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 3: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Generic]

Card hw:0 'Generic'/'HD-Audio Generic at 0xfeb44000 irq 45'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100200'
  Controls      : 4
  Simple ctrls  : 1
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [SB]

Card hw:1 'SB'/'HDA ATI SB at 0xfeb40000 irq 16'
  Mixer name	: 'Realtek ALC887-VD'
  Components	: 'HDA:10ec0887,10438445,00100302'
  Controls      : 25
  Simple ctrls  : 14
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Front Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'Front Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 28 [61%] [12.00dB] [on]
  Front Right: Capture 28 [61%] [12.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 16 [35%] [0.00dB] [off]
  Front Right: Capture 16 [35%] [0.00dB] [off]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Rear Mic' 'Front Mic' 'Line'
  Item0: 'Front Mic'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Rear Mic' 'Front Mic' 'Line'
  Item0: 'Front Mic'
Simple mixer control 'Rear Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'Rear Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]


!!Alsactl output
!!-------------

--startcollapse--
state.Generic {
	control.1 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
}
state.SB {
	control.1 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 64
		value.1 64
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'PCM Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 64
		value.1 64
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Rear Mic Playback Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.6 {
		iface MIXER
		name 'Rear Mic Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Front Mic Playback Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.8 {
		iface MIXER
		name 'Front Mic Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'Line Playback Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.10 {
		iface MIXER
		name 'Line Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Rear Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.12 {
		iface MIXER
		name 'Front Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.15 {
		iface MIXER
		name 'Capture Volume'
		value.0 28
		value.1 28
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 46'
			dbmin -1600
			dbmax 3000
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.16 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 16
		value.1 16
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 46'
			dbmin -1600
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.17 {
		iface MIXER
		name 'Input Source'
		value 'Front Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Rear Mic'
			item.1 'Front Mic'
			item.2 Line
		}
	}
	control.18 {
		iface MIXER
		name 'Input Source'
		index 1
		value 'Front Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Rear Mic'
			item.1 'Front Mic'
			item.2 Line
		}
	}
	control.19 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.22 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'IEC958 Default PCM Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface MIXER
		name 'Master Playback Volume'
		value 64
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
		}
	}
	control.25 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
md4
md5
hmac
cryptomgr
aead
cifs
crypto_hash
crypto_algapi
fuse
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
ipv6
cpufreq_ondemand
powernow_k8
freq_table
mperf
microcode
thermal
ir_lirc_codec
lirc_dev
ir_sony_decoder
rc_imon_pad
ir_jvc_decoder
fan
ir_rc6_decoder
ir_rc5_decoder
ir_nec_decoder
imon
rc_core
usbhid
snd_hda_codec_realtek
snd_hda_codec_hdmi
snd_hda_intel
snd_hda_codec
snd_hwdep
ohci_hcd
xhci_hcd
snd_pcm
firewire_ohci
sr_mod
snd_timer
firewire_core
sg
r8169
k10temp
crc_itu_t
pcspkr
ehci_hcd
usbcore
cdrom
snd
soundcore
snd_page_alloc
wmi
processor
unix


!!ALSA/HDA dmesg
!!------------------

[drm] Connector 0:
[drm]   HDMI-A
[drm]   HPD1
--
hub 5-0:1.0: 5 ports detected
HDA Intel 0000:00:01.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
HDA Intel 0000:00:01.1: irq 45 for MSI/MSI-X
HDA Intel 0000:00:01.1: setting latency timer to 64
HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
hda_codec: ALC887-VD: BIOS auto-probing.
input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card1/input3
ohci_hcd 0000:00:13.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
--
CIFS VFS: cifs_mount failed w/return code = -13
[drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID



[-- Attachment #3: HDA_ATI_EM35M1-M_Pro-2.6.38-rc8-next-20110314-a8733bf0083929540948f51b5f33d9c8a62d9994 --]
[-- Type: text/plain, Size: 33384 bytes --]


!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Tue Mar 15 16:58:00 UTC 2011


!!Linux Distribution
!!------------------

Gentoo Base System release 2.0.1


!!DMI Information
!!---------------

Manufacturer:      System manufacturer
Product Name:      System Product Name
Product Version:   System Version


!!Kernel Information
!!------------------

Kernel release:    2.6.38-rc8-next-20110314
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         AMD E-350 Processor
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.24
Library version:    1.0.24.1
Utilities version:  1.0.24.2


!!Loaded ALSA modules
!!-------------------

snd_hda_intel
snd_hda_intel


!!Sound Servers on this system
!!----------------------------

No sound servers found.


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfeb44000 irq 45
 1 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfeb40000 irq 16


!!PCI Soundcards installed in the system
!!--------------------------------------

00:01.1 Audio device: ATI Technologies Inc Device 1314
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!--------------------------------------------------------

00:01.1 0403: 1002:1314
	Subsystem: 1043:84a5
--
00:14.2 0403: 1002:4383 (rev 40)
	Subsystem: 1043:8445


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
	bdl_pos_adj : 32,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 1
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N

!!Module: snd_hda_intel
	bdl_pos_adj : 32,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	power_save : 1
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100200
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Device: name="HDMI 0", type="HDMI", device=3
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=03, enabled=1
  Connection: 1
     0x02
Codec: Realtek ALC887-VD
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0887
Subsystem Id: 0x10438445
Revision Id: 0x100302
No Modem Function Group found
Default PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="PCM Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="ALC887-VD Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Switch", index=1, device=0
  Control: name="Capture Volume", index=1, device=0
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals:  [0x90 0x90]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Switch", index=0, device=0
  Control: name="Capture Volume", index=0, device=0
  Device: name="ALC887-VD Analog", type="Audio", device=0
  Amp-In caps: ofs=0x10, nsteps=0x2e, stepsize=0x03, mute=1
  Amp-In vals:  [0x1c 0x1c]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x0a [Audio Input] wcaps 0x100711: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x1f
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Rear Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Rear Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Front Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Front Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x1f 0x1f] [0x1f 0x1f] [0x1f 0x1f] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 10
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17
Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="PCM Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x04 0x0b
Node 0x0f [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80]
  Connection: 2
     0x05 0x0b
Node 0x10 [Audio Output] wcaps 0x611: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Control: name="IEC958 Default PCM Playback Switch", index=0, device=0
  Device: name="ALC887-VD Digital", type="HDMI", device=3
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x5f0]: 32000 44100 48000 88200 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x11 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x18561140: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x10
Node 0x12 [Pin Complex] wcaps 0x400401: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001003e: IN OUT HP EAPD Detect Trigger
  EAPD 0x2: EAPD
  Pin Default 0x01014010: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0c
Node 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000036: IN OUT Detect Trigger
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0d
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000036: IN OUT Detect Trigger
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0e
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00000036: IN OUT Detect Trigger
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0f
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Control: name="Rear Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003736: IN OUT Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x01a19850: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x5, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x19 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Control: name="Front Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000373e: IN OUT HP Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x02a19c60: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Pink
    DefAssociation = 0x6, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1a [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00003736: IN OUT Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x0181305f: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0x5, Sequence = 0xf
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c* 0x0d 0x0e 0x0f 0x26
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001373e: IN OUT HP EAPD Detect Trigger
    Vref caps: HIZ 50 GRD 80 100
  EAPD 0x2: EAPD
  Pin Default 0x02214c20: [Jack] HP Out at Ext Front
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x0c 0x0d* 0x0e 0x0f 0x26
Node 0x1c [Pin Complex] wcaps 0x400481: Stereo
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x4004c601: [N/A] Line Out at Ext N/A
    Conn = RCA, Color = UNKNOWN
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x01456130: [Jack] SPDIF Out at Ext Rear
    Conn = Optical, Color = Orange
    DefAssociation = 0x3, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x06
Node 0x1f [Pin Complex] wcaps 0x400681: Stereo Digital
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=24
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Input Source", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 12
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b 0x12
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="Input Source", index=1, device=0
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 11
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15 0x16 0x17 0x0b
Node 0x24 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x25 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
  Amp-Out vals:  [0x40 0x40]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x26 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80]
  Connection: 2
     0x25 0x0b
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw---- 1 root audio 116,  4 Mar 15  2011 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  9 Mar 15  2011 /dev/snd/controlC1
crw-rw---- 1 root audio 116,  3 Mar 15  2011 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  8 Mar 15  2011 /dev/snd/hwC1D0
crw-rw---- 1 root audio 116,  2 Mar 15  2011 /dev/snd/pcmC0D3p
crw-rw---- 1 root audio 116,  7 Mar 15  2011 /dev/snd/pcmC1D0c
crw-rw---- 1 root audio 116,  6 Mar 15  2011 /dev/snd/pcmC1D0p
crw-rw---- 1 root audio 116,  5 Mar 15  2011 /dev/snd/pcmC1D3p
crw-rw---- 1 root audio 116,  1 Mar 15 17:56 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Mar 15  2011 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Mar 15  2011 .
drwxr-xr-x 3 root root 260 Mar 15  2011 ..
lrwxrwxrwx 1 root root  12 Mar 15  2011 pci-0000:00:01.1 -> ../controlC0
lrwxrwxrwx 1 root root  12 Mar 15  2011 pci-0000:00:14.2 -> ../controlC1


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 3: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Generic]

Card hw:0 'Generic'/'HD-Audio Generic at 0xfeb44000 irq 45'
  Mixer name	: 'ATI R6xx HDMI'
  Components	: 'HDA:1002aa01,00aa0100,00100200'
  Controls      : 4
  Simple ctrls  : 1
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

!!-------Mixer controls for card 1 [SB]

Card hw:1 'SB'/'HDA ATI SB at 0xfeb40000 irq 16'
  Mixer name	: 'Realtek ALC887-VD'
  Components	: 'HDA:10ec0887,10438445,00100302'
  Controls      : 25
  Simple ctrls  : 14
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 64
  Mono:
  Front Left: Playback 64 [100%] [0.00dB] [on]
  Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Front Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'Front Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Line',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 28 [61%] [12.00dB] [on]
  Front Right: Capture 28 [61%] [12.00dB] [on]
Simple mixer control 'Capture',1
  Capabilities: cvolume cswitch penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 46
  Front Left: Capture 16 [35%] [0.00dB] [off]
  Front Right: Capture 16 [35%] [0.00dB] [off]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Rear Mic' 'Front Mic' 'Line'
  Item0: 'Front Mic'
Simple mixer control 'Input Source',1
  Capabilities: cenum
  Items: 'Rear Mic' 'Front Mic' 'Line'
  Item0: 'Front Mic'
Simple mixer control 'Rear Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'Rear Mic Boost',0
  Capabilities: volume penum
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]


!!Alsactl output
!!-------------

--startcollapse--
state.Generic {
	control.1 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.2 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.3 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.4 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
}
state.SB {
	control.1 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 64
		value.1 64
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'PCM Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 64
		value.1 64
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Rear Mic Playback Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.6 {
		iface MIXER
		name 'Rear Mic Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.7 {
		iface MIXER
		name 'Front Mic Playback Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.8 {
		iface MIXER
		name 'Front Mic Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'Line Playback Volume'
		value.0 31
		value.1 31
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.10 {
		iface MIXER
		name 'Line Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.11 {
		iface MIXER
		name 'Rear Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.12 {
		iface MIXER
		name 'Front Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.13 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.14 {
		iface MIXER
		name 'Capture Switch'
		index 1
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.15 {
		iface MIXER
		name 'Capture Volume'
		value.0 28
		value.1 28
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 46'
			dbmin -1600
			dbmax 3000
			dbvalue.0 1200
			dbvalue.1 1200
		}
	}
	control.16 {
		iface MIXER
		name 'Capture Volume'
		index 1
		value.0 16
		value.1 16
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 46'
			dbmin -1600
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.17 {
		iface MIXER
		name 'Input Source'
		value 'Front Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Rear Mic'
			item.1 'Front Mic'
			item.2 Line
		}
	}
	control.18 {
		iface MIXER
		name 'Input Source'
		index 1
		value 'Front Mic'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 'Rear Mic'
			item.1 'Front Mic'
			item.2 Line
		}
	}
	control.19 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.22 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'IEC958 Default PCM Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface MIXER
		name 'Master Playback Volume'
		value 64
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 64'
			dbmin -6400
			dbmax 0
			dbvalue.0 0
		}
	}
	control.25 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
fuse
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm_oss
snd_mixer_oss
ipv6
cpufreq_ondemand
ir_lirc_codec
lirc_dev
ir_sony_decoder
ir_jvc_decoder
rc_imon_pad
ir_rc6_decoder
ir_rc5_decoder
ir_nec_decoder
imon
powernow_k8
freq_table
rc_core
mperf
microcode
thermal
fan
usbhid
snd_hda_codec_realtek
snd_hda_codec_hdmi
snd_hda_intel
ohci_hcd
snd_hda_codec
firewire_ohci
xhci_hcd
ehci_hcd
snd_hwdep
sr_mod
snd_pcm
sg
firewire_core
r8169
snd_timer
usbcore
cdrom
snd
pcspkr
crc_itu_t
k10temp
soundcore
snd_page_alloc
processor
wmi
unix


!!ALSA/HDA dmesg
!!------------------

[drm] Connector 0:
[drm]   HDMI-A
[drm]   HPD1
--
hub 8-0:1.0: 4 ports detected
HDA Intel 0000:00:01.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
HDA Intel 0000:00:01.1: irq 45 for MSI/MSI-X
HDA Intel 0000:00:01.1: setting latency timer to 64
HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
hda_codec: ALC887-VD: BIOS auto-probing.
input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card1/input3
usb 3-4: new low speed USB device number 2 using xhci_hcd



[-- Attachment #4: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: Compressed Audio Playback/Capture through ALSA framework
  2011-03-18 16:03                             ` pl bossart
@ 2011-03-22 13:01                               ` Mark Brown
  0 siblings, 0 replies; 31+ messages in thread
From: Mark Brown @ 2011-03-22 13:01 UTC (permalink / raw)
  To: pl bossart
  Cc: Koul, Vinod, linux-arm-msm@vger.kernel.org, Patrick Lai,
	alsa-devel

On Fri, Mar 18, 2011 at 11:03:57AM -0500, pl bossart wrote:

> I don't disagree, but I view tunneling as very difficult to implement
> when you have something like PulseAudio or AudioFlinger handling all
> the routing, policy and volume control. The approach based on

I don't think it's an intractible problem - I think we can get to a
point where UCM when asked for an output stream hands back either an
object of some type which wraps up a sink and any controls for that sink
has well enough for PulseAudio or AudioFlinger to figure out if it wants
to layer anything on top to provide functionality like per-stream volume
control.

> passthrough makes things simpler in terms of links/routing/policy.
> Instead of tunneling you push compressed data as far as possible into
> the sink. The application doesn't need to know what the connections
> are, this can be handled at the driver/fw level

The application doesn't need this but the audio daemon does so that we
can support multiple output paths depending on the audio type.

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2011-03-22 13:01 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-15 18:31 Compressed Audio Playback/Capture through ALSA framework Patrick Lai
2011-03-15 20:40 ` Eliot Blennerhassett
2011-03-15 20:52   ` [alsa-devel] " pl bossart
2011-03-15 23:28   ` Patrick Lai
2011-03-16  7:21     ` [alsa-devel] " Clemens Ladisch
2011-03-16  7:23     ` Jaroslav Kysela
2011-03-16 22:08     ` Patrick Lai
2011-03-17  7:39       ` [alsa-devel] " Clemens Ladisch
2011-03-16 10:38 ` Mark Brown
2011-03-16 10:59   ` Koul, Vinod
2011-03-16 11:56     ` Mark Brown
2011-03-16 12:17       ` Koul, Vinod
2011-03-16 17:52       ` pl bossart
2011-03-16 17:53         ` Mark Brown
2011-03-16 18:00           ` pl bossart
2011-03-16 18:08             ` Mark Brown
2011-03-17  2:21               ` Koul, Vinod
2011-03-17  5:00                 ` Patrick Lai
2011-03-17 11:54                   ` Mark Brown
2011-03-17 14:27                     ` pl bossart
2011-03-17 18:25                       ` Mark Brown
2011-03-17 19:16                         ` [alsa-devel] " pl bossart
2011-03-17 20:16                           ` Mark Brown
2011-03-17 21:19                             ` Patrick Lai
2011-03-17 21:25                               ` Mark Brown
2011-03-18 16:03                             ` pl bossart
2011-03-22 13:01                               ` Mark Brown
2011-03-17  5:32           ` Asus E35M1-M Pro and Realtek AL887-VD - no love from ALSA for Sourround Wojciech Myrda
2011-03-17 21:55             ` Paul Menzel
2011-03-20 10:13               ` Wojciech Myrda
2011-03-18  2:22     ` Compressed Audio Playback/Capture through ALSA framework Raymond Yau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).