At Tue, 29 Apr 2008 15:25:57 +0200, Zoilo Gomez wrote: > > >> This is consistent with the apparent introduction of this bug in kernel > >> 2.6.19 (includes alsa-driver version 1.0.12rc1): no such problem > >> occurred until 2.6.18, but all kernels since 2.6.19 do suffer from this > >> problem. The line of code above first shows up in linux-2.6.19. > >> > >> Unfortunately, since I do not have a datasheet for the VT1617A chip set, > >> I cannot verify the exact semantics, or suggest an improvement. > >> > >> Can anyone with a datasheet please suggest a proper patch to this line > >> of code? > >> > > > > The register 0x5c is the VIA specific one. I have a VT1617 (without > > A) datasheet, and it suggests that the bit corresponds to the > > "headphone amplifier temperature sensing control". And setting this > > bit means to _disable_ the temperature sensing control. This sounds > > rather the correct to set. > > > > However, I don't know whether any difference exists betweeen VIA1617 > > and 1617A although the codec id of both are identical. > > > > Andrey, any comments about your patch? > > > > > > In anyway, it'd be helpful if we can know which ac97 registers work > > and wich not. Please take /proc/asound/card0/codec97#*/ac97#*-regs > > file in both working and non-working cases to compare. Especially, > > the registers 0x5a and 0x5c look interesting. > > > > Code containing "snd_ac97_write_cache(a97, 0x5c, 0x20)": > 0x5a = 8300 > 0x5c = 0000 > > Code with "snd_ac97_write_cache(a97, 0x5c, 0x20)" commented out: > 0x5a = 8301 > 0x5c = 0020 > > Quite a surprise to me, I would have expected exactly the opposite .....!? I would, too. Could you double-check, e.g. by adding a printk? Also, any difference in other registers? The reg 0x5a bit 0 is a reserved bits, so no further information about it on VT1617 datasheet. > Can you explain this? /proc/asound/card0/codec97#0/ac97#0-0+regs does > dump current registers, correct? Or is it a toggling bit? It reads the current register values. So, it's the value right now. And snd_ac97_write_cache() should overwrite, not toggle. The behavior is really puzzling. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel