firewire: cdev: add ioctls for isochronous resource management
authorJay Fenlason, Stefan Richter <stefanr@s5r6.in-berlin.de>
Sun, 4 Jan 2009 15:23:29 +0000 (16:23 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 24 Mar 2009 19:56:43 +0000 (20:56 +0100)
commitb1bda4cdc2037447bd66753bf5ccab66d91b0b59
tree6aae47fb85125c15150d6d306354de5deb1e316f
parentb769bd17656f991c5588c676376e5ec77d25997a
firewire: cdev: add ioctls for isochronous resource management

Based on
    Date: Tue, 18 Nov 2008 11:41:27 -0500
    From: Jay Fenlason <fenlason@redhat.com>
    Subject: [Patch V4] Add ISO resource management support
with several changes to the ABI and implementation.  Only the part of
the ABI which enables auto-reallocation and auto-deallocation is
included here.

This implements ioctls for kernel-assisted allocation of isochronous
channels and isochronous bandwidth.  The benefits are:
  - The client does not have to have write access to the /dev/fw* device
    corresponding to the IRM.
  - The client does not have to perform reallocation after bus resets.
  - Channel and bandwidth are deallocated by the kernel if the file is
    closed before the client deallocated the resources.  Thus resources
    are released even if the client crashes.

It is anticipated that future in-kernel code (firewire-core IRM code;
the firewire port of firedtv), will use the fw-iso.c portions of this
code too.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Tested-by: David Moore <dcm@acm.org>
drivers/firewire/fw-cdev.c
drivers/firewire/fw-iso.c
drivers/firewire/fw-transaction.h
include/linux/firewire-cdev.h