Re: [Openvortex-dev] Re: Re: [ALSA - driver 0001138]: errors when installing au8820 modules

Igor Kovalenko
2005-07-01T19:03:08Z

Raymond wrote:
> Igor Kovalenko wrote:
>> Raymond wrote:
>>> Igor Kovalenko wrote:
>>>
>>>> Well, I've not stated the problem clearly enough.
>>>> Once set, volume stays as it should. The problem is that
>>>> PCM volume is:
>>>> 1% - at lowest audible level
>>>> 25% - at about 50% audible level
>>>> 49% - at about max audible level
>>>> 51% - at lowest audible level
>>>> 75% - at about 50% audible level
>>>> 99% - at about max audible level
>>>> - that is what I described as low-high-low-high.
>>>> On the other hand, Master volume behaves as expected.
>>>
>>>
>>>
>>> What is the value of comment.range of 'PCM Playback Volume' in
>>> /etc/asound.state for your STAC9704 (au8820) ?
>>>
>>>
>>> According to 9704SPEC.pdf, it should be '0-31' ( 5 bits ) for STAC9704
>>> PCM Out volume.
>>>
>>
>>
>> control.21 {
>> comment.access 'read write'
>> comment.type INTEGER
>> comment.count 2
>> comment.range '0 - 63'
>> iface MIXER
>> name 'PCM Playback Volume'
>> value.0 21
>> value.1 21
>> }
>>
>> Do you mean AC97 is incorrectly reporting 0...63 range?
>>
>>
>
> Try the following patch to log the read/write of ac97 and post the
> system log using dmesg. (loading au8820 and alsactl restore)
>
>
> alsa-driver-1.0.9b/alsa-kernel/pci/au88x0/au88x0_core.c
> @@ -2520,6 +2515,7 @@
> vortex_t *card = (vortex_t *) codec->private_data;
> unsigned int lifeboat = 0;
>
> + printk(KERN_INFO "ac97 write %.2x : %.4x\n",addr,data);
> /* wait for transactions to clear */
> while (!(hwread(card->mmio, VORTEX_CODEC_CTRL) & 0x100)) {
> udelay(100);
> @@ -2567,6 +2563,7 @@
> }
> } while ((data & VORTEX_CODEC_ADDMASK) !=
> (addr << VORTEX_CODEC_ADDSHIFT));
> + printk(KERN_INFO "ac97 read %.2x : %.4x\n",addr,data &
> VORTEX_CODEC_DATMASK);
>
> /* return data. */
> return (u16) (data & VORTEX_CODEC_DATMASK);
>

Here is the dmesg excerpt:

Vortex: shutdown...<6>done.
ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 185
Vortex: init.... <6>done.
ac97 read 7c : 8384
ac97 read 7e : 7605
ac97 write 00 : 0000
ac97 read 00 : 6940
ac97 read 7c : 8384
ac97 read 7e : 7605
ac97 write 1c : 8a05
ac97 read 1c : 8a05
ac97 read 7c : 8384
ac97 read 7e : 7605
ac97 write 1c : 8a06
ac97 read 1c : 8a06
ac97 read 00 : 6940
ac97 read 28 : 0000
ac97 write 26 : 0000
ac97 write 00 : 0000
ac97 write 26 : 0000
ac97 write 20 : 0000
ac97 read 26 : 000f
ac97 read 02 : 8000
ac97 read 02 : 8000
ac97 write 02 : 0000
ac97 read 02 : 0000
ac97 write 02 : 8000
ac97 read 02 : 8000
ac97 write 02 : 8000
ac97 write 02 : a0a0
ac97 read 02 : 9f9f
ac97 write 02 : 9090
ac97 read 02 : 9090
ac97 read 02 : 9010
ac97 write 02 : 9f1f
ac97 read 06 : 9f00
ac97 read 06 : 8000
ac97 write 06 : 0000
ac97 read 06 : 0000
ac97 write 06 : 8000
ac97 read 06 : 8000
ac97 write 06 : 8000
ac97 write 06 : a0a0
ac97 read 06 : a09f
ac97 write 06 : 9090
ac97 read 06 : 9090
ac97 read 06 : 8010
ac97 write 06 : bf1f
ac97 read 0a : 0000
ac97 write 0a : 8000
ac97 read 0a : 8000
ac97 read 0a : 8000
ac97 write 0a : 801e
ac97 read 0c : 8008
ac97 read 0c : 8008
ac97 write 0c : 0008
ac97 read 0c : 0008
ac97 write 0c : 8008
ac97 read 0c : 8008
ac97 write 0c : 8008
ac97 write 0c : a0a0
ac97 read 0c : 8000
ac97 write 0c : 9090
ac97 read 0c : 8010
ac97 write 0c : 8181
ac97 read 0c : 8001
ac97 read 0c : 8001
ac97 write 0c : 801f
ac97 read 0e : 8008
ac97 read 0e : 8008
ac97 write 0e : 0008
ac97 read 0e : 0008
ac97 write 0e : 8008
ac97 read 0e : 8008
ac97 write 0e : 8008
ac97 write 0e : a0a0
ac97 read 0e : a0a0
ac97 read 0e : 8000
ac97 write 0e : bf3f
ac97 read 10 : a828
ac97 read 10 : 8808
ac97 write 10 : 0808
ac97 read 10 : 0808
ac97 write 10 : 8808
ac97 read 10 : 8808
ac97 write 10 : 8808
ac97 write 10 : a0a0
ac97 read 10 : a0a0
ac97 read 10 : 8000
ac97 write 10 : bf3f
ac97 read 12 : a828
ac97 read 12 : 8808
ac97 write 12 : 0808
ac97 read 12 : 0808
ac97 write 12 : 8808
ac97 read 12 : 8808
ac97 write 12 : 8808
ac97 write 12 : a0a0
ac97 read 12 : a0a0
ac97 read 12 : 8000
ac97 write 12 : bf3f
ac97 read 14 : a828
ac97 read 14 : 8808
ac97 write 14 : 0808
ac97 read 14 : 0808
ac97 write 14 : 8808
ac97 read 14 : 8808
ac97 write 14 : 8808
ac97 write 14 : a0a0
ac97 read 14 : a0a0
ac97 read 14 : 8000
ac97 write 14 : bf3f
ac97 read 16 : a828
ac97 read 16 : 8808
ac97 write 16 : 0808
ac97 read 16 : 0808
ac97 write 16 : 8808
ac97 read 16 : 8808
ac97 write 16 : 8808
ac97 write 16 : a0a0
ac97 read 16 : a0a0
ac97 read 16 : 8000
ac97 write 16 : bf3f
ac97 read 18 : 8808
ac97 write 18 : 0808
ac97 read 18 : 0808
ac97 write 18 : 8808
ac97 read 18 : 8808
ac97 write 18 : 8808
ac97 write 18 : a0a0
ac97 read 18 : a0a0
ac97 read 18 : 8000
ac97 write 18 : bf3f
ac97 read 1c : b030
ac97 write 1c : 3030
ac97 read 1c : 3030
ac97 write 1c : b030
ac97 read 1c : b030
ac97 write 1c : b030
ac97 write 1a : 0000
ac97 write 1c : 0000
ac97 read 20 : 0000
ac97 write 20 : 8000
ac97 read 20 : 8000
ac97 write 20 : 0000
ac97 read 20 : 0000
ac97 write 20 : 2000
ac97 read 20 : 2000
ac97 write 20 : 0000
ac97 read 20 : 0000
ac97 write 20 : 0200
ac97 read 20 : 0200
ac97 write 20 : 0000
ac97 read 20 : 0000
ac97 write 20 : 0100
ac97 read 20 : 0100
ac97 write 20 : 0000
ac97 read 22 : 0000
ac97 write 22 : 0707
ac97 read 22 : 0707
ac97 write 22 : 0000
ac97 read 26 : 000f
ac97 write 26 : 800f
ac97 read 26 : 800f
ac97 write 26 : 000f
ac97 read 2a : ffff
ac97 write 2a : ffff
ac97 write 02 : 1f1f
ac97 write 02 : 1313
ac97 write 12 : 3f3f
ac97 write 12 : 3434
ac97 write 18 : 3f3f
ac97 write 18 : 2828
ac97 write 20 : 0200
ac97 write 22 : 0400
ac97 write 22 : 0402
ac97 write 26 : 800f

--
Kind regards,
Igor V. Kovalenko

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click