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

Takashi Iwai tiwai at suse.de
Mon Oct 20 16:33:33 CEST 2014


At Mon, 20 Oct 2014 22:24:40 +0800,
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
> > > > >
> > > > > 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


Takashi


More information about the Alsa-devel mailing list