fix start_on_cycle on firewire-core

Libraw1394 uses raw1394's convention of cycle numbers always being less
than one second, i.e., in the range 0..7999.

Firewire-core uses raw cycle numbers as used by the hardware, i.e., with
several additional bits for the seconds.  This was correctly handled
when presenting timestamps returned by the kernel to the application,
but the application's start_on_cycle value was passed directly to the
kernel.

To fix this, do the same calculations that ohci1394 did internally,
i.e., interpret the start_on_cycle value as relative to the current
seconds value of the cycle timer.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
1 file changed