Paul Davis wrote:
>
> but its still possible that if an interrupt occured at the wrong time,
> the delay between issuing the two start instructions could be
> sufficient to mess them up. its hard to work around this, though there
Trying to do this in user space is mad. It should be done in drivers.
Usually starting the chip after initialization is matter of one out(), so
the driver could have tight for loop with interrupts disabled where it
launches all the cards.
Then we could have something like this in userspace:
i = create_sync_line();
connect_sync_line(i, card1);
connect_sync_line(i, card2);
trigger_sync_line(i);
And in kernel space:
for (k = 0; k < i.size; k++)
{
out(start, i.addr);
}
Grr, this is badly starting to look like I'll have to write some RT-Linux
stuff again... I did something like that for DAQ cards a while ago.
- Jussi Laako
--
PGP key fingerprint: 161D 6FED 6A92 39E2 EB5B 39DD A4DE 63EB C216 1E4B
Available at PGP keyservers
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel