[alsa-devel] snd-xfi programming, some guidelines.

James Courtier-Dutton James at superbug.co.uk
Sun Oct 19 11:20:51 CEST 2008


I have not had time to review the current work on the snd-xfi, but I
have provided input if I think it would be useful.

I have one more piece of information that might help.
The xfi has two ways to talk to all the registers.
1) ioports using ioport pointer offset write method as familiar with
older emu10k1 cards.
2) iomem using simple memory writes.

The same registers on the xfi card can be accessed via both methods.
There is some guidance as to when to use each. I.e. Do not use iomem for
There are some registers that take longer to write to than others.
Unfortunately, the datasheet does not tell me which these slow are, so
trial and error might be required.
Now, if one uses the iomem to write to these registers that take a long
time to update, it ties up the entire PCI bus for the entire duration,
so this is not a good idea. So, the recommendation is that one should
use ioports to access these slow registers as this will not block the
PCI bus.

I suggest putting a timer round each ioport and iomem write to find the
slow ones.

Kind Regards


More information about the Alsa-devel mailing list