Commit Graph

15 Commits

Author SHA1 Message Date
Thomas Petazzoni 0ef8fab9e4 testlibraw: build the CLOCK_MONOTONIC_RAW test conditionally
CLOCK_MONOTONIC_RAW is a somewhat recent addition, and some older
toolchains/kernels may not have the support for it. Therefore, we
build the part of the test that uses CLOCK_MONOTONIC_RAW only when
this definition is available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2016-03-20 17:08:48 +01:00
Stefan Richter a24ab81d57 testlibraw: Fix printing of card name
Testlibraw always showed the name of the first card rather than the
name of the current card.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-06-30 19:13:35 +02:00
Stefan Richter d50f7381b2 Add raw1394_get_speed() API
This lets initiators of isochronous streams or asynchronous streams from
or to the local node figure out what maximum speed can be configured.

Furthermore it can be used to display connection speeds for informative
purposes without having to perform topology analysis (in case of 1394a
buses) or extensive phy port status queries (in case of 1394b buses).

To be in line with other existing libraw1394 APIs which use nodeid_t
variables, this API identifies a node only via a card:nodeID tuple which
is unsafe against generation changes.  A node can only be properly
identified by card:generation:nodeID tuples.  However, since this new
API extension and libraw1394 as a whole is mainly aimed towards existing
libraw1394 client code bases rather than new developments, I decided
against making this call race free but somewhat more difficult to use in
typical existing client code.

A unit test for the new call is added to testlibraw as well.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-06-30 19:02:20 +02:00
Stefan Richter 5b4cffe9d7 Add raw1394_read_cycle_timer_and_clock() API
This is an extension relative to raw1394_read_cycle_timer().
It lets the client choose a system clock other than CLOCK_REALTIME.

Use case: http://subversion.ffado.org/ticket/242

The underlying ioctl supports reading the system clock with nanoseconds
resolution.  The new libraw1394 call sticks with microseconds resolution
though.  This makes transition from (or parallel use with)
raw1394_read_cycle_timer() easier.  Besides, the call itself takes longer
than a  microsecond, primarily due to a costly MMIO read (on many
controllers even three or more MMIO reads).

Unit tests with CLOCK_MONOTONIC and CLOCK_MONOTONIC_RAW are added to
testlibraw as well.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-06-18 01:53:32 +02:00
Stefan Richter 56056a9607 Tweak raw1394_add_config_rom_descriptor() API, add documentation and test case
To conform with 'size' arguments of other libraw1394 calls, change the one in
raw1394_add_config_rom_descriptor() from quadlets to bytes.  This breaks runtime
compatibility with potential clients that were written against B.J.'s original
patch, hence reorder arguments just to break compatibility also at compile time.

Change errno to ENOSYS (function not implemented) when called while running on
top of raw1394.

Allow &token to be NULL for convenience of clients which don't require
raw1394_remove_config_rom_descriptor().

Add exhaustive documentation.  Much of it is copied from the documentation of
the underlying ioctl.

Add example code which doubles as unit test in testlibraw.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-06-18 00:19:23 +02:00
Stefan Richter b40bb76891 tools/testlibraw: Fix a harmless format string bug
The compiler warned that size_t and %d don't go well together.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2010-09-07 11:26:54 +02:00
Stefan Richter babed1e589 testlibraw: fix printing of local config ROM
Since "testlibraw: test all cards instead of only the first", the
actual ROM content wasn't printed anymore due to a mistake in a
printf format string.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2009-05-27 21:07:05 -07:00
Stefan Richter 38a43c2736 testlibraw: test raw1394_read_cycle_timer()
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-12-07 23:10:17 -08:00
Stefan Richter b63022aeeb testlibraw: test all cards instead of only the first
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-12-07 23:09:09 -08:00
Erik Hovland 1e532a7f9f Makes sure to check any return values
The return value of any function should be checked if that function
uses the return value to provide some sort of status information.

Signed-off-by: Erik Hovland <erik@hovland.org>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
2008-10-28 22:52:39 -07:00
Philippe Troin 477b6eee6d Plug dir leak and initialize data structs
While trying to track down some crashes in kino, I found the following problems
with libraw1394:

 * There is a DIR* leak in raw1394_set_port().
 * Lots of data structures are not fully initialized when calling IEEE1394
   ioctl()s.  These cause valgrind errors (benign, as valgrind does not know
   how to interpret all ioctls.  However these also cause kino to crash in
   libraw1394.  I've added a bunch of memset()s to prevent this problem from
   happening.

Forward-ported to libraw1394 git tree by Jarod Wilson.
2008-07-05 13:09:29 -07:00
Kristian Høgsberg 5659d28c2d Add the juju support work so far. 2007-03-26 16:49:12 -04:00
bencollins 2248793646 Fix compiler warnings.
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@109 53a565d1-3bb7-0310-b661-cf11e63c67ab
2003-07-13 00:49:54 +00:00
ddennedy 915a20a96f merged weihs branch
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@84 53a565d1-3bb7-0310-b661-cf11e63c67ab
2002-10-23 21:18:49 +00:00
aeb 135babee19 Moved testlibraw.c from src to tools directory.
Added sendiso and dumpiso programs in tools directory.
Added man pages for sendiso and dumpiso in doc directory.


git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@66 53a565d1-3bb7-0310-b661-cf11e63c67ab
2001-06-08 00:31:12 +00:00