I can't fully agree with this. Let's look again at my example with 3
subdevises (when two instances of handle_syncstart are executed in
parallel):

SYNC_PREPARE for sub-device 1 (1st process)
SYNC_PREPARE for sub-device 2 (1st process)
SYNC_PREPARE for sub-device 3 (2nd process)
...

The device driver gets three subsequent SYNC_PREPARE calls, how should it
guess for example that it should start simulateneoulsy subdevices 1 and 2
and then device 3, but not all 3 subdevices at the same time? Yes, audio
core invokes sync_control for correct devices, but this operation is not
atomic, handle_syncstart executed in parallel may mess up things totally,
the order in which device driver receives these commands may be kind of
random. Driver just can't distinguish commands from different processes. It
expects something like:

SYNC_PREPARE for sub-device 1 (1st process)
SYNC_PREPARE for sub-device 2 (1st process)
SYNC_TRIGGER for sub-device 1 (1st process)
SYNC_TRIGGER for sub-device 2 (1st process)

SYNC_PREPARE for sub-device 3 (2nd process)
SYNC_TRIGGER for sub-device 3 (2nd process)

but probably not

SYNC_PREPARE for sub-device 1 (1st process)
SYNC_PREPARE for sub-device 2 (1st process)
SYNC_PREPARE for sub-device 3 (2nd process)
SYNC_TRIGGER for sub-device 1 (1st process)
SYNC_TRIGGER for sub-device 3 (2nd process)
SYNC_TRIGGER for sub-device 2 (1st process)

Regards,
          Zakhar Levcehnko



On 6/8/08, Hannu Savolainen <[EMAIL PROTECTED]> wrote:
>
> Zakhar Levchenko kirjoitti:
>
> > So device driver implementation of sync_control is supposed to check
> > group id or something like that? Otherwise I can't see any way to
> > separate devices from different groups.
>
> Drivers don't need to check it. The audio core takes care of invoking
> just the correct devices.
>
>
> Best regards,
>
> Hannu
> _______________________________________________
> oss-devel mailing list
> oss-devel@mailman.opensound.com
> http://mailman.opensound.com/mailman/listinfo/oss-devel
>
_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to