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);
_______________________________________________
Openvortex-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/openvortex-dev