[alsa-devel] [RFC PATCH 1/2] ALSA: hda - Fix "PCM" name being used on one DAC when there are two DACs

David Henningsson david.henningsson at canonical.com
Mon Oct 20 12:15:37 CEST 2014



On 2014-10-20 12:02, Takashi Iwai wrote:
> At Mon, 20 Oct 2014 11:59:30 +0200,
> David Henningsson wrote:
>>
>>
>>
>> On 2014-10-20 11:55, Raymond Yau wrote:
>>>
>>>   >>
>>>   >>
>>>   >>  > >
>>>   >>  > > >> >
>>>   >>  > > >> > In the scenario where there is one "Line Out", one "Speaker"
>>>   >> and one
>>>   >>  > > >> > "Headphone", and there are only two DACs, two outputs will
>>>   >> share a DAC.
>>>   >>  > > >> > Currently any mixer on such a DAC will get the "PCM" name,
>>>   >> which is
>>>   >>  > > >> > misleading. Instead use "Headphone+LO" or "Speaker+LO" to
>>> better
>>>   >>  > > >> > specify what the volume actually controls.
>>>   >>  > > >>
>>>   >>  > > >> Are there any examples ?
>>>   >>  > > >>
>>>   >>  > > >
>>>   >>  > > > I used "hda-emu
>>>   >>  > > codecs/canonical/alc3226-dell-precision-m2800-ccert-201404-14986 -i
>>>   >> 1" when
>>>   >>  > > developing the patches.
>>>   >>  > > >
>>>   >>  > > > I don't have any hardware available myself that exposes this
>>>   >> behavior,
>>>   >>  > > but I can maybe fake one with hdajackretask, if that counts...
>>>   >>  > > >
>>>   >>  > >
>>>   >>  > > How about adding these names to slaves of virtual master
>>>   >> volume/switch ?
>>>   >>  > >
>>>   >>  > > hdajackretask won't help if the topology of the codecs are
>>> different
>>>   >>  > >
>>>   >>  > > Seem the badness still prevent the driver to support surround
>>> 5.1 with
>>>   >>  > > three rear panel jacks, internal speaker and front panel
>>> headphone for
>>>   >>  > > Thinkcenter A58 using alc662
>>>   >>  > >
>>>   >>  > >
>>>   >>
>>> https://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg29203.html
>>>   >>  > >
>>>   >>  > > Why 3stack desktops with 6 channels codecs not using
>>>   >> "Headphone+LO"  or
>>>   >>  > > "Speaker+LO" ?
>>>   >>  >
>>>   >>  > The problem is just the lack of DACs, so it cannot cover all three
>>>   >>  > outputs, no matter how the pins are chosen.  That is, it's no 6
>>>   >>  > channels at all but 4 channels at most.
>>>   >>  >
>>>   >>  >
>>>   >>
>>>   >> http://shop.lenovo.com/us/en/desktops/thinkcentre/a-series/a58/
>>>   >>
>>>   >> The technical specification of a58
>>>   >>
>>>   >> 2 pin internal speaker connector
>>>   >> Alc662 5.1
>>>   >>
>>>   >> https://bbs.archlinux.org/viewtopic.php?id=156433
>>>   >>
>>>   >> Seem windows support surround 5.1
>>>   >
>>>   >
>>>   > Raymond, there can certainly be cases which this patch does not cover
>>> - after all, it's mostly a band aid given the lack of topology
>>> information - but do you see cases where this patch actually causes a
>>> *regression*? If so, could you point me to alsa-info for the machine
>>> where this patch causes a regression?
>>>   >
>>>
>>> www.realtek.com.tw/products/productsView.aspx?Langid=1&PNid=24&PFid=27&Level=5&Conn=4
>>> <http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PNid=24&PFid=27&Level=5&Conn=4>
>>>
>>> I expect those desktop with 2+2 HD Audio codec support independent headphone
>>>
>>> This mean the driver should not create "Lineout+HP" Playback volume
>>>
>>> Line out and headphone cannot share same DAC
>>
>> I doubt that, but if they cannot share the same DAC, that needs to be
>> addressed in a separate patch. This patch just deals with the naming,
>> given that the previous logic has determined that headphone and Line out
>> should share the same DAC.
>>
>> Takashi, are you planning to apply this patch? Or are you looking for
>> more testing first?
>
> I'll test a bit more.  I have a machine that is affected by this
> issue, so I can test on a real machine.
>
> How about the changes in PA side, BTW?  Is it ready?

I will cook up a quick patch once you have merged. But there will not be 
any big regression: we already control the vmaster, which in turn 
controls the hw volume of the DAC. So I will expect things to just work, 
assume the new controls will be initialized correctly. I'm attaching an 
(untested) alsa-utils patch for that.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-alsactl-init-Add-init-of-Headphone-LO-and-Speaker-LO.patch
Type: text/x-patch
Size: 2168 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20141020/58e3b4e0/attachment.bin>


More information about the Alsa-devel mailing list