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

Raymond Yau superquad.vortex2 at gmail.com
Tue Oct 21 01:37:20 CEST 2014


> >
> > > > > >
> > > > > > >>
> > > > > > >>
> > > > > > >>  > >
> > > > > > >>  > > >> >
> > > > > > >>  > > >> > 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
> > > > > >
> > > > > > 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
> > > > >
> > > > > Do you have a pincfg representing this?  Then we can check it
easily
> > > > > via hda-emu.
> > > > >
> > > >
> > > >
> >
http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/canonical/alc221--hp-prodesk-400-g1-sff-ccert-201408-15383?id=HEAD
> > >
> > > Both HP (0x21) and LO (0x14) can share the same DAC (0x03) over mixer
> > > (0x0d).  So the statement above "Line out and headphone cannot share
> > > same DAC" isn't correct.
> > >
> > > > Refer to user manual
> > > >
> > > > Multi-streaming can be enabled in the Realtek control panel to allow
> > > > independent audio streams to be sent to/from the front and rear
jacks
> > >
> > > This is the implementation detail and it's a matter of taste which
> > > should be dependent and which not.  There is no bible here.
> > >
> > > You can forcibly do that by a fixed DAC assignment (or add some
> > > badness) if you want, too...
> > >
> > >
> >
> >
http://mailman.alsa-project.org/pipermail/alsa-devel/2014-February/072775.html
> >
> >
> > Seem headphone not working properly on hp prodesk 600 g1
>
> I thought it's a jack retask issue?  You commented so in kernel
> bugzilla:
>   https://bugzilla.kernel.org/show_bug.cgi?id=70791
>
>

The other cases which may also need share volume control when the jacks are
retasked

1) The driver hack the pin default of those Dell xps series notebooks to
support dual headphone , the original pin defaults are  line out, hp, mic
at same location for external 5.1  speaker and with internal speaker with
stac9228

2) those notebook with four jacks ( headphone, line out , mic and line in )
external 7.1 and internal speaker i.e. previous model "targa8ch"

3) Dell Alienware 14,17 and 18 have three jacks : headset, headphone and
mic jack and support ext 5.1 speakers and internal 2.1 speaker with alc668


More information about the Alsa-devel mailing list