* 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles @ 2015-06-09 9:38 hwang4 2015-06-09 11:50 ` Raymond Yau 2015-06-09 11:51 ` Takashi Iwai 0 siblings, 2 replies; 28+ messages in thread From: hwang4 @ 2015-06-09 9:38 UTC (permalink / raw) To: Takashi Iwai, David Henningsson; +Cc: alsa-devel I am trying to enable the subwoofer speaker on a HP laptop, on this machine, there are two speakers and one headphone, but the BIOS verb only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need to use quirk in the kernel driver to configure the second speaker (subwoofer speaker, nid 0x10). Under current alsa driver, the headphone will be assigned a dac (nid 0x13) and the 2 speakers will be assigned a dac (nid 0x14), this assignment is not good since 2 speakers share the same dac, this means 2 speakers can't work at the same time to support 4.0/2.1 channels. On another Dell machine with realtek codec, there are also 2 speakers, 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are assigned 1 dac, and the other speaker is assigned another dac, so there is no problem for this machine to support 4.0/2.1 channels. Through debugging, I found on Dell machine, the speaker nid only has one connection to dac (hardwired), so when driver assign dac to it, the map_single() can successfully assign the each dac to the 2 speakers respectively. But on that HP machine, the speaker has multiple connections for dac, the map_single() can't work for this machine. The alsa-info.txt for that HP machine is at http://pastebin.ubuntu.com/11667947/ The alsa-info.txt for that Dell machine is at http://pastebin.ubuntu.com/11667982/ To fix this problem, I can use the quirk in the driver to make the speaker have only one connection for dac or do some change in the hda_generic.c like below, in your opinion, which one is better or probably you have a different idea to fix this problem? diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index ac0db16..8194ff1 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -1363,6 +1363,7 @@ static int try_assign_dacs(struct hda_codec *codec, int num_outs, dac = try_dac(codec, get_primary_out(codec, i), pin); if (!dac) dac = try_dac(codec, dacs[0], pin); if (!dac) dac = try_dac(codec, get_primary_out(codec, i), pin); if (dac) { @@ -1762,6 +1763,12 @@ static int fill_and_eval_dacs(struct hda_codec *codec, if (err < 0) return err; badness += err; + /* if there are 2 speakers and both of them are assigned to the same dac, + we need to increase the badness for this situation, because in this situation + the 2 speakers can't work together to support 4.0/2.1 channels */ + if (cfg->speaker_outs == 2 && err < spec->extra_out_badness->no_dac && + spec->multiout.extra_out_nid[1] == 0) + badness += spec->extra_out_badness->no_dac; } if (!spec->no_multi_io && cfg->line_outs == 1 && cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index bdcda6a..717259c 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -2764,6 +2764,8 @@ static const struct snd_pci_quirk stac92hd83xxx_fixup_tbl[] = { "HP bNB13", STAC_HP_BNB13_EQ), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x190e, "HP ENVY TS", STAC_HP_ENVY_TS_BASS), + SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1967, + "HP ENVY TS", STAC_HP_ENVY_TS_BASS), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1940, "HP bNB13", STAC_HP_BNB13_EQ), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1941, ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 9:38 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles hwang4 @ 2015-06-09 11:50 ` Raymond Yau 2015-06-09 13:20 ` Hui Wang 2015-06-09 11:51 ` Takashi Iwai 1 sibling, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-09 11:50 UTC (permalink / raw) To: hwang4; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson 2015-6-9 下午5:39 於 "hwang4" <hui.wang@canonical.com> 寫道: > > I am trying to enable the subwoofer speaker on a HP laptop, on this > machine, there are two speakers and one headphone, but the BIOS verb > only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need > to use quirk in the kernel driver to configure the second speaker > (subwoofer speaker, nid 0x10). Under current alsa driver, the > headphone will be assigned a dac (nid 0x13) and the 2 speakers will > be assigned a dac (nid 0x14), this assignment is not good since 2 > speakers share the same dac, this means 2 speakers can't work > at the same time to support 4.0/2.1 channels. > > On another Dell machine with realtek codec, there are also 2 speakers, > 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are assigned > 1 dac, and the other speaker is assigned another dac, so there is no > problem for this machine to support 4.0/2.1 channels. > > Through debugging, I found on Dell machine, the speaker nid only has > one connection to dac (hardwired), so when driver assign dac to it, the > map_single() can successfully assign the each dac to the 2 speakers respectively. > But on that HP machine, the speaker has multiple connections for dac, the > map_single() can't work for this machine. > > > The alsa-info.txt for that HP machine is at http://pastebin.ubuntu.com/11667947/ Refer to 92HD91, you don't need 4 channel when there is band pass filter for the subwoofer at the mono pin 2.2. Mono Output The Mono Out port source selection, power state, and mute characteristics are all independently controlled by the mono output port controls. EQ does not apply to this path. An internal 2nd order band-pass filter is provided to restrict the output frequencies when using mono out to drive an exter- nal amplified sub-woofer > The alsa-info.txt for that Dell machine is at http://pastebin.ubuntu.com/11667982/ The subwoofer is also at mono pin complex, are there any low pass filter for the subwoofer or vendor coeff need to be set ? > > To fix this problem, I can use the quirk in the driver to make the speaker have > only one connection for dac or do some change in the hda_generic.c like below, in > your opinion, which one is better or probably you have a different idea to fix this problem? > _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 11:50 ` Raymond Yau @ 2015-06-09 13:20 ` Hui Wang 2015-06-10 1:30 ` Raymond Yau ` (2 more replies) 0 siblings, 3 replies; 28+ messages in thread From: Hui Wang @ 2015-06-09 13:20 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 06/09/2015 07:50 PM, Raymond Yau wrote: > 2015-6-9 下午5:39 於 "hwang4" <hui.wang@canonical.com> 寫道: >> I am trying to enable the subwoofer speaker on a HP laptop, on this >> machine, there are two speakers and one headphone, but the BIOS verb >> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >> to use quirk in the kernel driver to configure the second speaker >> (subwoofer speaker, nid 0x10). Under current alsa driver, the >> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >> be assigned a dac (nid 0x14), this assignment is not good since 2 >> speakers share the same dac, this means 2 speakers can't work >> at the same time to support 4.0/2.1 channels. >> >> On another Dell machine with realtek codec, there are also 2 speakers, >> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are > assigned >> 1 dac, and the other speaker is assigned another dac, so there is no >> problem for this machine to support 4.0/2.1 channels. >> >> Through debugging, I found on Dell machine, the speaker nid only has >> one connection to dac (hardwired), so when driver assign dac to it, the >> map_single() can successfully assign the each dac to the 2 speakers > respectively. >> But on that HP machine, the speaker has multiple connections for dac, the >> map_single() can't work for this machine. >> >> >> The alsa-info.txt for that HP machine is at > http://pastebin.ubuntu.com/11667947/ > > Refer to 92HD91, you don't need 4 channel when there is band pass filter > for the subwoofer at the mono pin Yes, you are right. > > 2.2. Mono Output > The Mono Out port source selection, power state, and mute characteristics > are all independently > controlled by the mono output port controls. EQ does not apply to this > path. An internal 2nd order band-pass filter is provided to restrict the > output frequencies when using mono out to drive an exter- > nal amplified sub-woofer Where did you find this text? Does it mean there is a hardware low frequency pass filter inside the codec? > >> The alsa-info.txt for that Dell machine is at > http://pastebin.ubuntu.com/11667982/ > > The subwoofer is also at mono pin complex, are there any low pass filter > for the subwoofer or vendor coeff need to be set ? I don't know it, I guess there is no hardware filter, it will work with the software low pass filter in the pulseaudio. > >> To fix this problem, I can use the quirk in the driver to make the > speaker have >> only one connection for dac or do some change in the hda_generic.c like > below, in >> your opinion, which one is better or probably you have a different idea > to fix this problem? > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 13:20 ` Hui Wang @ 2015-06-10 1:30 ` Raymond Yau 2015-06-10 3:18 ` hwang4 2015-06-10 4:59 ` Raymond Yau 2015-06-12 1:34 ` Raymond Yau 2 siblings, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-10 1:30 UTC (permalink / raw) To: Hui Wang; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson >>> >>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>> machine, there are two speakers and one headphone, but the BIOS verb >>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>> to use quirk in the kernel driver to configure the second speaker >>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>> speakers share the same dac, this means 2 speakers can't work >>> at the same time to support 4.0/2.1 channels. >>> >>> On another Dell machine with realtek codec, there are also 2 speakers, >>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >> >> assigned >>> >>> 1 dac, and the other speaker is assigned another dac, so there is no >>> problem for this machine to support 4.0/2.1 channels. >>> >>> Through debugging, I found on Dell machine, the speaker nid only has >>> one connection to dac (hardwired), so when driver assign dac to it, the >>> map_single() can successfully assign the each dac to the 2 speakers >> >> respectively. >>> >>> But on that HP machine, the speaker has multiple connections for dac, the >>> map_single() can't work for this machine. >>> >>> >>> The alsa-info.txt for that HP machine is at >> >> http://pastebin.ubuntu.com/11667947/ >> >> Refer to 92HD91, you don't need 4 channel when there is band pass filter >> for the subwoofer at the mono pin > > Yes, you are right. > >> >> 2.2. Mono Output >> The Mono Out port source selection, power state, and mute characteristics >> are all independently >> controlled by the mono output port controls. EQ does not apply to this >> path. An internal 2nd order band-pass filter is provided to restrict the >> output frequencies when using mono out to drive an exter- >> nal amplified sub-woofer > > Where did you find this text? Does it mean there is a hardware low frequency pass filter inside the codec? http://www.temposemi.com/products/pclaptop-hd/92hd91/ 2.3. Mono output Band-Pass Filter For many applications, the primary speakers are incapable of reproducing low frequency audio. Therefore it is desirable to implement a woofer or sub-woofer speaker. The mono output is ideal for this task. However, the frequency response should be restricted to prevent interference with the primary speakers. Typically an external filter, known as a cross-over filter, is used. The mono processing path includes a band-pass filter with programmable high and low cut-off frequencies to eliminate the need for an external filter. 2.3.1. Mixer Filter Description The band-pass filter is derived from the common biquadratic filter and provides a 12dB/octave roll-off. The filter may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, 120Hz, 150Hz, 200Hz, 315Hz, or 400Hz. The filter may be programmed for a -3dB upper band edge of: 150Hz, 200Hz, 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. The band-pass filter is enabled by default with a cut-off frequencies at 120Hz and 250Hz. The filter may be bypassed using the associated verb (processing state verb ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-10 1:30 ` Raymond Yau @ 2015-06-10 3:18 ` hwang4 2015-06-11 1:15 ` Raymond Yau 0 siblings, 1 reply; 28+ messages in thread From: hwang4 @ 2015-06-10 3:18 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 2015年06月10日 09:30, Raymond Yau wrote: >>>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>>> machine, there are two speakers and one headphone, but the BIOS verb >>>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>>> to use quirk in the kernel driver to configure the second speaker >>>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>>> speakers share the same dac, this means 2 speakers can't work >>>> at the same time to support 4.0/2.1 channels. >>>> >>>> On another Dell machine with realtek codec, there are also 2 speakers, >>>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >>> assigned >>>> 1 dac, and the other speaker is assigned another dac, so there is no >>>> problem for this machine to support 4.0/2.1 channels. >>>> >>>> Through debugging, I found on Dell machine, the speaker nid only has >>>> one connection to dac (hardwired), so when driver assign dac to it, the >>>> map_single() can successfully assign the each dac to the 2 speakers >>> respectively. >>>> But on that HP machine, the speaker has multiple connections for dac, > the >>>> map_single() can't work for this machine. >>>> >>>> >>>> The alsa-info.txt for that HP machine is at >>> http://pastebin.ubuntu.com/11667947/ >>> >>> Refer to 92HD91, you don't need 4 channel when there is band pass filter >>> for the subwoofer at the mono pin >> Yes, you are right. >> >>> 2.2. Mono Output >>> The Mono Out port source selection, power state, and mute characteristics >>> are all independently >>> controlled by the mono output port controls. EQ does not apply to this >>> path. An internal 2nd order band-pass filter is provided to restrict the >>> output frequencies when using mono out to drive an exter- >>> nal amplified sub-woofer >> Where did you find this text? Does it mean there is a hardware low > frequency pass filter inside the codec? > > http://www.temposemi.com/products/pclaptop-hd/92hd91/ > > 2.3. Mono output Band-Pass Filter > For many applications, the primary speakers are incapable of reproducing > low frequency audio. Therefore it is desirable to implement a woofer or > sub-woofer speaker. The mono output is ideal for this task. However, the > frequency response should be restricted to prevent interference with the > primary speakers. Typically an external filter, known as a cross-over > filter, is used. The mono processing path includes a band-pass filter with > programmable high and low cut-off frequencies to eliminate the need for an > external filter. > > 2.3.1. Mixer Filter Description The band-pass filter is derived from the > common biquadratic filter and provides a 12dB/octave roll-off. The filter > may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, 120Hz, > 150Hz, 200Hz, 315Hz, or 400Hz. > > The filter may be programmed for a -3dB upper band edge of: 150Hz, 200Hz, > 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. > > The band-pass filter is enabled by default with a cut-off frequencies at > 120Hz and 250Hz. The filter may be bypassed using the associated verb > (processing state verb Thanks very much, very useful information. > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-10 3:18 ` hwang4 @ 2015-06-11 1:15 ` Raymond Yau 2015-06-11 2:15 ` Hui Wang 0 siblings, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-11 1:15 UTC (permalink / raw) To: hwang4; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson >>>>> >>>>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>>>> machine, there are two speakers and one headphone, but the BIOS verb >>>>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>>>> to use quirk in the kernel driver to configure the second speaker >>>>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>>>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>>>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>>>> speakers share the same dac, this means 2 speakers can't work >>>>> at the same time to support 4.0/2.1 channels. >>>>> >>>>> On another Dell machine with realtek codec, there are also 2 speakers, >>>>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >>>> >>>> assigned >>>>> >>>>> 1 dac, and the other speaker is assigned another dac, so there is no >>>>> problem for this machine to support 4.0/2.1 channels. >>>>> >>>>> Through debugging, I found on Dell machine, the speaker nid only has >>>>> one connection to dac (hardwired), so when driver assign dac to it, the >>>>> map_single() can successfully assign the each dac to the 2 speakers >>>> >>>> respectively. >>>>> >>>>> But on that HP machine, the speaker has multiple connections for dac, >> >> the >>>>> >>>>> map_single() can't work for this machine. >>>>> >>>>> >>>>> The alsa-info.txt for that HP machine is at >>>> >>>> http://pastebin.ubuntu.com/11667947/ >>>> >>>> Refer to 92HD91, you don't need 4 channel when there is band pass filter >>>> for the subwoofer at the mono pin >>> >>> Yes, you are right. >>> >>>> 2.2. Mono Output >>>> The Mono Out port source selection, power state, and mute characteristics >>>> are all independently >>>> controlled by the mono output port controls. EQ does not apply to this >>>> path. An internal 2nd order band-pass filter is provided to restrict the >>>> output frequencies when using mono out to drive an exter- >>>> nal amplified sub-woofer >>> >>> Where did you find this text? Does it mean there is a hardware low >> >> frequency pass filter inside the codec? >> >> http://www.temposemi.com/products/pclaptop-hd/92hd91/ >> >> 2.3. Mono output Band-Pass Filter >> For many applications, the primary speakers are incapable of reproducing >> low frequency audio. Therefore it is desirable to implement a woofer or >> sub-woofer speaker. The mono output is ideal for this task. However, the >> frequency response should be restricted to prevent interference with the >> primary speakers. Typically an external filter, known as a cross-over >> filter, is used. The mono processing path includes a band-pass filter with >> programmable high and low cut-off frequencies to eliminate the need for an >> external filter. >> >> 2.3.1. Mixer Filter Description The band-pass filter is derived from the >> common biquadratic filter and provides a 12dB/octave roll-off. The filter >> may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, 120Hz, >> 150Hz, 200Hz, 315Hz, or 400Hz. >> >> The filter may be programmed for a -3dB upper band edge of: 150Hz, 200Hz, >> 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. >> >> The band-pass filter is enabled by default with a cut-off frequencies at >> 120Hz and 250Hz. The filter may be bypassed using the associated verb >> (processing state verb > > Thanks very much, very useful information. > > Do your codec revision support this mono out volume ? 7.4.31.AFG (NID = 01h): DAC3OutAmp (Mono Out Volume) How do you assign the two volume control to headphone, speaker and subwoofet ? ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 1:15 ` Raymond Yau @ 2015-06-11 2:15 ` Hui Wang 2015-06-11 7:37 ` Raymond Yau 0 siblings, 1 reply; 28+ messages in thread From: Hui Wang @ 2015-06-11 2:15 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 06/11/2015 09:15 AM, Raymond Yau wrote: >>>>>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>>>>> machine, there are two speakers and one headphone, but the BIOS verb >>>>>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>>>>> to use quirk in the kernel driver to configure the second speaker >>>>>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>>>>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>>>>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>>>>> speakers share the same dac, this means 2 speakers can't work >>>>>> at the same time to support 4.0/2.1 channels. >>>>>> >>>>>> On another Dell machine with realtek codec, there are also 2 speakers, >>>>>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >>>>> assigned >>>>>> 1 dac, and the other speaker is assigned another dac, so there is no >>>>>> problem for this machine to support 4.0/2.1 channels. >>>>>> >>>>>> Through debugging, I found on Dell machine, the speaker nid only has >>>>>> one connection to dac (hardwired), so when driver assign dac to it, > the >>>>>> map_single() can successfully assign the each dac to the 2 speakers >>>>> respectively. >>>>>> But on that HP machine, the speaker has multiple connections for dac, >>> the >>>>>> map_single() can't work for this machine. >>>>>> >>>>>> >>>>>> The alsa-info.txt for that HP machine is at >>>>> http://pastebin.ubuntu.com/11667947/ >>>>> >>>>> Refer to 92HD91, you don't need 4 channel when there is band pass > filter >>>>> for the subwoofer at the mono pin >>>> Yes, you are right. >>>> >>>>> 2.2. Mono Output >>>>> The Mono Out port source selection, power state, and mute > characteristics >>>>> are all independently >>>>> controlled by the mono output port controls. EQ does not apply to this >>>>> path. An internal 2nd order band-pass filter is provided to restrict > the >>>>> output frequencies when using mono out to drive an exter- >>>>> nal amplified sub-woofer >>>> Where did you find this text? Does it mean there is a hardware low >>> frequency pass filter inside the codec? >>> >>> http://www.temposemi.com/products/pclaptop-hd/92hd91/ >>> >>> 2.3. Mono output Band-Pass Filter >>> For many applications, the primary speakers are incapable of reproducing >>> low frequency audio. Therefore it is desirable to implement a woofer or >>> sub-woofer speaker. The mono output is ideal for this task. However, the >>> frequency response should be restricted to prevent interference with the >>> primary speakers. Typically an external filter, known as a cross-over >>> filter, is used. The mono processing path includes a band-pass filter > with >>> programmable high and low cut-off frequencies to eliminate the need for > an >>> external filter. >>> >>> 2.3.1. Mixer Filter Description The band-pass filter is derived from the >>> common biquadratic filter and provides a 12dB/octave roll-off. The filter >>> may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, > 120Hz, >>> 150Hz, 200Hz, 315Hz, or 400Hz. >>> >>> The filter may be programmed for a -3dB upper band edge of: 150Hz, 200Hz, >>> 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. >>> >>> The band-pass filter is enabled by default with a cut-off frequencies at >>> 120Hz and 250Hz. The filter may be bypassed using the associated verb >>> (processing state verb >> Thanks very much, very useful information. >> >> > Do your codec revision support this mono out volume ? > > 7.4.31.AFG (NID = 01h): DAC3OutAmp (Mono Out Volume) I looks like the current driver does not use this to control the volume. > > How do you assign the two volume control to headphone, speaker and > subwoofet ? speaker and headphone are assigned to DAC0 (nid: 0x13), they use the DAC amplifier to control the volume. subwoofer speaker is assigned to DAC1 (nid: 0x14), it use the DAC amplifier to contorl the volume. > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 2:15 ` Hui Wang @ 2015-06-11 7:37 ` Raymond Yau 2015-06-11 8:33 ` Hui Wang 0 siblings, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-11 7:37 UTC (permalink / raw) To: Hui Wang; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson >>>>>>> >>>>>>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>>>>>> machine, there are two speakers and one headphone, but the BIOS verb >>>>>>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>>>>>> to use quirk in the kernel driver to configure the second speaker >>>>>>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>>>>>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>>>>>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>>>>>> speakers share the same dac, this means 2 speakers can't work >>>>>>> at the same time to support 4.0/2.1 channels. >>>>>>> >>>>>>> On another Dell machine with realtek codec, there are also 2 speakers, >>>>>>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >>>>>> >>>>>> assigned >>>>>>> >>>>>>> 1 dac, and the other speaker is assigned another dac, so there is no >>>>>>> problem for this machine to support 4.0/2.1 channels. >>>>>>> >>>>>>> Through debugging, I found on Dell machine, the speaker nid only has >>>>>>> one connection to dac (hardwired), so when driver assign dac to it, >> >> the >>>>>>> >>>>>>> map_single() can successfully assign the each dac to the 2 speakers >>>>>> >>>>>> respectively. >>>>>>> >>>>>>> But on that HP machine, the speaker has multiple connections for dac, >>>> >>>> the >>>>>>> >>>>>>> map_single() can't work for this machine. >>>>>>> >>>>>>> >>>>>>> The alsa-info.txt for that HP machine is at >>>>>> >>>>>> http://pastebin.ubuntu.com/11667947/ >>>>>> >>>>>> Refer to 92HD91, you don't need 4 channel when there is band pass >> >> filter >>>>>> >>>>>> for the subwoofer at the mono pin >>>>> >>>>> Yes, you are right. >>>>> >>>>>> 2.2. Mono Output >>>>>> The Mono Out port source selection, power state, and mute >> >> characteristics >>>>>> >>>>>> are all independently >>>>>> controlled by the mono output port controls. EQ does not apply to this >>>>>> path. An internal 2nd order band-pass filter is provided to restrict >> >> the >>>>>> >>>>>> output frequencies when using mono out to drive an exter- >>>>>> nal amplified sub-woofer >>>>> >>>>> Where did you find this text? Does it mean there is a hardware low >>>> >>>> frequency pass filter inside the codec? >>>> >>>> http://www.temposemi.com/products/pclaptop-hd/92hd91/ >>>> >>>> 2.3. Mono output Band-Pass Filter >>>> For many applications, the primary speakers are incapable of reproducing >>>> low frequency audio. Therefore it is desirable to implement a woofer or >>>> sub-woofer speaker. The mono output is ideal for this task. However, the >>>> frequency response should be restricted to prevent interference with the >>>> primary speakers. Typically an external filter, known as a cross-over >>>> filter, is used. The mono processing path includes a band-pass filter >> >> with >>>> >>>> programmable high and low cut-off frequencies to eliminate the need for >> >> an >>>> >>>> external filter. >>>> >>>> 2.3.1. Mixer Filter Description The band-pass filter is derived from the >>>> common biquadratic filter and provides a 12dB/octave roll-off. The filter >>>> may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, >> >> 120Hz, >>>> >>>> 150Hz, 200Hz, 315Hz, or 400Hz. >>>> >>>> The filter may be programmed for a -3dB upper band edge of: 150Hz, 200Hz, >>>> 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. >>>> >>>> The band-pass filter is enabled by default with a cut-off frequencies at >>>> 120Hz and 250Hz. The filter may be bypassed using the associated verb >>>> (processing state verb >>> >>> Thanks very much, very useful information. >>> >>> >> Do your codec revision support this mono out volume ? >> >> 7.4.31.AFG (NID = 01h): DAC3OutAmp (Mono Out Volume) > > I looks like the current driver does not use this to control the volume. > >> >> How do you assign the two volume control to headphone, speaker and >> subwoofet ? > > speaker and headphone are assigned to DAC0 (nid: 0x13), they use the DAC amplifier to control the volume. > > subwoofer speaker is assigned to DAC1 (nid: 0x14), it use the DAC amplifier to contorl the volume. > Do pulseaudio like this config since there is no mute switch at pin complex of idt codecs and no headphone playback volume/switch? After applied your patch Front playback volume/switch are shared by headphone and speaker Base speaker playback volume/switch But the other 4 channels hda codecs vt1802 have speaker playback switch and subwoofer playback switch http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/vt1802-asus-g75 ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 7:37 ` Raymond Yau @ 2015-06-11 8:33 ` Hui Wang 2015-06-11 16:44 ` Raymond Yau 0 siblings, 1 reply; 28+ messages in thread From: Hui Wang @ 2015-06-11 8:33 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 06/11/2015 03:37 PM, Raymond Yau wrote: >>>>>>>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>>>>>>> machine, there are two speakers and one headphone, but the BIOS verb >>>>>>>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>>>>>>> to use quirk in the kernel driver to configure the second speaker >>>>>>>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>>>>>>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>>>>>>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>>>>>>> speakers share the same dac, this means 2 speakers can't work >>>>>>>> at the same time to support 4.0/2.1 channels. >>>>>>>> >>>>>>>> On another Dell machine with realtek codec, there are also 2 > speakers, >>>>>>>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone > are >>>>>>> assigned >>>>>>>> 1 dac, and the other speaker is assigned another dac, so there is no >>>>>>>> problem for this machine to support 4.0/2.1 channels. >>>>>>>> >>>>>>>> Through debugging, I found on Dell machine, the speaker nid only has >>>>>>>> one connection to dac (hardwired), so when driver assign dac to it, >>> the >>>>>>>> map_single() can successfully assign the each dac to the 2 speakers >>>>>>> respectively. >>>>>>>> But on that HP machine, the speaker has multiple connections for > dac, >>>>> the >>>>>>>> map_single() can't work for this machine. >>>>>>>> >>>>>>>> >>>>>>>> The alsa-info.txt for that HP machine is at >>>>>>> http://pastebin.ubuntu.com/11667947/ >>>>>>> >>>>>>> Refer to 92HD91, you don't need 4 channel when there is band pass >>> filter >>>>>>> for the subwoofer at the mono pin >>>>>> Yes, you are right. >>>>>> >>>>>>> 2.2. Mono Output >>>>>>> The Mono Out port source selection, power state, and mute >>> characteristics >>>>>>> are all independently >>>>>>> controlled by the mono output port controls. EQ does not apply to > this >>>>>>> path. An internal 2nd order band-pass filter is provided to restrict >>> the >>>>>>> output frequencies when using mono out to drive an exter- >>>>>>> nal amplified sub-woofer >>>>>> Where did you find this text? Does it mean there is a hardware low >>>>> frequency pass filter inside the codec? >>>>> >>>>> http://www.temposemi.com/products/pclaptop-hd/92hd91/ >>>>> >>>>> 2.3. Mono output Band-Pass Filter >>>>> For many applications, the primary speakers are incapable of > reproducing >>>>> low frequency audio. Therefore it is desirable to implement a woofer or >>>>> sub-woofer speaker. The mono output is ideal for this task. However, > the >>>>> frequency response should be restricted to prevent interference with > the >>>>> primary speakers. Typically an external filter, known as a cross-over >>>>> filter, is used. The mono processing path includes a band-pass filter >>> with >>>>> programmable high and low cut-off frequencies to eliminate the need for >>> an >>>>> external filter. >>>>> >>>>> 2.3.1. Mixer Filter Description The band-pass filter is derived from > the >>>>> common biquadratic filter and provides a 12dB/octave roll-off. The > filter >>>>> may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, >>> 120Hz, >>>>> 150Hz, 200Hz, 315Hz, or 400Hz. >>>>> >>>>> The filter may be programmed for a -3dB upper band edge of: 150Hz, > 200Hz, >>>>> 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. >>>>> >>>>> The band-pass filter is enabled by default with a cut-off frequencies > at >>>>> 120Hz and 250Hz. The filter may be bypassed using the associated verb >>>>> (processing state verb >>>> Thanks very much, very useful information. >>>> >>>> >>> Do your codec revision support this mono out volume ? >>> >>> 7.4.31.AFG (NID = 01h): DAC3OutAmp (Mono Out Volume) >> I looks like the current driver does not use this to control the volume. >> >>> How do you assign the two volume control to headphone, speaker and >>> subwoofet ? >> speaker and headphone are assigned to DAC0 (nid: 0x13), they use the DAC > amplifier to control the volume. >> subwoofer speaker is assigned to DAC1 (nid: 0x14), it use the DAC > amplifier to contorl the volume. > Do pulseaudio like this config since there is no mute switch at pin complex > of idt codecs and no headphone playback volume/switch? > > After applied your patch > > Front playback volume/switch are shared by headphone and speaker > Base speaker playback volume/switch > > But the other 4 channels hda codecs vt1802 have speaker playback switch > and subwoofer playback switch Even without this patch, the base speaker and headphone already shared the same DAC and use single "Front Playback Volume" to control their volume, I did not see any problem from the pulseaudio/desktop so far. http://pastebin.ubuntu.com/11667982/ About the sharing the switch between headphone and base speaker, this is a new situation, but I did not see obvious problem from pusleaudio/desktop as well. > http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/vt1802-asus-g75 > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 8:33 ` Hui Wang @ 2015-06-11 16:44 ` Raymond Yau 0 siblings, 0 replies; 28+ messages in thread From: Raymond Yau @ 2015-06-11 16:44 UTC (permalink / raw) To: Hui Wang; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson 2015-6-11 下午4:33 於 "Hui Wang" <hui.wang@canonical.com> 寫道: > > On 06/11/2015 03:37 PM, Raymond Yau wrote: >>>>>>>>> >>>>>>>>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>>>>>>>> machine, there are two speakers and one headphone, but the BIOS verb >>>>>>>>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>>>>>>>> to use quirk in the kernel driver to configure the second speaker >>>>>>>>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>>>>>>>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>>>>>>>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>>>>>>>> speakers share the same dac, this means 2 speakers can't work >>>>>>>>> at the same time to support 4.0/2.1 channels. >>>>>>>>> >>>>>>>>> On another Dell machine with realtek codec, there are also 2 >> >> speakers, >>>>>>>>> >>>>>>>>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone >> >> are >>>>>>>> >>>>>>>> assigned >>>>>>>>> >>>>>>>>> 1 dac, and the other speaker is assigned another dac, so there is no >>>>>>>>> problem for this machine to support 4.0/2.1 channels. >>>>>>>>> >>>>>>>>> Through debugging, I found on Dell machine, the speaker nid only has >>>>>>>>> one connection to dac (hardwired), so when driver assign dac to it, >>>> >>>> the >>>>>>>>> >>>>>>>>> map_single() can successfully assign the each dac to the 2 speakers >>>>>>>> >>>>>>>> respectively. >>>>>>>>> >>>>>>>>> But on that HP machine, the speaker has multiple connections for >> >> dac, >>>>>> >>>>>> the >>>>>>>>> >>>>>>>>> map_single() can't work for this machine. >>>>>>>>> >>>>>>>>> >>>>>>>>> The alsa-info.txt for that HP machine is at >>>>>>>> >>>>>>>> http://pastebin.ubuntu.com/11667947/ >>>>>>>> >>>>>>>> Refer to 92HD91, you don't need 4 channel when there is band pass >>>> >>>> filter >>>>>>>> >>>>>>>> for the subwoofer at the mono pin >>>>>>> >>>>>>> Yes, you are right. >>>>>>> >>>>>>>> 2.2. Mono Output >>>>>>>> The Mono Out port source selection, power state, and mute >>>> >>>> characteristics >>>>>>>> >>>>>>>> are all independently >>>>>>>> controlled by the mono output port controls. EQ does not apply to >> >> this >>>>>>>> >>>>>>>> path. An internal 2nd order band-pass filter is provided to restrict >>>> >>>> the >>>>>>>> >>>>>>>> output frequencies when using mono out to drive an exter- >>>>>>>> nal amplified sub-woofer >>>>>>> >>>>>>> Where did you find this text? Does it mean there is a hardware low >>>>>> >>>>>> frequency pass filter inside the codec? >>>>>> >>>>>> http://www.temposemi.com/products/pclaptop-hd/92hd91/ >>>>>> >>>>>> 2.3. Mono output Band-Pass Filter >>>>>> For many applications, the primary speakers are incapable of >> >> reproducing >>>>>> >>>>>> low frequency audio. Therefore it is desirable to implement a woofer or >>>>>> sub-woofer speaker. The mono output is ideal for this task. However, >> >> the >>>>>> >>>>>> frequency response should be restricted to prevent interference with >> >> the >>>>>> >>>>>> primary speakers. Typically an external filter, known as a cross-over >>>>>> filter, is used. The mono processing path includes a band-pass filter >>>> >>>> with >>>>>> >>>>>> programmable high and low cut-off frequencies to eliminate the need for >>>> >>>> an >>>>>> >>>>>> external filter. >>>>>> >>>>>> 2.3.1. Mixer Filter Description The band-pass filter is derived from >> >> the >>>>>> >>>>>> common biquadratic filter and provides a 12dB/octave roll-off. The >> >> filter >>>>>> >>>>>> may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, >>>> >>>> 120Hz, >>>>>> >>>>>> 150Hz, 200Hz, 315Hz, or 400Hz. >>>>>> >>>>>> The filter may be programmed for a -3dB upper band edge of: 150Hz, >> >> 200Hz, >>>>>> >>>>>> 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz. >>>>>> >>>>>> The band-pass filter is enabled by default with a cut-off frequencies >> >> at >>>>>> >>>>>> 120Hz and 250Hz. The filter may be bypassed using the associated verb >>>>>> (processing state verb >>>>> >>>>> Thanks very much, very useful information. >>>>> >>>>> >>>> Do your codec revision support this mono out volume ? >>>> >>>> 7.4.31.AFG (NID = 01h): DAC3OutAmp (Mono Out Volume) >>> >>> I looks like the current driver does not use this to control the volume. You can use hda-verb and use vendor specific get verb with afg node to find out whether you can get back the default values 0x7f >>> >>>> How do you assign the two volume control to headphone, speaker and >>>> subwoofet ? >>> >>> speaker and headphone are assigned to DAC0 (nid: 0x13), they use the DAC >> >> amplifier to control the volume. >>> >>> subwoofer speaker is assigned to DAC1 (nid: 0x14), it use the DAC >> >> amplifier to contorl the volume. >> Do pulseaudio like this config since there is no mute switch at pin complex >> of idt codecs and no headphone playback volume/switch? >> >> After applied your patch >> >> Front playback volume/switch are shared by headphone and speaker >> Base speaker playback volume/switch >> >> But the other 4 channels hda codecs vt1802 have speaker playback switch >> and subwoofer playback switch > > Even without this patch, the base speaker and headphone already shared the same DAC and use single "Front Playback Volume" to control their volume, I did not see any problem from the pulseaudio/desktop so far. > > http://pastebin.ubuntu.com/11667982/ It won't happen with realtek alc2xx codec since the pin complex of most Realtek codec support mute > About the sharing the switch between headphone and base speaker, this is a new situation, but I did not see obvious problem from pusleaudio/desktop as well. >> >> http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/vt1802-asus-g75 >> Independent headphone should be disabled when headphone and internal speaker of notebook share same DAC or only enabled on desktop with codecs support 2+2 , 7.1+2 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 13:20 ` Hui Wang 2015-06-10 1:30 ` Raymond Yau @ 2015-06-10 4:59 ` Raymond Yau 2015-06-10 6:42 ` hwang4 2015-06-12 1:34 ` Raymond Yau 2 siblings, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-10 4:59 UTC (permalink / raw) To: Hui Wang; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson > >> >>> The alsa-info.txt for that Dell machine is at >> >> http://pastebin.ubuntu.com/11667982/ >> >> The subwoofer is also at mono pin complex, are there any low pass filter >> for the subwoofer or vendor coeff need to be set ? > > I don't know it, I guess there is no hardware filter, it will work with the software low pass filter in the pulseaudio. >> http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=27&Level=5&Conn=4&ProdID=166 The ALC269 integrates five hardware equalizer bands composed of one low-pass filter, one high-pass filter, and three band-pass filters to compensate for mini-speaker frequency response Do you mean alc255 does not have tbr hardware equalizer ? ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-10 4:59 ` Raymond Yau @ 2015-06-10 6:42 ` hwang4 0 siblings, 0 replies; 28+ messages in thread From: hwang4 @ 2015-06-10 6:42 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 2015年06月10日 12:59, Raymond Yau wrote: > > > > >> > >>> The alsa-info.txt for that Dell machine is at > >> > >> http://pastebin.ubuntu.com/11667982/ > >> > >> The subwoofer is also at mono pin complex, are there any low pass > filter > >> for the subwoofer or vendor coeff need to be set ? > > > > I don't know it, I guess there is no hardware filter, it will work > with the software low pass filter in the pulseaudio. > >> > > http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=27&Level=5&Conn=4&ProdID=166 > > The ALC269 integrates five hardware equalizer bands composed of one > low-pass filter, one high-pass filter, and three band-pass filters to > compensate for mini-speaker frequency response > > Do you mean alc255 does not have tbr hardware equalizer ? > I don't have alc255 datasheet, but according to the alc269 feature description, it is highly possible that alc255 also has hardware equalizer. And do you know how to control those equalizer filters with software or do you know where we can find the detailed document for this part? _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 13:20 ` Hui Wang 2015-06-10 1:30 ` Raymond Yau 2015-06-10 4:59 ` Raymond Yau @ 2015-06-12 1:34 ` Raymond Yau 2015-06-12 3:32 ` Hui Wang 2 siblings, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-12 1:34 UTC (permalink / raw) To: Hui Wang; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson >>> The alsa-info.txt for that Dell machine is at >> >> http://pastebin.ubuntu.com/11667982/ >> >> The subwoofer is also at mono pin complex, are there any low pass filter >> for the subwoofer or vendor coeff need to be set ? > > I don't know it, I guess there is no hardware filter, it will work with the software low pass filter in the pulseaudio. >> The funcional block diagram indicate equaliser is only connected to port D This mean only the internal speaker can use high pass filter Do you mean your can hear high frequency from the subwoofer of alc255 ? ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-12 1:34 ` Raymond Yau @ 2015-06-12 3:32 ` Hui Wang 0 siblings, 0 replies; 28+ messages in thread From: Hui Wang @ 2015-06-12 3:32 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 06/12/2015 09:34 AM, Raymond Yau wrote: >>>> The alsa-info.txt for that Dell machine is at >>> http://pastebin.ubuntu.com/11667982/ >>> >>> The subwoofer is also at mono pin complex, are there any low pass filter >>> for the subwoofer or vendor coeff need to be set ? >> I don't know it, I guess there is no hardware filter, it will work with > the software low pass filter in the pulseaudio. > The funcional block diagram indicate equaliser is only connected to port D > This mean only the internal speaker can use high pass filter > > Do you mean your can hear high frequency from the subwoofer of alc255 ? I am not sure about it, but enable/disable the SW lfe filter will make the sound of subwoofer different > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 9:38 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles hwang4 2015-06-09 11:50 ` Raymond Yau @ 2015-06-09 11:51 ` Takashi Iwai 2015-06-09 13:26 ` Hui Wang 2015-06-14 6:48 ` Raymond Yau 1 sibling, 2 replies; 28+ messages in thread From: Takashi Iwai @ 2015-06-09 11:51 UTC (permalink / raw) To: hwang4; +Cc: alsa-devel, David Henningsson At Tue, 09 Jun 2015 17:38:33 +0800, hwang4 wrote: > > I am trying to enable the subwoofer speaker on a HP laptop, on this > machine, there are two speakers and one headphone, but the BIOS verb > only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need > to use quirk in the kernel driver to configure the second speaker > (subwoofer speaker, nid 0x10). Under current alsa driver, the > headphone will be assigned a dac (nid 0x13) and the 2 speakers will > be assigned a dac (nid 0x14), this assignment is not good since 2 > speakers share the same dac, this means 2 speakers can't work > at the same time to support 4.0/2.1 channels. > > On another Dell machine with realtek codec, there are also 2 speakers, > 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are > assigned > 1 dac, and the other speaker is assigned another dac, so there is no > problem for this machine to support 4.0/2.1 channels. > > Through debugging, I found on Dell machine, the speaker nid only has > one connection to dac (hardwired), so when driver assign dac to it, the > map_single() can successfully assign the each dac to the 2 speakers > respectively. > But on that HP machine, the speaker has multiple connections for dac, the > map_single() can't work for this machine. > > > The alsa-info.txt for that HP machine is at > http://pastebin.ubuntu.com/11667947/ > The alsa-info.txt for that Dell machine is at > http://pastebin.ubuntu.com/11667982/ > > To fix this problem, I can use the quirk in the driver to make the > speaker have > only one connection for dac or do some change in the hda_generic.c like > below, in > your opinion, which one is better or probably you have a different idea > to fix this problem? > > diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c > index ac0db16..8194ff1 100644 > --- a/sound/pci/hda/hda_generic.c > +++ b/sound/pci/hda/hda_generic.c > @@ -1363,6 +1363,7 @@ static int try_assign_dacs(struct hda_codec > *codec, int num_outs, > dac = try_dac(codec, > get_primary_out(codec, i), pin); > if (!dac) > dac = try_dac(codec, dacs[0], pin); > if (!dac) > dac = try_dac(codec, > get_primary_out(codec, i), pin); > if (dac) { > @@ -1762,6 +1763,12 @@ static int fill_and_eval_dacs(struct hda_codec > *codec, > if (err < 0) > return err; > badness += err; > + /* if there are 2 speakers and both of them are assigned > to the same dac, > + we need to increase the badness for this situation, > because in this situation > + the 2 speakers can't work together to support 4.0/2.1 > channels */ > + if (cfg->speaker_outs == 2 && err < > spec->extra_out_badness->no_dac && > + spec->multiout.extra_out_nid[1] == 0) > + badness += spec->extra_out_badness->no_dac; This doesn't look like the correct place to add badness for the missing surround speaker. This function is called for each path, so it's evaluated not only for speakers. A cleaner way would be to prepare a different badness table for the speaker, and increase the value for shared_surr. An untested patch is below. Takashi --- diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index ac0db1679f09..ee03fb884426 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -1292,6 +1292,15 @@ const struct badness_table hda_extra_out_badness = { }; EXPORT_SYMBOL_GPL(hda_extra_out_badness); +static const struct badness_table hda_speaker_out_badness = { + .no_primary_dac = BAD_NO_DAC, + .no_dac = BAD_NO_DAC, + .shared_primary = BAD_NO_EXTRA_DAC, + .shared_surr = BAD_NO_EXTRA_DAC, + .shared_clfe = BAD_SHARED_EXTRA_SURROUND, + .shared_surr_main = BAD_NO_EXTRA_SURR_DAC, +}; + /* get the DAC of the primary output corresponding to the given array index */ static hda_nid_t get_primary_out(struct hda_codec *codec, int idx) { @@ -1758,7 +1767,7 @@ static int fill_and_eval_dacs(struct hda_codec *codec, cfg->speaker_pins, spec->multiout.extra_out_nid, spec->speaker_paths, - spec->extra_out_badness); + spec->speaker_out_badness); if (err < 0) return err; badness += err; @@ -4789,6 +4798,8 @@ int snd_hda_gen_parse_auto_config(struct hda_codec *codec, spec->main_out_badness = &hda_main_out_badness; if (!spec->extra_out_badness) spec->extra_out_badness = &hda_extra_out_badness; + if (!spec->speaker_out_badness) + spec->speaker_out_badness = &hda_speaker_out_badness; fill_all_dac_nids(codec); diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h index 56e4139b9032..1f868de1aec4 100644 --- a/sound/pci/hda/hda_generic.h +++ b/sound/pci/hda/hda_generic.h @@ -246,6 +246,7 @@ struct hda_gen_spec { /* badness tables for output path evaluations */ const struct badness_table *main_out_badness; const struct badness_table *extra_out_badness; + const struct badness_table *speaker_out_badness; /* preferred pin/DAC pairs; an array of paired NIDs */ const hda_nid_t *preferred_dacs; diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 0521be8d46a8..9e9d0456dab7 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c @@ -579,6 +579,7 @@ static int via_parse_auto_config(struct hda_codec *codec) spec->gen.main_out_badness = &via_main_out_badness; spec->gen.extra_out_badness = &via_extra_out_badness; + spec->gen.speaker_out_badness = &via_extra_out_badness; err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); if (err < 0) ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 11:51 ` Takashi Iwai @ 2015-06-09 13:26 ` Hui Wang 2015-06-10 4:19 ` hwang4 2015-06-14 6:48 ` Raymond Yau 1 sibling, 1 reply; 28+ messages in thread From: Hui Wang @ 2015-06-09 13:26 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, David Henningsson On 06/09/2015 07:51 PM, Takashi Iwai wrote: > At Tue, 09 Jun 2015 17:38:33 +0800, > hwang4 wrote: >> I am trying to enable the subwoofer speaker on a HP laptop, on this >> machine, there are two speakers and one headphone, but the BIOS verb >> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >> to use quirk in the kernel driver to configure the second speaker >> (subwoofer speaker, nid 0x10). Under current alsa driver, the >> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >> be assigned a dac (nid 0x14), this assignment is not good since 2 >> speakers share the same dac, this means 2 speakers can't work >> at the same time to support 4.0/2.1 channels. >> >> On another Dell machine with realtek codec, there are also 2 speakers, >> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >> assigned >> 1 dac, and the other speaker is assigned another dac, so there is no >> problem for this machine to support 4.0/2.1 channels. >> >> Through debugging, I found on Dell machine, the speaker nid only has >> one connection to dac (hardwired), so when driver assign dac to it, the >> map_single() can successfully assign the each dac to the 2 speakers >> respectively. >> But on that HP machine, the speaker has multiple connections for dac, the >> map_single() can't work for this machine. >> >> >> The alsa-info.txt for that HP machine is at >> http://pastebin.ubuntu.com/11667947/ >> The alsa-info.txt for that Dell machine is at >> http://pastebin.ubuntu.com/11667982/ >> >> To fix this problem, I can use the quirk in the driver to make the >> speaker have >> only one connection for dac or do some change in the hda_generic.c like >> below, in >> your opinion, which one is better or probably you have a different idea >> to fix this problem? >> >> diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c >> index ac0db16..8194ff1 100644 >> --- a/sound/pci/hda/hda_generic.c >> +++ b/sound/pci/hda/hda_generic.c >> @@ -1363,6 +1363,7 @@ static int try_assign_dacs(struct hda_codec >> *codec, int num_outs, >> dac = try_dac(codec, >> get_primary_out(codec, i), pin); >> if (!dac) >> dac = try_dac(codec, dacs[0], pin); >> if (!dac) >> dac = try_dac(codec, >> get_primary_out(codec, i), pin); >> if (dac) { >> @@ -1762,6 +1763,12 @@ static int fill_and_eval_dacs(struct hda_codec >> *codec, >> if (err < 0) >> return err; >> badness += err; >> + /* if there are 2 speakers and both of them are assigned >> to the same dac, >> + we need to increase the badness for this situation, >> because in this situation >> + the 2 speakers can't work together to support 4.0/2.1 >> channels */ >> + if (cfg->speaker_outs == 2 && err < >> spec->extra_out_badness->no_dac && >> + spec->multiout.extra_out_nid[1] == 0) >> + badness += spec->extra_out_badness->no_dac; > This doesn't look like the correct place to add badness for the > missing surround speaker. This function is called for each path, so > it's evaluated not only for speakers. > > A cleaner way would be to prepare a different badness table for the > speaker, and increase the value for shared_surr. An untested patch is > below. Got it, I will test it soon. Thanks. > > Takashi > > --- > diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c > index ac0db1679f09..ee03fb884426 100644 > --- a/sound/pci/hda/hda_generic.c > +++ b/sound/pci/hda/hda_generic.c > @@ -1292,6 +1292,15 @@ const struct badness_table hda_extra_out_badness = { > }; > EXPORT_SYMBOL_GPL(hda_extra_out_badness); > > +static const struct badness_table hda_speaker_out_badness = { > + .no_primary_dac = BAD_NO_DAC, > + .no_dac = BAD_NO_DAC, > + .shared_primary = BAD_NO_EXTRA_DAC, > + .shared_surr = BAD_NO_EXTRA_DAC, > + .shared_clfe = BAD_SHARED_EXTRA_SURROUND, > + .shared_surr_main = BAD_NO_EXTRA_SURR_DAC, > +}; > + > /* get the DAC of the primary output corresponding to the given array index */ > static hda_nid_t get_primary_out(struct hda_codec *codec, int idx) > { > @@ -1758,7 +1767,7 @@ static int fill_and_eval_dacs(struct hda_codec *codec, > cfg->speaker_pins, > spec->multiout.extra_out_nid, > spec->speaker_paths, > - spec->extra_out_badness); > + spec->speaker_out_badness); > if (err < 0) > return err; > badness += err; > @@ -4789,6 +4798,8 @@ int snd_hda_gen_parse_auto_config(struct hda_codec *codec, > spec->main_out_badness = &hda_main_out_badness; > if (!spec->extra_out_badness) > spec->extra_out_badness = &hda_extra_out_badness; > + if (!spec->speaker_out_badness) > + spec->speaker_out_badness = &hda_speaker_out_badness; > > fill_all_dac_nids(codec); > > diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h > index 56e4139b9032..1f868de1aec4 100644 > --- a/sound/pci/hda/hda_generic.h > +++ b/sound/pci/hda/hda_generic.h > @@ -246,6 +246,7 @@ struct hda_gen_spec { > /* badness tables for output path evaluations */ > const struct badness_table *main_out_badness; > const struct badness_table *extra_out_badness; > + const struct badness_table *speaker_out_badness; > > /* preferred pin/DAC pairs; an array of paired NIDs */ > const hda_nid_t *preferred_dacs; > diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c > index 0521be8d46a8..9e9d0456dab7 100644 > --- a/sound/pci/hda/patch_via.c > +++ b/sound/pci/hda/patch_via.c > @@ -579,6 +579,7 @@ static int via_parse_auto_config(struct hda_codec *codec) > > spec->gen.main_out_badness = &via_main_out_badness; > spec->gen.extra_out_badness = &via_extra_out_badness; > + spec->gen.speaker_out_badness = &via_extra_out_badness; > > err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); > if (err < 0) > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 13:26 ` Hui Wang @ 2015-06-10 4:19 ` hwang4 2015-06-10 10:28 ` Takashi Iwai 0 siblings, 1 reply; 28+ messages in thread From: hwang4 @ 2015-06-10 4:19 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, David Henningsson On 2015年06月09日 21:26, Hui Wang wrote: > On 06/09/2015 07:51 PM, Takashi Iwai wrote: >> At Tue, 09 Jun 2015 17:38:33 +0800, >> hwang4 wrote: >>> I am trying to enable the subwoofer speaker on a HP laptop, on this >>> machine, there are two speakers and one headphone, but the BIOS verb >>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need >>> to use quirk in the kernel driver to configure the second speaker >>> (subwoofer speaker, nid 0x10). Under current alsa driver, the >>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will >>> be assigned a dac (nid 0x14), this assignment is not good since 2 >>> speakers share the same dac, this means 2 speakers can't work >>> at the same time to support 4.0/2.1 channels. >>> >>> On another Dell machine with realtek codec, there are also 2 speakers, >>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are >>> assigned >>> 1 dac, and the other speaker is assigned another dac, so there is no >>> problem for this machine to support 4.0/2.1 channels. >>> >>> Through debugging, I found on Dell machine, the speaker nid only has >>> one connection to dac (hardwired), so when driver assign dac to it, the >>> map_single() can successfully assign the each dac to the 2 speakers >>> respectively. >>> But on that HP machine, the speaker has multiple connections for >>> dac, the >>> map_single() can't work for this machine. >>> >>> >>> The alsa-info.txt for that HP machine is at >>> http://pastebin.ubuntu.com/11667947/ >>> The alsa-info.txt for that Dell machine is at >>> http://pastebin.ubuntu.com/11667982/ >>> >>> To fix this problem, I can use the quirk in the driver to make the >>> speaker have >>> only one connection for dac or do some change in the hda_generic.c like >>> below, in >>> your opinion, which one is better or probably you have a different idea >>> to fix this problem? >>> >>> diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c >>> index ac0db16..8194ff1 100644 >>> --- a/sound/pci/hda/hda_generic.c >>> +++ b/sound/pci/hda/hda_generic.c >>> @@ -1363,6 +1363,7 @@ static int try_assign_dacs(struct hda_codec >>> *codec, int num_outs, >>> dac = try_dac(codec, >>> get_primary_out(codec, i), pin); >>> if (!dac) >>> dac = try_dac(codec, dacs[0], pin); >>> if (!dac) >>> dac = try_dac(codec, >>> get_primary_out(codec, i), pin); >>> if (dac) { >>> @@ -1762,6 +1763,12 @@ static int fill_and_eval_dacs(struct hda_codec >>> *codec, >>> if (err < 0) >>> return err; >>> badness += err; >>> + /* if there are 2 speakers and both of them are >>> assigned >>> to the same dac, >>> + we need to increase the badness for this situation, >>> because in this situation >>> + the 2 speakers can't work together to support >>> 4.0/2.1 >>> channels */ >>> + if (cfg->speaker_outs == 2 && err < >>> spec->extra_out_badness->no_dac && >>> + spec->multiout.extra_out_nid[1] == 0) >>> + badness += spec->extra_out_badness->no_dac; >> This doesn't look like the correct place to add badness for the >> missing surround speaker. This function is called for each path, so >> it's evaluated not only for speakers. >> >> A cleaner way would be to prepare a different badness table for the >> speaker, and increase the value for shared_surr. An untested patch is >> below. > Got it, I will test it soon. Thanks. > Hi Takashi, Your patch can fix the problem, it works very well. Thanks, Hui. >> >> Takashi >> >> --- >> diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c >> index ac0db1679f09..ee03fb884426 100644 >> --- a/sound/pci/hda/hda_generic.c >> +++ b/sound/pci/hda/hda_generic.c >> @@ -1292,6 +1292,15 @@ const struct badness_table >> hda_extra_out_badness = { >> }; >> EXPORT_SYMBOL_GPL(hda_extra_out_badness); >> +static const struct badness_table hda_speaker_out_badness = { >> + .no_primary_dac = BAD_NO_DAC, >> + .no_dac = BAD_NO_DAC, >> + .shared_primary = BAD_NO_EXTRA_DAC, >> + .shared_surr = BAD_NO_EXTRA_DAC, >> + .shared_clfe = BAD_SHARED_EXTRA_SURROUND, >> + .shared_surr_main = BAD_NO_EXTRA_SURR_DAC, >> +}; >> + >> /* get the DAC of the primary output corresponding to the given >> array index */ >> static hda_nid_t get_primary_out(struct hda_codec *codec, int idx) >> { >> @@ -1758,7 +1767,7 @@ static int fill_and_eval_dacs(struct hda_codec >> *codec, >> cfg->speaker_pins, >> spec->multiout.extra_out_nid, >> spec->speaker_paths, >> - spec->extra_out_badness); >> + spec->speaker_out_badness); >> if (err < 0) >> return err; >> badness += err; >> @@ -4789,6 +4798,8 @@ int snd_hda_gen_parse_auto_config(struct >> hda_codec *codec, >> spec->main_out_badness = &hda_main_out_badness; >> if (!spec->extra_out_badness) >> spec->extra_out_badness = &hda_extra_out_badness; >> + if (!spec->speaker_out_badness) >> + spec->speaker_out_badness = &hda_speaker_out_badness; >> fill_all_dac_nids(codec); >> diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h >> index 56e4139b9032..1f868de1aec4 100644 >> --- a/sound/pci/hda/hda_generic.h >> +++ b/sound/pci/hda/hda_generic.h >> @@ -246,6 +246,7 @@ struct hda_gen_spec { >> /* badness tables for output path evaluations */ >> const struct badness_table *main_out_badness; >> const struct badness_table *extra_out_badness; >> + const struct badness_table *speaker_out_badness; >> /* preferred pin/DAC pairs; an array of paired NIDs */ >> const hda_nid_t *preferred_dacs; >> diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c >> index 0521be8d46a8..9e9d0456dab7 100644 >> --- a/sound/pci/hda/patch_via.c >> +++ b/sound/pci/hda/patch_via.c >> @@ -579,6 +579,7 @@ static int via_parse_auto_config(struct hda_codec >> *codec) >> spec->gen.main_out_badness = &via_main_out_badness; >> spec->gen.extra_out_badness = &via_extra_out_badness; >> + spec->gen.speaker_out_badness = &via_extra_out_badness; >> err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, >> NULL, 0); >> if (err < 0) >> _______________________________________________ >> Alsa-devel mailing list >> Alsa-devel@alsa-project.org >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >> > _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-10 4:19 ` hwang4 @ 2015-06-10 10:28 ` Takashi Iwai 2015-06-11 15:10 ` Takashi Iwai 0 siblings, 1 reply; 28+ messages in thread From: Takashi Iwai @ 2015-06-10 10:28 UTC (permalink / raw) To: hwang4; +Cc: alsa-devel, David Henningsson At Wed, 10 Jun 2015 12:19:58 +0800, hwang4 wrote: > > > > On 2015年06月09日 21:26, Hui Wang wrote: > > On 06/09/2015 07:51 PM, Takashi Iwai wrote: > >> At Tue, 09 Jun 2015 17:38:33 +0800, > >> hwang4 wrote: > >>> I am trying to enable the subwoofer speaker on a HP laptop, on this > >>> machine, there are two speakers and one headphone, but the BIOS verb > >>> only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need > >>> to use quirk in the kernel driver to configure the second speaker > >>> (subwoofer speaker, nid 0x10). Under current alsa driver, the > >>> headphone will be assigned a dac (nid 0x13) and the 2 speakers will > >>> be assigned a dac (nid 0x14), this assignment is not good since 2 > >>> speakers share the same dac, this means 2 speakers can't work > >>> at the same time to support 4.0/2.1 channels. > >>> > >>> On another Dell machine with realtek codec, there are also 2 speakers, > >>> 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are > >>> assigned > >>> 1 dac, and the other speaker is assigned another dac, so there is no > >>> problem for this machine to support 4.0/2.1 channels. > >>> > >>> Through debugging, I found on Dell machine, the speaker nid only has > >>> one connection to dac (hardwired), so when driver assign dac to it, the > >>> map_single() can successfully assign the each dac to the 2 speakers > >>> respectively. > >>> But on that HP machine, the speaker has multiple connections for > >>> dac, the > >>> map_single() can't work for this machine. > >>> > >>> > >>> The alsa-info.txt for that HP machine is at > >>> http://pastebin.ubuntu.com/11667947/ > >>> The alsa-info.txt for that Dell machine is at > >>> http://pastebin.ubuntu.com/11667982/ > >>> > >>> To fix this problem, I can use the quirk in the driver to make the > >>> speaker have > >>> only one connection for dac or do some change in the hda_generic.c like > >>> below, in > >>> your opinion, which one is better or probably you have a different idea > >>> to fix this problem? > >>> > >>> diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c > >>> index ac0db16..8194ff1 100644 > >>> --- a/sound/pci/hda/hda_generic.c > >>> +++ b/sound/pci/hda/hda_generic.c > >>> @@ -1363,6 +1363,7 @@ static int try_assign_dacs(struct hda_codec > >>> *codec, int num_outs, > >>> dac = try_dac(codec, > >>> get_primary_out(codec, i), pin); > >>> if (!dac) > >>> dac = try_dac(codec, dacs[0], pin); > >>> if (!dac) > >>> dac = try_dac(codec, > >>> get_primary_out(codec, i), pin); > >>> if (dac) { > >>> @@ -1762,6 +1763,12 @@ static int fill_and_eval_dacs(struct hda_codec > >>> *codec, > >>> if (err < 0) > >>> return err; > >>> badness += err; > >>> + /* if there are 2 speakers and both of them are > >>> assigned > >>> to the same dac, > >>> + we need to increase the badness for this situation, > >>> because in this situation > >>> + the 2 speakers can't work together to support > >>> 4.0/2.1 > >>> channels */ > >>> + if (cfg->speaker_outs == 2 && err < > >>> spec->extra_out_badness->no_dac && > >>> + spec->multiout.extra_out_nid[1] == 0) > >>> + badness += spec->extra_out_badness->no_dac; > >> This doesn't look like the correct place to add badness for the > >> missing surround speaker. This function is called for each path, so > >> it's evaluated not only for speakers. > >> > >> A cleaner way would be to prepare a different badness table for the > >> speaker, and increase the value for shared_surr. An untested patch is > >> below. > > Got it, I will test it soon. Thanks. > > > Hi Takashi, > > Your patch can fix the problem, it works very well. OK, good to know. I'd like to test a bit more via hda-emu whether this gives any ill effects. So far, this seems fixing a few other machines, too, so it's a good thing to have in general. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-10 10:28 ` Takashi Iwai @ 2015-06-11 15:10 ` Takashi Iwai 2015-06-12 1:07 ` Hui Wang ` (2 more replies) 0 siblings, 3 replies; 28+ messages in thread From: Takashi Iwai @ 2015-06-11 15:10 UTC (permalink / raw) To: hwang4; +Cc: alsa-devel, David Henningsson At Wed, 10 Jun 2015 12:28:39 +0200, Takashi Iwai wrote: > > > >> A cleaner way would be to prepare a different badness table for the > > >> speaker, and increase the value for shared_surr. An untested patch is > > >> below. > > > Got it, I will test it soon. Thanks. > > > > > Hi Takashi, > > > > Your patch can fix the problem, it works very well. > > OK, good to know. I'd like to test a bit more via hda-emu whether > this gives any ill effects. So far, this seems fixing a few other > machines, too, so it's a good thing to have in general. This change alone results in regressions on machines that are capable of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has to be increased as well. It's damn sensitive. But, now I wonder now whether blindly applying this is good. Suppose a machine with 2.1 speaker and one headphone, but the codec has only two DACs. With this setup, now the headphone and the speaker share the same DAC, as the cost of having individual 2.1 speaker volume. Is this more useful than having individual volumes for speaker and headphone? Maybe the machine you're trying to support has a different situation. So applying the new rule to limited devices is fine. But if so, it's not necessarily to be an adjustment of badness table, but just you can provide the simple DAC/pin preference map explicitly in the fixup. Takashi ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 15:10 ` Takashi Iwai @ 2015-06-12 1:07 ` Hui Wang 2015-06-12 1:22 ` Raymond Yau 2015-06-12 4:42 ` Raymond Yau 2015-06-12 6:07 ` David Henningsson 2 siblings, 1 reply; 28+ messages in thread From: Hui Wang @ 2015-06-12 1:07 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, David Henningsson On 06/11/2015 11:10 PM, Takashi Iwai wrote: > At Wed, 10 Jun 2015 12:28:39 +0200, > Takashi Iwai wrote: >>>>> A cleaner way would be to prepare a different badness table for the >>>>> speaker, and increase the value for shared_surr. An untested patch is >>>>> below. >>>> Got it, I will test it soon. Thanks. >>>> >>> Hi Takashi, >>> >>> Your patch can fix the problem, it works very well. >> OK, good to know. I'd like to test a bit more via hda-emu whether >> this gives any ill effects. So far, this seems fixing a few other >> machines, too, so it's a good thing to have in general. > This change alone results in regressions on machines that are capable > of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has > to be increased as well. It's damn sensitive. > > But, now I wonder now whether blindly applying this is good. Suppose > a machine with 2.1 speaker and one headphone, but the codec has only > two DACs. With this setup, now the headphone and the speaker share > the same DAC, as the cost of having individual 2.1 speaker volume. > Is this more useful than having individual volumes for speaker and > headphone? If having individual volumes for speaker and headphone (the speakers share the same DAC), there will be no "Front Speaker" and "Bass Speaker", as a result, in the userspace, pulseaudio can't regard the 2.1 channels is a valid profile. > > Maybe the machine you're trying to support has a different situation. > So applying the new rule to limited devices is fine. But if so, it's > not necessarily to be an adjustment of badness table, but just you can > provide the simple DAC/pin preference map explicitly in the fixup. This is a good idea, so far this machine is the only one with this problem, it is suitable to use a machine specific fixup. If in future, we have more machines with this problem, then we will think about a general way to fix it. > > > Takashi > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-12 1:07 ` Hui Wang @ 2015-06-12 1:22 ` Raymond Yau 2015-06-12 3:25 ` Hui Wang 0 siblings, 1 reply; 28+ messages in thread From: Raymond Yau @ 2015-06-12 1:22 UTC (permalink / raw) To: Hui Wang; +Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson >>>>>> >>>>>> A cleaner way would be to prepare a different badness table for the >>>>>> speaker, and increase the value for shared_surr. An untested patch is >>>>>> below. >>>>> >>>>> Got it, I will test it soon. Thanks. >>>>> >>>> Hi Takashi, >>>> >>>> Your patch can fix the problem, it works very well. >>> >>> OK, good to know. I'd like to test a bit more via hda-emu whether >>> this gives any ill effects. So far, this seems fixing a few other >>> machines, too, so it's a good thing to have in general. >> >> This change alone results in regressions on machines that are capable >> of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has >> to be increased as well. It's damn sensitive. >> >> But, now I wonder now whether blindly applying this is good. Suppose >> a machine with 2.1 speaker and one headphone, but the codec has only >> two DACs. With this setup, now the headphone and the speaker share >> the same DAC, as the cost of having individual 2.1 speaker volume. >> Is this more useful than having individual volumes for speaker and >> headphone? > > If having individual volumes for speaker and headphone (the speakers share the same DAC), there will be no "Front Speaker" and "Bass Speaker", as a result, in the userspace, pulseaudio can't regard the 2.1 channels is a valid profile. > Do you mean you can still hear high frequency from the subwoofer of 92hd91 (i.e. pulseaudio lfe filtering is much better than the band pass filter in 92hd91) How much auddional cpu need to enable lfe filtering ? ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-12 1:22 ` Raymond Yau @ 2015-06-12 3:25 ` Hui Wang 0 siblings, 0 replies; 28+ messages in thread From: Hui Wang @ 2015-06-12 3:25 UTC (permalink / raw) To: Raymond Yau Cc: Takashi Iwai, ALSA Development Mailing List, David Henningsson On 06/12/2015 09:22 AM, Raymond Yau wrote: >>>>>>> A cleaner way would be to prepare a different badness table for the >>>>>>> speaker, and increase the value for shared_surr. An untested patch > is >>>>>>> below. >>>>>> Got it, I will test it soon. Thanks. >>>>>> >>>>> Hi Takashi, >>>>> >>>>> Your patch can fix the problem, it works very well. >>>> OK, good to know. I'd like to test a bit more via hda-emu whether >>>> this gives any ill effects. So far, this seems fixing a few other >>>> machines, too, so it's a good thing to have in general. >>> This change alone results in regressions on machines that are capable >>> of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has >>> to be increased as well. It's damn sensitive. >>> >>> But, now I wonder now whether blindly applying this is good. Suppose >>> a machine with 2.1 speaker and one headphone, but the codec has only >>> two DACs. With this setup, now the headphone and the speaker share >>> the same DAC, as the cost of having individual 2.1 speaker volume. >>> Is this more useful than having individual volumes for speaker and >>> headphone? >> If having individual volumes for speaker and headphone (the speakers > share the same DAC), there will be no "Front Speaker" and "Bass Speaker", > as a result, in the userspace, pulseaudio can't regard the 2.1 channels is > a valid profile. > Do you mean you can still hear high frequency from the subwoofer of 92hd91 > (i.e. pulseaudio lfe filtering is much better than the band pass filter in > 92hd91) I don't mean we will definitely enable the lfe filter in the pulseaudio, if the codec has HW filter, we can disable the lfe filter in the pulseaudio. The problem is if we don't choose 2.1 channels, the pulseaudio will not feed the data to the subwoofer speaker, so there is no sound coming from the subwoofer speaker. 2.1 channles != enabling lfe filter. > > How much auddional cpu need to enable lfe filtering ? > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 15:10 ` Takashi Iwai 2015-06-12 1:07 ` Hui Wang @ 2015-06-12 4:42 ` Raymond Yau 2015-06-12 6:07 ` David Henningsson 2 siblings, 0 replies; 28+ messages in thread From: Raymond Yau @ 2015-06-12 4:42 UTC (permalink / raw) To: Takashi Iwai; +Cc: hwang4, alsa-devel, David Henningsson > > > > > >> A cleaner way would be to prepare a different badness table for the > > > >> speaker, and increase the value for shared_surr. An untested patch is > > > >> below. > > > > Got it, I will test it soon. Thanks. > > > > > > > Hi Takashi, > > > > > > Your patch can fix the problem, it works very well. > > > > OK, good to know. I'd like to test a bit more via hda-emu whether > > this gives any ill effects. So far, this seems fixing a few other > > machines, too, so it's a good thing to have in general. > > This change alone results in regressions on machines that are capable > of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has > to be increased as well. It's damn sensitive. > > But, now I wonder now whether blindly applying this is good. Suppose > a machine with 2.1 speaker and one headphone, but the codec has only > two DACs. With this setup, now the headphone and the speaker share > the same DAC, as the cost of having individual 2.1 speaker volume. > Is this more useful than having individual volumes for speaker and > headphone? Some realtek codec e.g. alc262 Supports MONO line output with independent volume control http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=27&Level=5&Conn=4&ProdID=40 Badness table cannot be applied to all realtek codecs ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-11 15:10 ` Takashi Iwai 2015-06-12 1:07 ` Hui Wang 2015-06-12 4:42 ` Raymond Yau @ 2015-06-12 6:07 ` David Henningsson 2015-06-12 9:40 ` Raymond Yau ` (2 more replies) 2 siblings, 3 replies; 28+ messages in thread From: David Henningsson @ 2015-06-12 6:07 UTC (permalink / raw) To: Takashi Iwai, hwang4; +Cc: alsa-devel On 2015-06-11 17:10, Takashi Iwai wrote: > At Wed, 10 Jun 2015 12:28:39 +0200, > Takashi Iwai wrote: >> OK, good to know. I'd like to test a bit more via hda-emu whether >> this gives any ill effects. So far, this seems fixing a few other >> machines, too, so it's a good thing to have in general. > This change alone results in regressions on machines that are capable > of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has > to be increased as well. It's damn sensitive. > > But, now I wonder now whether blindly applying this is good. Suppose > a machine with 2.1 speaker and one headphone, but the codec has only > two DACs. With this setup, now the headphone and the speaker share > the same DAC, as the cost of having individual 2.1 speaker volume. > Is this more useful than having individual volumes for speaker and > headphone? > > Maybe the machine you're trying to support has a different situation. > So applying the new rule to limited devices is fine. But if so, it's > not necessarily to be an adjustment of badness table, but just you can > provide the simple DAC/pin preference map explicitly in the fixup. Oh, this is an interesting trade-off. In the PulseAudio desktop scenario, we automute the speaker, and PulseAudio remembers the individual headphone and speaker volumes. So in this case, there is no benefit from having individual headphone and speaker volume at the ALSA level. However if a user wants to turn off automute, then there is a need for being able to adjust headphone and speaker volume individually. But it's not just a question of volume control for 2.1. Being able to send a different stream to the subwoofer could be useful too, especially if the hardware filter is bad or non-existing. So my gut feeling leans towards using the second DAC for the subwoofer speaker being the more useful default, but it's not a clear cut. // David ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-12 6:07 ` David Henningsson @ 2015-06-12 9:40 ` Raymond Yau 2015-06-12 16:05 ` Takashi Iwai 2015-06-13 2:43 ` Raymond Yau 2 siblings, 0 replies; 28+ messages in thread From: Raymond Yau @ 2015-06-12 9:40 UTC (permalink / raw) To: David Henningsson, lukasz.wojnilowicz Cc: Takashi Iwai, hwang4, ALSA Development Mailing List OK, good to know. I'd like to test a bit more via hda-emu whether this >>> gives any ill effects. So far, this seems fixing a few other machines, too, >>> so it's a good thing to have in general. >>> >> This change alone results in regressions on machines that are capable >> of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has >> to be increased as well. It's damn sensitive. >> >> But, now I wonder now whether blindly applying this is good. Suppose >> a machine with 2.1 speaker and one headphone, but the codec has only >> two DACs. With this setup, now the headphone and the speaker share >> the same DAC, as the cost of having individual 2.1 speaker volume. >> Is this more useful than having individual volumes for speaker and >> headphone? >> >> Maybe the machine you're trying to support has a different situation. >> So applying the new rule to limited devices is fine. But if so, it's >> not necessarily to be an adjustment of badness table, but just you can >> provide the simple DAC/pin preference map explicitly in the fixup. >> > > Oh, this is an interesting trade-off. > > In the PulseAudio desktop scenario, we automute the speaker, and > PulseAudio remembers the individual headphone and speaker volumes. So in > this case, there is no benefit from having individual headphone and speaker > volume at the ALSA level. > > However if a user wants to turn off automute, then there is a need for > being able to adjust headphone and speaker volume individually. > Do "front Playback volume" a good name when volume control is shared by headphone and speaker" ? in desktop with alc66x , volume control shared by headphone and Line Out is name as "Front" because it support 5.1 > > But it's not just a question of volume control for 2.1. Being able to send > a different stream to the subwoofer could be useful too, especially if the > hardware filter is bad or non-existing. > when subwoofer is using stereo pin complex (usually with 6, 8 or 10 channels codec), only one left or right channel is used (e.g. Asus N series note book external sonic master subwoofer use right channel but acer aspire 5930g internal subwoofer using left channel FL, FR LFE N/A FL, FR, N/A, LFE how do pulseaudio perform lfe filter when subwoofer is using mono pin since the downmix widget mix left and right channel and scale down the volume ? FL, FR, LFE, LFE do it need more CPU than those use one channel of stereo pin complex For those 2 channel hda codec 's subwoofer must use mono pin > > > ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-12 6:07 ` David Henningsson 2015-06-12 9:40 ` Raymond Yau @ 2015-06-12 16:05 ` Takashi Iwai 2015-06-13 2:43 ` Raymond Yau 2 siblings, 0 replies; 28+ messages in thread From: Takashi Iwai @ 2015-06-12 16:05 UTC (permalink / raw) To: David Henningsson; +Cc: hwang4, alsa-devel At Fri, 12 Jun 2015 08:07:20 +0200, David Henningsson wrote: > > > > On 2015-06-11 17:10, Takashi Iwai wrote: > > At Wed, 10 Jun 2015 12:28:39 +0200, > > Takashi Iwai wrote: > >> OK, good to know. I'd like to test a bit more via hda-emu whether > >> this gives any ill effects. So far, this seems fixing a few other > >> machines, too, so it's a good thing to have in general. > > This change alone results in regressions on machines that are capable > > of 4.0/5.1 surrounds. For avoiding it, the badness for multi-io has > > to be increased as well. It's damn sensitive. > > > > But, now I wonder now whether blindly applying this is good. Suppose > > a machine with 2.1 speaker and one headphone, but the codec has only > > two DACs. With this setup, now the headphone and the speaker share > > the same DAC, as the cost of having individual 2.1 speaker volume. > > Is this more useful than having individual volumes for speaker and > > headphone? > > > > Maybe the machine you're trying to support has a different situation. > > So applying the new rule to limited devices is fine. But if so, it's > > not necessarily to be an adjustment of badness table, but just you can > > provide the simple DAC/pin preference map explicitly in the fixup. > > Oh, this is an interesting trade-off. > > In the PulseAudio desktop scenario, we automute the speaker, and > PulseAudio remembers the individual headphone and speaker volumes. So in > this case, there is no benefit from having individual headphone and > speaker volume at the ALSA level. > > However if a user wants to turn off automute, then there is a need for > being able to adjust headphone and speaker volume individually. > > But it's not just a question of volume control for 2.1. Being able to > send a different stream to the subwoofer could be useful too, especially > if the hardware filter is bad or non-existing. > > So my gut feeling leans towards using the second DAC for the subwoofer > speaker being the more useful default, but it's not a clear cut. Right, this is indeed a difficult problem, and probably there is never a clear answer. Another interesting examples are: A. 3 DACs, 2 HP, 2 speakers B. 3 DACs, 2 HP, 1 mic, 1 speaker C. 4 DACs, 2 HP, 1 mic, 2 speakers For B and C, user expects the possible 5.1 outputs by retasking the mic. But then you'll lose the individual volume control with the speaker. Takashi ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-12 6:07 ` David Henningsson 2015-06-12 9:40 ` Raymond Yau 2015-06-12 16:05 ` Takashi Iwai @ 2015-06-13 2:43 ` Raymond Yau 2 siblings, 0 replies; 28+ messages in thread From: Raymond Yau @ 2015-06-13 2:43 UTC (permalink / raw) To: David Henningsson; +Cc: hwang4, Takashi Iwai, ALSA Development Mailing List > Oh, this is an interesting trade-off. > > In the PulseAudio desktop scenario, we automute the speaker, and PulseAudio remembers the individual headphone and speaker volumes. So in this case, there is no benefit from having individual headphone and speaker volume at the ALSA level. > > However if a user wants to turn off automute, then there is a need for being able to adjust headphone and speaker volume individually. > > But it's not just a question of volume control for 2.1. Being able to send a different stream to the subwoofer could be useful too, especially if the hardware filter is bad or non-existing. > > It is not just low pass filter with subwoofer Pulseaudio seem also perform high pass filter at the same time http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=f3ebf6b667b155f5fe6526bd70881c79e07d7874 92hd91 have high pass filter for internal speakers 2.20.BTL Amplifier High-Pass Filter For mobile applications, speakers are often incapable of reproducing low frequency audio and unable to handle the maximum output power of the BTL amplifier. A high-pass filter is implemented in the BTL output path to reduce the amount of low frequency energy reaching speakers attached to the BTL amplifier. This can prevent speaker failure. 2.20.1.Filter Description The high-pass filter is derived from the common biquadratic filter and provides a 12dB/octave roll-off. The filter may be programmed for a -3dB response at: 100Hz, 200Hz, 300Hz, 400Hz, 500Hz, 750Hz, 1KHz, or 2KHz. The high pass filter is enabled by default with a cut-off frequency of 300Hz. The filter may be bypassed using the associated verb (processing state verb). ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles 2015-06-09 11:51 ` Takashi Iwai 2015-06-09 13:26 ` Hui Wang @ 2015-06-14 6:48 ` Raymond Yau 1 sibling, 0 replies; 28+ messages in thread From: Raymond Yau @ 2015-06-14 6:48 UTC (permalink / raw) To: Takashi Iwai; +Cc: hwang4, alsa-devel, David Henningsson > > > > I am trying to enable the subwoofer speaker on a HP laptop, on this > > machine, there are two speakers and one headphone, but the BIOS verb > > only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need > > to use quirk in the kernel driver to configure the second speaker > > (subwoofer speaker, nid 0x10). Under current alsa driver, the > > headphone will be assigned a dac (nid 0x13) and the 2 speakers will > > be assigned a dac (nid 0x14), this assignment is not good since 2 > > speakers share the same dac, this means 2 speakers can't work > > at the same time to support 4.0/2.1 channels. > > > > On another Dell machine with realtek codec, there are also 2 speakers, > > 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are > > assigned > > 1 dac, and the other speaker is assigned another dac, so there is no > > problem for this machine to support 4.0/2.1 channels. > > > > Through debugging, I found on Dell machine, the speaker nid only has > > one connection to dac (hardwired), so when driver assign dac to it, the > > map_single() can successfully assign the each dac to the 2 speakers > > respectively. > > But on that HP machine, the speaker has multiple connections for dac, the > > map_single() can't work for this machine. > > > > > > The alsa-info.txt for that HP machine is at > > http://pastebin.ubuntu.com/11667947/ Node 0x13 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Headphone Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Headphone Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Device: name="92HD91BXX Analog", type="Audio", device=0 Amp-Out caps: N/A Amp-Out vals: [0x80 0x80] Converter: stream=5, channel=0 Power states: Power: setting=D0, actual=D0 Delay: 13 samples Node 0x14 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L Control: name="Speaker Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Speaker Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: N/A Amp-Out vals: [0x64 0x64] Converter: stream=5, channel=0 Power states: Power: setting=D0, actual=D0 Delay: 13 samples Do hda_proc.c or hda_codec use the correct verb to get amp out cap of idt codecs ? 92hd91 datasheet has default values of amp out caps Why amp out caps are N/A ? 7.14.2.DAC0 (NID = 13h): OutAmpLeft 7.14.3.DAC0 (NID = 13h): OutAmpRight 7.15.2.DAC1 (NID = 14h): OutAmpLeft 7.15.3.DAC1 (NID = 14h): OutAmpRight ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2015-06-14 6:48 UTC | newest] Thread overview: 28+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-06-09 9:38 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles hwang4 2015-06-09 11:50 ` Raymond Yau 2015-06-09 13:20 ` Hui Wang 2015-06-10 1:30 ` Raymond Yau 2015-06-10 3:18 ` hwang4 2015-06-11 1:15 ` Raymond Yau 2015-06-11 2:15 ` Hui Wang 2015-06-11 7:37 ` Raymond Yau 2015-06-11 8:33 ` Hui Wang 2015-06-11 16:44 ` Raymond Yau 2015-06-10 4:59 ` Raymond Yau 2015-06-10 6:42 ` hwang4 2015-06-12 1:34 ` Raymond Yau 2015-06-12 3:32 ` Hui Wang 2015-06-09 11:51 ` Takashi Iwai 2015-06-09 13:26 ` Hui Wang 2015-06-10 4:19 ` hwang4 2015-06-10 10:28 ` Takashi Iwai 2015-06-11 15:10 ` Takashi Iwai 2015-06-12 1:07 ` Hui Wang 2015-06-12 1:22 ` Raymond Yau 2015-06-12 3:25 ` Hui Wang 2015-06-12 4:42 ` Raymond Yau 2015-06-12 6:07 ` David Henningsson 2015-06-12 9:40 ` Raymond Yau 2015-06-12 16:05 ` Takashi Iwai 2015-06-13 2:43 ` Raymond Yau 2015-06-14 6:48 ` Raymond Yau
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox