Messages in this thread | | | Date | Wed, 07 Mar 2007 23:22:36 +0100 | Subject | Re: mm snapshot broken-out-2007-03-05-02-22.tar.gz uploaded | From | Michal Piotrowski <> |
| |
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@gmail.com> wrote: >> >>>>> 831466f4ad2b5fe23dff77edbe6a7c244435e973 is first bad commit >>>>> commit 831466f4ad2b5fe23dff77edbe6a7c244435e973 >>>>> Author: Randy Cushman <rcushman_linux@earthlink.net> >>>>> 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@earthlink.net> >>>>> Signed-off-by: Takashi Iwai <tiwai@suse.de> >>>>> Signed-off-by: Jaroslav Kysela <perex@suse.cz> >>>>> >>>> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |