* ALC658 rev 0 - a problem with Rear Right
@ 2005-03-05 15:35 Dan Aloni
2005-03-07 10:42 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-05 15:35 UTC (permalink / raw)
To: alsa-devel; +Cc: Jaroslav Kysela
Hello,
Somewhere between 2.6.8 and 2.6.11 my alc658 (rev 0) card stopped
outputing audio on the Rear Right speaker. Of course I checked the
cables and there's nothing wrong with the speaker.
I tried to play around with volume controls, but got nothing.
I test with 'speaker-test -Dplug:surround51 -c6 -s 4'.
I also tried to revert specific parts in sound/pci/ac97 and got
nothing.
Assuming that I'm a capable kernel hacker, do you have any advice
about how to debug this?
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: ALC658 rev 0 - a problem with Rear Right
2005-03-05 15:35 ALC658 rev 0 - a problem with Rear Right Dan Aloni
@ 2005-03-07 10:42 ` Dan Aloni
2005-03-07 12:28 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 10:42 UTC (permalink / raw)
To: alsa-devel; +Cc: Jaroslav Kysela
On Sat, Mar 05, 2005 at 05:35:03PM +0200, Dan Aloni wrote:
> Hello,
>
> Somewhere between 2.6.8 and 2.6.11 my alc658 (rev 0) card stopped
> outputing audio on the Rear Right speaker. Of course I checked the
> cables and there's nothing wrong with the speaker.
>
[..]
> Assuming that I'm a capable kernel hacker, do you have any advice
> about how to debug this?
I've isolated the problem to the difference between these two
versions:
alsa-driver-1.0.8rc1
alsa-driver-1.0.8rc2
By experimentation the changes between rc1 and rc2 have caused
the problem.
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 10:42 ` Dan Aloni
@ 2005-03-07 12:28 ` Dan Aloni
2005-03-07 13:10 ` Clemens Ladisch
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 12:28 UTC (permalink / raw)
To: alsa-devel; +Cc: Takashi Iwai, Jaroslav Kysela
On Mon, Mar 07, 2005 at 12:42:14PM +0200, Dan Aloni wrote:
> On Sat, Mar 05, 2005 at 05:35:03PM +0200, Dan Aloni wrote:
> > Hello,
> >
> > Somewhere between 2.6.8 and 2.6.11 my alc658 (rev 0) card stopped
> > outputing audio on the Rear Right speaker. Of course I checked the
> > cables and there's nothing wrong with the speaker.
> >
> [..]
> > Assuming that I'm a capable kernel hacker, do you have any advice
> > about how to debug this?
>
> I've isolated the problem to the difference between these two
> versions:
>
> alsa-driver-1.0.8rc1
> alsa-driver-1.0.8rc2
>
> By experimentation the changes between rc1 and rc2 have caused
> the problem.
After a more few experiments, I was able to further isolate the
changes that caused the problem.
The problem was introduced in the following changeset, which
was supposed to cleanup things but accidently broke something.
"[ALSA] Clean up and fix stereo mutes" :
http://linus.bkbits.net:8080/linux-2.5/cset@41da4592A-ipuvcg54DHv3jB__kcaA?nav=index.html|src/|src/sound|src/sound/pci|src/sound/pci/ac97|related/sound/pci/ac97/ac97_codec.c
If you need assistance, please tell me.
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 12:28 ` Dan Aloni
@ 2005-03-07 13:10 ` Clemens Ladisch
2005-03-07 15:39 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Clemens Ladisch @ 2005-03-07 13:10 UTC (permalink / raw)
To: Dan Aloni; +Cc: alsa-devel
Dan Aloni wrote:
> The problem was introduced in the following changeset, which
> was supposed to cleanup things but accidently broke something.
>
> "[ALSA] Clean up and fix stereo mutes" :
Most AC'97 codecs have one mute bit for both channels, but some can
have one for each channel (that's called "stereo mute").
It seems the new driver enables the stereo mute bits, but then forgets
to unmute the second channel.
Does anything happen if you toggle both mute bits in alsamixer?
Regards,
Clemens
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 13:10 ` Clemens Ladisch
@ 2005-03-07 15:39 ` Dan Aloni
2005-03-07 16:33 ` Takashi Iwai
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 15:39 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: alsa-devel
On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> Dan Aloni wrote:
> > The problem was introduced in the following changeset, which
> > was supposed to cleanup things but accidently broke something.
> >
> > "[ALSA] Clean up and fix stereo mutes" :
>
> Most AC'97 codecs have one mute bit for both channels, but some can
> have one for each channel (that's called "stereo mute").
>
> It seems the new driver enables the stereo mute bits, but then forgets
> to unmute the second channel.
>
> Does anything happen if you toggle both mute bits in alsamixer?
Using alsamixer I am unable to mute any channel by itself - it
always mutes or unmutes boths channels at the same time (I tried
any possible combination of m M, < or >). However if I revert the
changeset I am able to control each channel alone using < or > and
there's no problem.
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 15:39 ` Dan Aloni
@ 2005-03-07 16:33 ` Takashi Iwai
2005-03-07 16:57 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Takashi Iwai @ 2005-03-07 16:33 UTC (permalink / raw)
To: Dan Aloni; +Cc: Clemens Ladisch, alsa-devel
At Mon, 7 Mar 2005 17:39:21 +0200,
Dan Aloni wrote:
>
> On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > Dan Aloni wrote:
> > > The problem was introduced in the following changeset, which
> > > was supposed to cleanup things but accidently broke something.
> > >
> > > "[ALSA] Clean up and fix stereo mutes" :
> >
> > Most AC'97 codecs have one mute bit for both channels, but some can
> > have one for each channel (that's called "stereo mute").
> >
> > It seems the new driver enables the stereo mute bits, but then forgets
> > to unmute the second channel.
> >
> > Does anything happen if you toggle both mute bits in alsamixer?
>
> Using alsamixer I am unable to mute any channel by itself - it
> always mutes or unmutes boths channels at the same time (I tried
> any possible combination of m M, < or >). However if I revert the
> changeset I am able to control each channel alone using < or > and
> there's no problem.
Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
the stereo mutes (at least ALSA code doesn't enable it).
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 16:33 ` Takashi Iwai
@ 2005-03-07 16:57 ` Dan Aloni
2005-03-07 17:13 ` Takashi Iwai
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 16:57 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Clemens Ladisch, alsa-devel
On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> At Mon, 7 Mar 2005 17:39:21 +0200,
> Dan Aloni wrote:
> >
> > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > Dan Aloni wrote:
> > > > The problem was introduced in the following changeset, which
> > > > was supposed to cleanup things but accidently broke something.
> > > >
> > > > "[ALSA] Clean up and fix stereo mutes" :
> > >
> > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > have one for each channel (that's called "stereo mute").
> > >
> > > It seems the new driver enables the stereo mute bits, but then forgets
> > > to unmute the second channel.
> > >
> > > Does anything happen if you toggle both mute bits in alsamixer?
> >
> > Using alsamixer I am unable to mute any channel by itself - it
> > always mutes or unmutes boths channels at the same time (I tried
> > any possible combination of m M, < or >). However if I revert the
> > changeset I am able to control each channel alone using < or > and
> > there's no problem.
>
> Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> the stereo mutes (at least ALSA code doesn't enable it).
Unless the driver misidentifies the chipset, this is ALC658.
More info:
cat /proc/asound/cards
0 [ICH5 ]: ICH4 - Intel ICH5
Intel ICH5 with ALC658 at 0xfc101000, irq 201
cat /proc/asound/card0/intel8x0
Intel8x0
Global control : 0xc0200002
Global status : 0x10700000
SDM : 0x0000002a
AC'97 codecs ready : tertiary
AC'97 codecs SDIN : 2 0 0
cat /proc/asound/pcm
00-00: Intel ICH : Intel ICH5 : playback 1 : capture 1
00-01: Intel ICH - MIC ADC : Intel ICH5 - MIC ADC : capture 1
00-02: Intel ICH - MIC2 ADC : Intel ICH5 - MIC2 ADC : capture 1
00-03: Intel ICH - ADC2 : Intel ICH5 - ADC2 : capture 1
00-04: Intel ICH - IEC958 : Intel ICH5 - IEC958 : playback 1
cat /proc/asound/card0/codec97\#0/ac97\#0-0
0-0/0: Realtek ALC658 rev 0
Revision : 0x00
Compat. Class : 0x00
Subsys. Vendor ID: 0x8086
Subsys. ID : 0x1234
Capabilities :
DAC resolution : 20-bit
ADC resolution : 18-bit
3D enhancement : No 3D Stereo Enhancement
Current setup
Mic gain : +0dB [+0dB]
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: 7/8
Extended ID : codec=0 rev=2 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 Copyright Category=0x22 Generation=1 Rate=48kHz
cat /proc/asound/card0/codec97\#0/ac97\#0-0+regs
0:00 = 0180
0:02 = 1010
0:04 = 0000
0:06 = 0000
0:08 = 0000
0:0a = 801e
0:0c = 801f
0:0e = 831f
0:10 = 9f1f
0:12 = 9f1f
0:14 = 0000
0:16 = 9f1f
0:18 = 1313
0:1a = 0000
0:1c = 0000
0:1e = 8000
0:20 = 0400
0:22 = 0000
0:24 = 0000
0:26 = 000f
0:28 = 09c7
0:2a = 05f1
0:2c = bb80
0:2e = bb80
0:30 = bb80
0:32 = bb80
0:34 = bb80
0:36 = 110e
0:38 = 1212
0:3a = 2a20
0:3c = 0000
0:3e = 0000
0:40 = 0000
0:42 = 0000
0:44 = 0000
0:46 = 0000
0:48 = 0000
0:4a = 0000
0:4c = 0000
0:4e = 0000
0:50 = 0000
0:52 = 0000
0:54 = 0000
0:56 = 0000
0:58 = 0000
0:5a = 0000
0:5c = 0000
0:5e = 0000
0:60 = 0000
0:62 = 0000
0:64 = 0808
0:66 = 0808
0:68 = 0aea
0:6a = 8600
0:6c = 3601
0:6e = 0002
0:70 = 0008
0:72 = 0000
0:74 = 0105
0:76 = 0000
0:78 = 0007
0:7a = 50b0
0:7c = 414c
0:7e = 4780
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 16:57 ` Dan Aloni
@ 2005-03-07 17:13 ` Takashi Iwai
2005-03-07 18:24 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Takashi Iwai @ 2005-03-07 17:13 UTC (permalink / raw)
To: Dan Aloni; +Cc: Clemens Ladisch, alsa-devel
At Mon, 7 Mar 2005 18:57:02 +0200,
Dan Aloni wrote:
>
> On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> > At Mon, 7 Mar 2005 17:39:21 +0200,
> > Dan Aloni wrote:
> > >
> > > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > > Dan Aloni wrote:
> > > > > The problem was introduced in the following changeset, which
> > > > > was supposed to cleanup things but accidently broke something.
> > > > >
> > > > > "[ALSA] Clean up and fix stereo mutes" :
> > > >
> > > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > > have one for each channel (that's called "stereo mute").
> > > >
> > > > It seems the new driver enables the stereo mute bits, but then forgets
> > > > to unmute the second channel.
> > > >
> > > > Does anything happen if you toggle both mute bits in alsamixer?
> > >
> > > Using alsamixer I am unable to mute any channel by itself - it
> > > always mutes or unmutes boths channels at the same time (I tried
> > > any possible combination of m M, < or >). However if I revert the
> > > changeset I am able to control each channel alone using < or > and
> > > there's no problem.
> >
> > Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> > the stereo mutes (at least ALSA code doesn't enable it).
>
> Unless the driver misidentifies the chipset, this is ALC658.
Oh yes, indeed. It's strange that the older version did have the
stereo mute controls.
Could you compare the contents of
/proc/asound/card0/codec97#0/ac97#0-0+regs file between the older
("working") and the latest versions?
If any difference is found, try to change the value by writing via
proc interface, e.g.
echo 02 8080 > /proc/asound/card0/codec97#0/ac97#0-0+regs
(this feature is enabled only when you compile with CONFIG_SND_DEBUG)
thanks,
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 17:13 ` Takashi Iwai
@ 2005-03-07 18:24 ` Dan Aloni
2005-03-07 18:28 ` Takashi Iwai
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 18:24 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Clemens Ladisch, alsa-devel
On Mon, Mar 07, 2005 at 06:13:44PM +0100, Takashi Iwai wrote:
> At Mon, 7 Mar 2005 18:57:02 +0200,
> Dan Aloni wrote:
> >
> > On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> > > At Mon, 7 Mar 2005 17:39:21 +0200,
> > > Dan Aloni wrote:
> > > >
> > > > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > > > Dan Aloni wrote:
> > > > > > The problem was introduced in the following changeset, which
> > > > > > was supposed to cleanup things but accidently broke something.
> > > > > >
> > > > > > "[ALSA] Clean up and fix stereo mutes" :
> > > > >
> > > > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > > > have one for each channel (that's called "stereo mute").
> > > > >
> > > > > It seems the new driver enables the stereo mute bits, but then forgets
> > > > > to unmute the second channel.
> > > > >
> > > > > Does anything happen if you toggle both mute bits in alsamixer?
> > > >
> > > > Using alsamixer I am unable to mute any channel by itself - it
> > > > always mutes or unmutes boths channels at the same time (I tried
> > > > any possible combination of m M, < or >). However if I revert the
> > > > changeset I am able to control each channel alone using < or > and
> > > > there's no problem.
> > >
> > > Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> > > the stereo mutes (at least ALSA code doesn't enable it).
> >
> > Unless the driver misidentifies the chipset, this is ALC658.
>
> Oh yes, indeed. It's strange that the older version did have the
> stereo mute controls.
>
> Could you compare the contents of
> /proc/asound/card0/codec97#0/ac97#0-0+regs file between the older
> ("working") and the latest versions?
I compared and saw no changes in the registers between the latest version
and my version with the reverted changeset.
> If any difference is found, try to change the value by writing via
> proc interface, e.g.
>
> echo 02 8080 > /proc/asound/card0/codec97#0/ac97#0-0+regs
>
> (this feature is enabled only when you compile with CONFIG_SND_DEBUG)
This apparently has no effect - still no sound from the speaker.
Plus, if I do 'cat /proc/asound/card0/codec97#0/ac97#0-0+regs', then
0:02 still shows 8000 despite the command above.
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 18:24 ` Dan Aloni
@ 2005-03-07 18:28 ` Takashi Iwai
2005-03-07 18:55 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Takashi Iwai @ 2005-03-07 18:28 UTC (permalink / raw)
To: Dan Aloni; +Cc: Clemens Ladisch, alsa-devel
At Mon, 7 Mar 2005 20:24:14 +0200,
Dan Aloni wrote:
>
> On Mon, Mar 07, 2005 at 06:13:44PM +0100, Takashi Iwai wrote:
> > At Mon, 7 Mar 2005 18:57:02 +0200,
> > Dan Aloni wrote:
> > >
> > > On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> > > > At Mon, 7 Mar 2005 17:39:21 +0200,
> > > > Dan Aloni wrote:
> > > > >
> > > > > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > > > > Dan Aloni wrote:
> > > > > > > The problem was introduced in the following changeset, which
> > > > > > > was supposed to cleanup things but accidently broke something.
> > > > > > >
> > > > > > > "[ALSA] Clean up and fix stereo mutes" :
> > > > > >
> > > > > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > > > > have one for each channel (that's called "stereo mute").
> > > > > >
> > > > > > It seems the new driver enables the stereo mute bits, but then forgets
> > > > > > to unmute the second channel.
> > > > > >
> > > > > > Does anything happen if you toggle both mute bits in alsamixer?
> > > > >
> > > > > Using alsamixer I am unable to mute any channel by itself - it
> > > > > always mutes or unmutes boths channels at the same time (I tried
> > > > > any possible combination of m M, < or >). However if I revert the
> > > > > changeset I am able to control each channel alone using < or > and
> > > > > there's no problem.
> > > >
> > > > Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> > > > the stereo mutes (at least ALSA code doesn't enable it).
> > >
> > > Unless the driver misidentifies the chipset, this is ALC658.
> >
> > Oh yes, indeed. It's strange that the older version did have the
> > stereo mute controls.
> >
> > Could you compare the contents of
> > /proc/asound/card0/codec97#0/ac97#0-0+regs file between the older
> > ("working") and the latest versions?
>
> I compared and saw no changes in the registers between the latest version
> and my version with the reverted changeset.
Hmm, interesting.
Just to be sure (I'm back from the travel shortly ago, so might be
missing something): the problem persists only on the surround right
channel?
And you could mute on/off of "Surround" left/right channels via
alsamixer independently in the older version?
> > If any difference is found, try to change the value by writing via
> > proc interface, e.g.
> >
> > echo 02 8080 > /proc/asound/card0/codec97#0/ac97#0-0+regs
> >
> > (this feature is enabled only when you compile with CONFIG_SND_DEBUG)
>
> This apparently has no effect - still no sound from the speaker.
>
> Plus, if I do 'cat /proc/asound/card0/codec97#0/ac97#0-0+regs', then
> 0:02 still shows 8000 despite the command above.
Of course it shouldn't change. The master register doesn't support
stereo mute bits indeed (according to the datasheet). The above is
just an example to show how to write a register value...
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 18:28 ` Takashi Iwai
@ 2005-03-07 18:55 ` Dan Aloni
2005-03-07 19:13 ` Takashi Iwai
0 siblings, 1 reply; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 18:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Clemens Ladisch, alsa-devel
On Mon, Mar 07, 2005 at 07:28:28PM +0100, Takashi Iwai wrote:
> At Mon, 7 Mar 2005 20:24:14 +0200,
> Dan Aloni wrote:
> >
> > On Mon, Mar 07, 2005 at 06:13:44PM +0100, Takashi Iwai wrote:
> > > At Mon, 7 Mar 2005 18:57:02 +0200,
> > > Dan Aloni wrote:
> > > >
> > > > On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> > > > > At Mon, 7 Mar 2005 17:39:21 +0200,
> > > > > Dan Aloni wrote:
> > > > > >
> > > > > > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > > > > > Dan Aloni wrote:
> > > > > > > > The problem was introduced in the following changeset, which
> > > > > > > > was supposed to cleanup things but accidently broke something.
> > > > > > > >
> > > > > > > > "[ALSA] Clean up and fix stereo mutes" :
> > > > > > >
> > > > > > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > > > > > have one for each channel (that's called "stereo mute").
> > > > > > >
> > > > > > > It seems the new driver enables the stereo mute bits, but then forgets
> > > > > > > to unmute the second channel.
> > > > > > >
> > > > > > > Does anything happen if you toggle both mute bits in alsamixer?
> > > > > >
> > > > > > Using alsamixer I am unable to mute any channel by itself - it
> > > > > > always mutes or unmutes boths channels at the same time (I tried
> > > > > > any possible combination of m M, < or >). However if I revert the
> > > > > > changeset I am able to control each channel alone using < or > and
> > > > > > there's no problem.
> > > > >
> > > > > Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> > > > > the stereo mutes (at least ALSA code doesn't enable it).
> > > >
> > > > Unless the driver misidentifies the chipset, this is ALC658.
> > >
> > > Oh yes, indeed. It's strange that the older version did have the
> > > stereo mute controls.
> > >
> > > Could you compare the contents of
> > > /proc/asound/card0/codec97#0/ac97#0-0+regs file between the older
> > > ("working") and the latest versions?
> >
> > I compared and saw no changes in the registers between the latest version
> > and my version with the reverted changeset.
>
> Hmm, interesting.
>
> Just to be sure (I'm back from the travel shortly ago, so might be
> missing something): the problem persists only on the surround right
> channel?
Yes, only that channel.
> And you could mute on/off of "Surround" left/right channels via
> alsamixer independently in the older version?
I can only mute both at the same time with the latest version, but I
can mute each channel alone with the working version.
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 18:55 ` Dan Aloni
@ 2005-03-07 19:13 ` Takashi Iwai
2005-03-07 20:21 ` Dan Aloni
0 siblings, 1 reply; 13+ messages in thread
From: Takashi Iwai @ 2005-03-07 19:13 UTC (permalink / raw)
To: Dan Aloni; +Cc: Clemens Ladisch, alsa-devel
[-- Attachment #1: Type: text/plain, Size: 2906 bytes --]
At Mon, 7 Mar 2005 20:55:14 +0200,
Dan Aloni wrote:
>
> On Mon, Mar 07, 2005 at 07:28:28PM +0100, Takashi Iwai wrote:
> > At Mon, 7 Mar 2005 20:24:14 +0200,
> > Dan Aloni wrote:
> > >
> > > On Mon, Mar 07, 2005 at 06:13:44PM +0100, Takashi Iwai wrote:
> > > > At Mon, 7 Mar 2005 18:57:02 +0200,
> > > > Dan Aloni wrote:
> > > > >
> > > > > On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> > > > > > At Mon, 7 Mar 2005 17:39:21 +0200,
> > > > > > Dan Aloni wrote:
> > > > > > >
> > > > > > > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > > > > > > Dan Aloni wrote:
> > > > > > > > > The problem was introduced in the following changeset, which
> > > > > > > > > was supposed to cleanup things but accidently broke something.
> > > > > > > > >
> > > > > > > > > "[ALSA] Clean up and fix stereo mutes" :
> > > > > > > >
> > > > > > > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > > > > > > have one for each channel (that's called "stereo mute").
> > > > > > > >
> > > > > > > > It seems the new driver enables the stereo mute bits, but then forgets
> > > > > > > > to unmute the second channel.
> > > > > > > >
> > > > > > > > Does anything happen if you toggle both mute bits in alsamixer?
> > > > > > >
> > > > > > > Using alsamixer I am unable to mute any channel by itself - it
> > > > > > > always mutes or unmutes boths channels at the same time (I tried
> > > > > > > any possible combination of m M, < or >). However if I revert the
> > > > > > > changeset I am able to control each channel alone using < or > and
> > > > > > > there's no problem.
> > > > > >
> > > > > > Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> > > > > > the stereo mutes (at least ALSA code doesn't enable it).
> > > > >
> > > > > Unless the driver misidentifies the chipset, this is ALC658.
> > > >
> > > > Oh yes, indeed. It's strange that the older version did have the
> > > > stereo mute controls.
> > > >
> > > > Could you compare the contents of
> > > > /proc/asound/card0/codec97#0/ac97#0-0+regs file between the older
> > > > ("working") and the latest versions?
> > >
> > > I compared and saw no changes in the registers between the latest version
> > > and my version with the reverted changeset.
> >
> > Hmm, interesting.
> >
> > Just to be sure (I'm back from the travel shortly ago, so might be
> > missing something): the problem persists only on the surround right
> > channel?
>
> Yes, only that channel.
>
> > And you could mute on/off of "Surround" left/right channels via
> > alsamixer independently in the older version?
>
> I can only mute both at the same time with the latest version, but I
> can mute each channel alone with the working version.
OK. Then please try the attached patch. This will enable the stereo
mutes on the surround volume control again.
thanks,
Takashi
[-- Attachment #2: Type: text/plain, Size: 2319 bytes --]
Index: alsa-kernel/pci/ac97/ac97_codec.c
===================================================================
RCS file: /home/iwai/cvs/alsa/alsa-kernel/pci/ac97/ac97_codec.c,v
retrieving revision 1.165
diff -u -r1.165 ac97_codec.c
--- alsa-kernel/pci/ac97/ac97_codec.c 16 Feb 2005 18:25:30 -0000 1.165
+++ alsa-kernel/pci/ac97/ac97_codec.c 7 Mar 2005 19:11:27 -0000
@@ -1184,7 +1184,7 @@
/*
* create mute switch(es) for normal stereo controls
*/
-static int snd_ac97_cmute_new(snd_card_t *card, char *name, int reg, ac97_t *ac97)
+static int snd_ac97_cmute_new_stereo(snd_card_t *card, char *name, int reg, int check_stereo, ac97_t *ac97)
{
snd_kcontrol_t *kctl;
int err;
@@ -1195,7 +1195,7 @@
mute_mask = 0x8000;
val = snd_ac97_read(ac97, reg);
- if (ac97->flags & AC97_STEREO_MUTES) {
+ if (check_stereo || (ac97->flags & AC97_STEREO_MUTES)) {
/* check whether both mute bits work */
val1 = val | 0x8080;
snd_ac97_write(ac97, reg, val1);
@@ -1253,7 +1253,7 @@
/*
* create a mute-switch and a volume for normal stereo/mono controls
*/
-static int snd_ac97_cmix_new(snd_card_t *card, const char *pfx, int reg, ac97_t *ac97)
+static int snd_ac97_cmix_new_stereo(snd_card_t *card, const char *pfx, int reg, int check_stereo, ac97_t *ac97)
{
int err;
char name[44];
@@ -1264,7 +1264,7 @@
if (snd_ac97_try_bit(ac97, reg, 15)) {
sprintf(name, "%s Switch", pfx);
- if ((err = snd_ac97_cmute_new(card, name, reg, ac97)) < 0)
+ if ((err = snd_ac97_cmute_new_stereo(card, name, reg, check_stereo, ac97)) < 0)
return err;
}
check_volume_resolution(ac97, reg, &lo_max, &hi_max);
@@ -1276,6 +1276,8 @@
return 0;
}
+#define snd_ac97_cmix_new(card, pfx, reg, ac97) snd_ac97_cmix_new_stereo(card, pfx, reg, 0, ac97)
+#define snd_ac97_cmute_new(card, name, reg, ac97) snd_ac97_cmute_new_stereo(card, name, reg, 0, ac97)
static unsigned int snd_ac97_determine_spdif_rates(ac97_t *ac97);
@@ -1326,7 +1328,8 @@
/* build surround controls */
if (snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER)) {
- if ((err = snd_ac97_cmix_new(card, "Surround Playback", AC97_SURROUND_MASTER, ac97)) < 0)
+ /* Surround Master (0x38) is with stereo mutes */
+ if ((err = snd_ac97_cmix_new_stereo(card, "Surround Playback", AC97_SURROUND_MASTER, 1, ac97)) < 0)
return err;
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Re: ALC658 rev 0 - a problem with Rear Right
2005-03-07 19:13 ` Takashi Iwai
@ 2005-03-07 20:21 ` Dan Aloni
0 siblings, 0 replies; 13+ messages in thread
From: Dan Aloni @ 2005-03-07 20:21 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Clemens Ladisch, alsa-devel
On Mon, Mar 07, 2005 at 08:13:16PM +0100, Takashi Iwai wrote:
> At Mon, 7 Mar 2005 20:55:14 +0200,
> Dan Aloni wrote:
> >
> > On Mon, Mar 07, 2005 at 07:28:28PM +0100, Takashi Iwai wrote:
> > > At Mon, 7 Mar 2005 20:24:14 +0200,
> > > Dan Aloni wrote:
> > > >
> > > > On Mon, Mar 07, 2005 at 06:13:44PM +0100, Takashi Iwai wrote:
> > > > > At Mon, 7 Mar 2005 18:57:02 +0200,
> > > > > Dan Aloni wrote:
> > > > > >
> > > > > > On Mon, Mar 07, 2005 at 05:33:56PM +0100, Takashi Iwai wrote:
> > > > > > > At Mon, 7 Mar 2005 17:39:21 +0200,
> > > > > > > Dan Aloni wrote:
> > > > > > > >
> > > > > > > > On Mon, Mar 07, 2005 at 02:10:14PM +0100, Clemens Ladisch wrote:
> > > > > > > > > Dan Aloni wrote:
> > > > > > > > > > The problem was introduced in the following changeset, which
> > > > > > > > > > was supposed to cleanup things but accidently broke something.
> > > > > > > > > >
> > > > > > > > > > "[ALSA] Clean up and fix stereo mutes" :
> > > > > > > > >
> > > > > > > > > Most AC'97 codecs have one mute bit for both channels, but some can
> > > > > > > > > have one for each channel (that's called "stereo mute").
> > > > > > > > >
> > > > > > > > > It seems the new driver enables the stereo mute bits, but then forgets
> > > > > > > > > to unmute the second channel.
> > > > > > > > >
> > > > > > > > > Does anything happen if you toggle both mute bits in alsamixer?
> > > > > > > >
> > > > > > > > Using alsamixer I am unable to mute any channel by itself - it
> > > > > > > > always mutes or unmutes boths channels at the same time (I tried
> > > > > > > > any possible combination of m M, < or >). However if I revert the
> > > > > > > > changeset I am able to control each channel alone using < or > and
> > > > > > > > there's no problem.
> > > > > > >
> > > > > > > Hmm, are you sure that it's ALC658? AFAIK, the codec doesn't support
> > > > > > > the stereo mutes (at least ALSA code doesn't enable it).
> > > > > >
> > > > > > Unless the driver misidentifies the chipset, this is ALC658.
> > > > >
> > > > > Oh yes, indeed. It's strange that the older version did have the
> > > > > stereo mute controls.
> > > > >
> > > > > Could you compare the contents of
> > > > > /proc/asound/card0/codec97#0/ac97#0-0+regs file between the older
> > > > > ("working") and the latest versions?
> > > >
> > > > I compared and saw no changes in the registers between the latest version
> > > > and my version with the reverted changeset.
> > >
> > > Hmm, interesting.
> > >
> > > Just to be sure (I'm back from the travel shortly ago, so might be
> > > missing something): the problem persists only on the surround right
> > > channel?
> >
> > Yes, only that channel.
> >
> > > And you could mute on/off of "Surround" left/right channels via
> > > alsamixer independently in the older version?
> >
> > I can only mute both at the same time with the latest version, but I
> > can mute each channel alone with the working version.
>[..]
>
> OK. Then please try the attached patch. This will enable the stereo
> mutes on the surround volume control again.
>
Works. Thanks,
--
Dan Aloni
da-x@colinux.org
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2005-03-07 20:21 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-05 15:35 ALC658 rev 0 - a problem with Rear Right Dan Aloni
2005-03-07 10:42 ` Dan Aloni
2005-03-07 12:28 ` Dan Aloni
2005-03-07 13:10 ` Clemens Ladisch
2005-03-07 15:39 ` Dan Aloni
2005-03-07 16:33 ` Takashi Iwai
2005-03-07 16:57 ` Dan Aloni
2005-03-07 17:13 ` Takashi Iwai
2005-03-07 18:24 ` Dan Aloni
2005-03-07 18:28 ` Takashi Iwai
2005-03-07 18:55 ` Dan Aloni
2005-03-07 19:13 ` Takashi Iwai
2005-03-07 20:21 ` Dan Aloni
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.