Re: [linux-audio-user] snd-hdsp+cardbus+M6807 notebook=distortion -- FIXED!

Russell King
2004-04-12T07:28:13Z

On Sun, Apr 11, 2004 at 09:39:43PM -0400, Ivica Ico Bukvic wrote:
> Hi all! Great news! I managed to fix the issue in Linux. As I suspected it
> was the same problem like in Windows after suspend as the distortion was
> similar.

Don't think the problem is 100% solved just yet - there's still work
to do.

You haven't said which kernel version you're using to test this out
on; 2.6.5 contains some fixes for the CB1410 in these areas, and it
would be useful to know if these are working.

So, as per my previous mail and at risk of sounding like a stuck
record^wCD, which kernel version are you using for this test?

Have you also tried only changing a limited subset of these
registers? The reason this is important is that just immitating
the working scenario out right doesn't really tell us very much.

You should be able to tweak these while the card is playing, so
you could try setting them all to the "working" state, play back
the audio, and then try undoing each change individually.

> 2) PREFERRED: hdsp driver needs to adjust the cardbus controller latency

No. Drivers should not fiddle with other parts of the system they
don't own, and the HDSP driver does not own the cardbus controller.
I suspect that the CB1410 quirk needs to force the latency timer at
startup.

> 3) FOR FURTHER INVESTIGATION: Does linux hdsp driver force the f0 value upon
> the 0x81 register or is it that in Linux one simply cannot select d0 value
> for whatever reason

I suspect it may be caused by using a byte access to a longword-sized
register. 0x81 is supposed to be accessed via:

setpci -s a.0 0x80.l

which of course means its bits 8 to 15.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core