Re: mm snapshot broken-out-2007-03-05-02-22.tar.gz uploaded
From: Michal Piotrowski
Date: Wed Mar 07 2007 - 17:24:47 EST
Hi Takashi,
Takashi Iwai napisaÅ(a):
> At Wed, 7 Mar 2007 11:50:24 -0800,
> Andrew Morton wrote:
>> On Wed, 7 Mar 2007 20:41:30 +0100 "Michal Piotrowski" <michal.k.k.piotrowski@xxxxxxxxx> wrote:
>>
>>>>> 831466f4ad2b5fe23dff77edbe6a7c244435e973 is first bad commit
>>>>> commit 831466f4ad2b5fe23dff77edbe6a7c244435e973
>>>>> Author: Randy Cushman <rcushman_linux@xxxxxxxxxxxxx>
>>>>> Date: Tue Dec 19 18:42:16 2006 +0100
>>>>>
>>>>> [ALSA] ac97 - fix microphone and line_in selection logic
>>>>>
>>>>> This patch fixes the Microphone and LINE_IN select logic for
>>>>> Analog Devices surround codecs with shared jacks. The existing
>>>>> code can never utilize the shared jacks for Microphone and LINE_IN
>>>>> due to the reversed jack selection logic. The patched code
>>>>> correctly selects the shared jack for input if the 'Channel Mode'
>>>>> selector does not specify that the jack is to be used for output.
>>>>> Specifically, in '2ch' mode the Center/LFE jack is used for
>>>>> microphone input and the Surround jack is used for LINE_IN,
>>>>> in '4ch' mode the Center/LFE jack is used for microphone input
>>>>> and the Surround jack is used for output, and in '6ch' mode
>>>>> both jacks are used for output.
>>>>>
>>>>> Signed-off-by: Randy Cushman <rcushman_linux@xxxxxxxxxxxxx>
>>>>> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
>>>>> Signed-off-by: Jaroslav Kysela <perex@xxxxxxx>
>>>>>
>>>> Is 2.6.21-rc3 similarly broken?
>>> Yes.
>>>
>> OK. Can you please confirm that applying the below fixes 2.6.21-rc3?
>>
>> If so, I'll queue it up for application in a week or two if there is no
>> progress on this.
>
> [sorry for the late interrupt - I'm just back from a vacation]
>
> Could you postpone reverting for a while?
> I guess this possible regression is limited only to a certain type of
> ac97 codec chip. The patch applied there was a fix for many codec
> chips.
>
> Which codec chip are you using specifically? Please check
> /proc/asound/card0/codec97#0/* file(s).
0-0/0: Analog Devices AD1985
PCI Subsys Vendor: 0x1043
PCI Subsys Device: 0x80f3
Revision : 0x03
Compat. Class : 0x00
Subsys. Vendor ID: 0xffff
Subsys. ID : 0xffff
Capabilities : -headphone out-
DAC resolution : 20-bit
ADC resolution : 16-bit
3D enhancement : No 3D Stereo Enhancement
Current setup
Mic gain : +20dB [+20dB]
POP path : pre 3D
Sim. stereo : off
3D enhancement : off
Loudness : off
Mono output : MIX
Mic select : Mic1
ADC/DAC loopback : off
Double rate slots: 10/11
Extended ID : codec=0 rev=0 AMAP LDAC SDAC CDAC DSA=0 SPDIF DRA VRA
Extended status : SPCV LDAC SDAC CDAC SPDIF=10/11 VRA
PCM front DAC : 48000Hz
PCM Surr DAC : 48000Hz
PCM LFE DAC : 48000Hz
PCM ADC : 48000Hz
SPDIF Control : Consumer PCM Category=0x2 Generation=1 Rate=48kHz
Gain Inverted Buffer delay Location
Master Out : 0.0 dBV - 16/fs Rear I/O Panel
AUX Out : 0.0 dBV - 16/fs Rear I/O Panel
Center/LFE Out : 0.0 dBV - 16/fs Rear I/O Panel
Mic 1 : 0.0 dBV - 16/fs Rear I/O Panel
Mic 2 : 0.0 dBV - 16/fs Rear I/O Panel
Line In : 0.0 dBV - 16/fs Rear I/O Panel
AD18XX configuration
Unchained : 0x1000,0x0000,0x0000
Chained : 0x0000,0x0000,0x0000
> Also, run "alsactl -f somefile store" and attach the generated file to
> see whether any mixer status inconsistency exists.
state.ICH5 {
control.1 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Master Surround Playback Switch'
value.0 true
value.1 true
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Master Surround Playback Volume'
value.0 28
value.1 28
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Center Playback Switch'
value true
}
control.4 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
iface MIXER
name 'Center Playback Volume'
value 28
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'LFE Playback Switch'
value false
}
control.6 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
iface MIXER
name 'LFE Playback Volume'
value 0
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Surround Playback Switch'
value.0 true
value.1 true
}
control.8 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Surround Playback Volume'
value.0 28
value.1 28
}
control.9 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Master Playback Switch'
value.0 true
value.1 true
}
control.10 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Master Playback Volume'
value.0 28
value.1 28
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Mono Playback Switch'
value true
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
iface MIXER
name 'Master Mono Playback Volume'
value 28
}
control.13 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'PC Speaker Playback Switch'
value false
}
control.14 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name 'PC Speaker Playback Volume'
value 0
}
control.15 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Phone Playback Switch'
value true
}
control.16 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
iface MIXER
name 'Phone Playback Volume'
value 29
}
control.17 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mic Playback Switch'
value true
}
control.18 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
iface MIXER
name 'Mic Playback Volume'
value 29
}
control.19 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mic Boost (+20dB)'
value true
}
control.20 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Line Playback Switch'
value.0 false
value.1 false
}
control.21 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Line Playback Volume'
value.0 0
value.1 0
}
control.22 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'CD Playback Switch'
value.0 true
value.1 true
}
control.23 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'CD Playback Volume'
value.0 28
value.1 28
}
control.24 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Aux Playback Switch'
value.0 true
value.1 true
}
control.25 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'Aux Playback Volume'
value.0 30
value.1 30
}
control.26 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'PCM Playback Switch'
value.0 true
value.1 true
}
control.27 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
iface MIXER
name 'PCM Playback Volume'
value.0 28
value.1 28
}
control.28 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 CD
value.1 CD
}
control.29 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
}
control.30 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
iface MIXER
name 'Capture Volume'
value.0 0
value.1 0
}
control.31 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mix
comment.item.1 Mic
iface MIXER
name 'Mono Output Select'
value Mix
}
control.32 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Mic1
comment.item.1 Mic2
iface MIXER
name 'Mic Select'
value Mic1
}
control.33 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.34 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value cf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
}
control.35 {
comment.access 'read write'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0082000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.36 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value false
}
control.37 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 3'
iface MIXER
name 'IEC958 Playback AC97-SPSA'
value 3
}
control.38 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 AC-Link
comment.item.1 'A/D Converter'
iface MIXER
name 'IEC958 Playback Source'
value AC-Link
}
control.39 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Stereo Mic'
value false
}
control.40 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Exchange Center/LFE'
value false
}
control.41 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Exchange Front/Surround'
value false
}
control.42 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'High Pass Filter Enable'
value true
}
control.43 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Spread Front to Surround and Center/LFE'
value true
}
control.44 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Off
comment.item.1 '6 -> 4'
comment.item.2 '6 -> 2'
iface MIXER
name Downmix
value Off
}
control.45 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 High-Z
comment.item.1 '3.7 V'
comment.item.2 '2.25 V'
comment.item.3 '0 V'
iface MIXER
name V_REFOUT
value High-Z
}
control.46 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Shared
comment.item.1 Independent
iface MIXER
name 'Surround Jack Mode'
value Shared
}
control.47 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '2ch'
comment.item.1 '4ch'
comment.item.2 '6ch'
iface MIXER
name 'Channel Mode'
value '6ch'
}
control.48 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Jack Sense'
value false
}
control.49 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Line Jack Sense'
value false
}
control.50 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'External Amplifier'
value true
}
}
>
>
> Thanks,
>
> Takashi
>
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group (PL)
(http://www.stardust.webpages.pl/ltg/)
LTG - Linux Testers Group (EN)
(http://www.stardust.webpages.pl/linux_testers_group_en/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/