libraw1394 v2.1.0 release

Behavior changes of the backend to firewire-core:

    - The isochronous reception buffer is now mapped read/writable
      rather than read-only.  The raw1394 backend already maps the
      buffer read/writable too.  Note that writing into the buffer
      will go wrong on architectures without cache-coherent DMA if
      the CPU and the OHCI write within the same cacheline region,
      so use this feature with caution.

    - Decrease memory footprint of IR and IT buffers by avoiding
      some internal rounding up of the buffer size.

New APIs in <libraw1394/raw1394.h>:

    - raw1394_add_config_rom_descriptor():
      Add contents to the Configuration ROM of the local node(s).
      At runtime, this API is only available if running on top of
      firewire-core.  It could probably also be implemented with
      the raw1394 kernel driver if anybody cared.

    - raw1394_remove_config_rom_descriptor():
      Counterpart to raw1394_add_config_rom_descriptor().

    - raw1394_read_cycle_timer_and_clock():
      Like the existing raw1394_read_cycle_timer(), but lets the
      caller choose between CLOCK_REALTIME (which the former call
      is always using), CLOCK_MONOTONIC, or CLOCK_MONOTONIC_RAW.
      For example, this enables libffado's audio streaming to run
      undisturbed by resets of CLOCK_REALTIME.
      At runtime, this call requires firewire-core underneath.

    - raw1394_get_speed():
      Returns the speed code of the maximum possible transmission
      speed between a given node and the local node.  This takes
      maximum speeds of all participating PHYs and the two links
      into account.  This can be used to configure the speed of
      isochronous streams.
      At runtime, this call requires firewire-core underneath.

    - enum raw1394_iso_speed was extended by
      RAW1394_ISO_SPEED_800, _1600, and _3200.

New APIs in <libraw1394/ieee1394.h>:

    - Added preprocessor constants
      L1394_SPEED_BETA, L1394_SPEED_800, _1600, and _3200.

testlibraw1394:  Added unit tests of the new APIs.
Changelog, NEWS: update to version 2.1.0

Signed-off-by: Stefan Richter <>
2 files changed