[alsa-devel] HD-audio generic parser merged to linux-next
Hi,
as most of feedbacks about the new generic parser migration were positive, I decided to take a risk: now all commit that have been in test/hda-migrate branch in sound-unstable git tree are merged to for-next branch of sound git tree for better test coverage. It means that all changes are merged to linux-next, i.e. will be included in 3.9 kernel.
For the early adapter people, I'm going to keep test/hda-migrate branch of sound-unstable git tree updated for a while, but the branch will be abandoned some time later.
If you encounter any regression by the recent update, please let me know.
thanks,
Takashi
as most of feedbacks about the new generic parser migration were positive, I decided to take a risk: now all commit that have been in test/hda-migrate branch in sound-unstable git tree are merged to for-next branch of sound git tree for better test coverage. It means that all changes are merged to linux-next, i.e. will be included in 3.9 kernel.
For the early adapter people, I'm going to keep test/hda-migrate branch of sound-unstable git tree updated for a while, but the branch will be abandoned some time later.
If you encounter any regression by the recent update, please let me know.
Neither alsa-info.sh nor system log provide any info when user has customised those hints
Some feature is only available when the hardware meet minimum requirement
e.g. independent headphone require at least two DAC
At Wed, 23 Jan 2013 16:55:09 +0800, Raymond Yau wrote:
as most of feedbacks about the new generic parser migration were positive, I decided to take a risk: now all commit that have been in test/hda-migrate branch in sound-unstable git tree are merged to for-next branch of sound git tree for better test coverage. It means that all changes are merged to linux-next, i.e. will be included in 3.9 kernel.
For the early adapter people, I'm going to keep test/hda-migrate branch of sound-unstable git tree updated for a while, but the branch will be abandoned some time later.
If you encounter any regression by the recent update, please let me know.
Neither alsa-info.sh nor system log provide any info when user has customised those hints
Fix alsa-info.sh :) It'd be a one-liner.
Some feature is only available when the hardware meet minimum requirement e.g. independent headphone require at least two DAC
Why it's a regression?
Takashi
Some feature is only available when the hardware meet minimum
requirement
e.g. independent headphone require at least two DAC
Why it's a regression?
Those hda codecs with a single DAC (e.g. stac920x, alc260) and ad1986a does no support independent headphone
Also those alc66x datasheet does not mention the support of multi-streaming playback
Don't create the control when there is internal speaker
When driver assign two DAC to internal speaker and subwoofer (vt1802 on Asus g75) and it is confusing when there is no headphone playback volume control
Don't create the control when there is no headphone Jack when the user is retasked the headphone Jack to Mic by early patching
Automatically disable for those headphone mic jack when the HP Jack is retasked as mic
At Thu, 24 Jan 2013 11:26:35 +0800, Raymond Yau wrote:
Some feature is only available when the hardware meet minimum
requirement
e.g. independent headphone require at least two DAC
Why it's a regression?
Those hda codecs with a single DAC (e.g. stac920x, alc260) and ad1986a does no support independent headphone
I still don't understand what you are trying to say... The independent HP mode is created only for certain codecs like AD and VT codecs, so far.
Moreover, how would "independent" HP work with a single DAC at all? The independent HP means that the individual PCM stream can be played through the headphone. It doesn't make any sense for the hardware with a single DAC.
Also those alc66x datasheet does not mention the support of multi-streaming playback
There has been no change wrt Realtek codec. We're talking about regression.
Don't create the control when there is internal speaker
More context please.
When driver assign two DAC to internal speaker and subwoofer (vt1802 on Asus g75) and it is confusing when there is no headphone playback volume control
It's rather a fix. The headphone volume was wrongly picked up although it's identical with the speaker volume.
Don't create the control when there is no headphone Jack when the user is retasked the headphone Jack to Mic by early patching
When user says it's a mic jack, how can you know it's a headphone?
Automatically disable for those headphone mic jack when the HP Jack is retasked as mic
The old behavior was rather buggy, and this is actually a fix.
Think of the other scenarios: if we inactivate the control element, you may get again the crash of application as you've seen with the old AD codec parser. OTOH, if we change the value of automute mode enum, how should we do once when the independent HP is turned off again? You can't know whether user want to keep the value off or not.
Takashi
El mié, 23 ene 2013 a las 9:30 horas Takashi Iwai escribió:
Hi,
as most of feedbacks about the new generic parser migration were positive, I decided to take a risk: now all commit that have been in test/hda-migrate branch in sound-unstable git tree are merged to for-next branch of sound git tree for better test coverage. It means that all changes are merged to linux-next, i.e. will be included in 3.9 kernel.
For the early adapter people, I'm going to keep test/hda-migrate branch of sound-unstable git tree updated for a while, but the branch will be abandoned some time later.
If you encounter any regression by the recent update, please let me know.
thanks,
Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Hi,
Recording and (multi stream) playing seem to work fine, but auto-mute doesn't. For example, front speakers may remain muted after disconnecting the HP.
cat /sys/kernel/debug/tracing/trace # tracer: nop # # entries-in-buffer/entries-written: 0/0 #P:2 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | |
I've connected and disconnected the HP jack several times before.
branch: test/hda-migrate commit 6f4c53a1467c51966e06a1d29c6f0fee85d5c6f6
Regards,
At Wed, 23 Jan 2013 14:49:32 +0100, Manolo Díaz wrote:
El mié, 23 ene 2013 a las 9:30 horas Takashi Iwai escribió:
Hi,
as most of feedbacks about the new generic parser migration were positive, I decided to take a risk: now all commit that have been in test/hda-migrate branch in sound-unstable git tree are merged to for-next branch of sound git tree for better test coverage. It means that all changes are merged to linux-next, i.e. will be included in 3.9 kernel.
For the early adapter people, I'm going to keep test/hda-migrate branch of sound-unstable git tree updated for a while, but the branch will be abandoned some time later.
If you encounter any regression by the recent update, please let me know.
thanks,
Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Hi,
Recording and (multi stream) playing seem to work fine, but auto-mute doesn't. For example, front speakers may remain muted after disconnecting the HP.
cat /sys/kernel/debug/tracing/trace # tracer: nop # # entries-in-buffer/entries-written: 0/0 #P:2 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | |
I've connected and disconnected the HP jack several times before.
If nothing appears in the tracing (suppose you enabled the events properly via /sys/kernel/debug/tracing/events/hda/enable), it's rather a hardware issue.
Did the auto-mute work reliably before the code change?
Takashi
If you encounter any regression by the recent update, please let me know.
Refer to commit 657e1b931d42882cb0a59b599247bef696c22406
ALSA: hda - Select auto-parser as default for AD codecs
it seem that independent hp is enabled on AD1986A which does not support indepedent headphone
Attach PCM dev 0, name AD1986A Analog, type audio, play #1, capture #1 send: NID=0x2, VERB=0xf00(get_parameters), PARM=0xa(PCM) receive: 0x20060 send: NID=0x2, VERB=0xf00(get_parameters), PARM=0xb(stream) receive: 0x5 Attach PCM dev 1, name AD1986A Digital, type SPDIF, play #1, capture #0 send: NID=0x1, VERB=0xf00(get_parameters), PARM=0xa(PCM) receive: 0xe007f send: NID=0x5, VERB=0xf00(get_parameters), PARM=0xb(stream) receive: 0x0 send: NID=0x1, VERB=0xf00(get_parameters), PARM=0xb(stream) receive: 0x1 Attach PCM dev 2, name AD1986A Alt Analog, type audio, play #1, capture #0 # Init and building controls...
At Mon, 11 Feb 2013 22:20:15 +0800, Raymond Yau wrote:
If you encounter any regression by the recent update, please let me know.
Refer to commit 657e1b931d42882cb0a59b599247bef696c22406
ALSA: hda - Select auto-parser as default for AD codecs
it seem that independent hp is enabled on AD1986A which does not support indepedent headphone
AD1986A can send an individual stream to HP.
The pin 0x1a takes the selector 0x0a, which can choose either the mixer widget 0x07 or a DAC (0x04).
Takashi
If you encounter any regression by the recent update, please let me know.
Refer to commit 657e1b931d42882cb0a59b599247bef696c22406
ALSA: hda - Select auto-parser as default for AD codecs
it seem that independent hp is enabled on AD1986A which does not support indepedent headphone
AD1986A can send an individual stream to HP.
The pin 0x1a takes the selector 0x0a, which can choose either the mixer widget 0x07 or a DAC (0x04).
6 DAC channels for 5.1 surround
Can independent headphone enabled by default since this mean that lost of surround 5.1 for those desktop with three audio jacks at rear panel ?
At Mon, 11 Feb 2013 23:12:16 +0800, Raymond Yau wrote:
If you encounter any regression by the recent update, please let me know.
Refer to commit 657e1b931d42882cb0a59b599247bef696c22406
ALSA: hda - Select auto-parser as default for AD codecs
it seem that independent hp is enabled on AD1986A which does not support indepedent headphone
AD1986A can send an individual stream to HP.
The pin 0x1a takes the selector 0x0a, which can choose either the mixer widget 0x07 or a DAC (0x04).
6 DAC channels for 5.1 surround
It's an issue with the output path selection, and basically irrelevant with the HP independent output.
Can independent headphone enabled by default since this mean that lost of surround 5.1 for those desktop with three audio jacks at rear panel ?
Not really. The independent HP feature is just an additional stuff that is enabled only when the configuration is available in the selected paths. It doesn't influence on the path selection by itself.
Takashi
6 DAC channels for 5.1 surround
It's an issue with the output path selection, and basically irrelevant with the HP independent output.
Can independent headphone enabled by default since this mean that lost of surround 5.1 for those desktop with three audio jacks at rear panel ?
Not really. The independent HP feature is just an additional stuff that is enabled only when the configuration is available in the selected paths. It doesn't influence on the path selection by itself.
The driver create "alt analog" device but does not create "Channel mode" or Surround, Center Lfe playback volume controls for intel motherboard with 3 audio jacks for those 6 channels hda codecs (e.g. alc662, ad1882, ...)
hda-emu codecs/alc662-intel-d945gclf2
At Wed, 13 Feb 2013 20:16:10 +0800, Raymond Yau wrote:
6 DAC channels for 5.1 surround
It's an issue with the output path selection, and basically irrelevant with the HP independent output.
Can independent headphone enabled by default since this mean that lost of surround 5.1 for those desktop with three audio jacks at rear panel ?
Not really. The independent HP feature is just an additional stuff that is enabled only when the configuration is available in the selected paths. It doesn't influence on the path selection by itself.
The driver create "alt analog" device but does not create "Channel mode" or Surround, Center Lfe playback volume controls for intel motherboard with 3 audio jacks for those 6 channels hda codecs (e.g. alc662, ad1882, ...)
hda-emu codecs/alc662-intel-d945gclf2
But it's irrelevant from whether you enable independent HP mode or not. It's just the policy of badness evaluation. It's possible to have a different result by adjusting the badness parameters.
Takashi
At Wed, 13 Feb 2013 14:02:17 +0100, Takashi Iwai wrote:
At Wed, 13 Feb 2013 20:16:10 +0800, Raymond Yau wrote:
6 DAC channels for 5.1 surround
It's an issue with the output path selection, and basically irrelevant with the HP independent output.
Can independent headphone enabled by default since this mean that lost of surround 5.1 for those desktop with three audio jacks at rear panel ?
Not really. The independent HP feature is just an additional stuff that is enabled only when the configuration is available in the selected paths. It doesn't influence on the path selection by itself.
The driver create "alt analog" device but does not create "Channel mode" or Surround, Center Lfe playback volume controls for intel motherboard with 3 audio jacks for those 6 channels hda codecs (e.g. alc662, ad1882, ...)
hda-emu codecs/alc662-intel-d945gclf2
But it's irrelevant from whether you enable independent HP mode or not. It's just the policy of badness evaluation. It's possible to have a different result by adjusting the badness parameters.
IOW, the patch like below will make surrounds back for the device, for the cost of losing individual headphone volume control.
It seems that it would make more sense for having surrounds for such desktop setups, and the patch doesn't appear to affect too severely. Only ALC662/663 and one CMI9880 configs have been changed by this, and all look reasonable. So I'm going to apply it.
Takashi
--- diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index 6af5ade..78897d0 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -988,7 +988,7 @@ enum { /* No DAC is found for the extra output */ BAD_NO_DAC = 0x4000, /* No possible multi-ios */ - BAD_MULTI_IO = 0x103, + BAD_MULTI_IO = 0x120, /* No individual DAC for extra output */ BAD_NO_EXTRA_DAC = 0x102, /* No individual DAC for extra surrounds */
At Wed, 13 Feb 2013 14:17:14 +0100, Takashi Iwai wrote:
At Wed, 13 Feb 2013 14:02:17 +0100, Takashi Iwai wrote:
At Wed, 13 Feb 2013 20:16:10 +0800, Raymond Yau wrote:
6 DAC channels for 5.1 surround
It's an issue with the output path selection, and basically irrelevant with the HP independent output.
Can independent headphone enabled by default since this mean that lost of surround 5.1 for those desktop with three audio jacks at rear panel ?
Not really. The independent HP feature is just an additional stuff that is enabled only when the configuration is available in the selected paths. It doesn't influence on the path selection by itself.
The driver create "alt analog" device but does not create "Channel mode" or Surround, Center Lfe playback volume controls for intel motherboard with 3 audio jacks for those 6 channels hda codecs (e.g. alc662, ad1882, ...)
hda-emu codecs/alc662-intel-d945gclf2
But it's irrelevant from whether you enable independent HP mode or not. It's just the policy of badness evaluation. It's possible to have a different result by adjusting the badness parameters.
IOW, the patch like below will make surrounds back for the device, for the cost of losing individual headphone volume control.
It seems that it would make more sense for having surrounds for such desktop setups, and the patch doesn't appear to affect too severely. Only ALC662/663 and one CMI9880 configs have been changed by this, and all look reasonable. So I'm going to apply it.
BTW, I should mention beforehand that the previous patch won't suffice for the device like ThinkCenter A58 where the headphone can't be shared with the primary DAC. For allowing the surrounds on such machines, we need to implement more complex workaround (i.e. make surrounds exclusive, and turn off others while using surrounds).
Takashi
Takashi
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index 6af5ade..78897d0 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -988,7 +988,7 @@ enum { /* No DAC is found for the extra output */ BAD_NO_DAC = 0x4000, /* No possible multi-ios */
- BAD_MULTI_IO = 0x103,
- BAD_MULTI_IO = 0x120, /* No individual DAC for extra output */ BAD_NO_EXTRA_DAC = 0x102, /* No individual DAC for extra surrounds */
participants (3)
-
Manolo Díaz
-
Raymond Yau
-
Takashi Iwai