All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hui Wang <hui.wang@canonical.com>
To: Raymond Yau <superquad.vortex2@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>,
	ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	David Henningsson <david.henningsson@canonical.com>
Subject: Re: 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles
Date: Thu, 11 Jun 2015 10:15:29 +0800	[thread overview]
Message-ID: <5578EF41.5010105@canonical.com> (raw)
In-Reply-To: <CAN8ccibcps699P9LFGVtgFVcYgAZ+eXfrnnj0FGmvjMhTK1b3Q@mail.gmail.com>

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
>

  reply	other threads:[~2015-06-11  2:15 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5578EF41.5010105@canonical.com \
    --to=hui.wang@canonical.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=david.henningsson@canonical.com \
    --cc=superquad.vortex2@gmail.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.