firewire: broadcast channel support
authorJay Fenlason <fenlason@redhat.com>
Mon, 23 Feb 2009 20:59:34 +0000 (15:59 -0500)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 24 Mar 2009 19:56:49 +0000 (20:56 +0100)
commit6104ee92d62ea3638b67494fcf061cb4b9b9d518
tree899549d281a47f6aaae7a1645b5cb7d882f8e194
parentf8c2287c65f8f72000102fc058232669e4540bc4
firewire: broadcast channel support

This patch adds the ISO broadcast channel support that is required of a
1394a IRM.  In specific, if the local device the IRM, it allocates ISO
channel 31 and sets the broadcast channel register of all devices on the
local bus to BROADCAST_CHANNEL_INITIAL | BROADCAST_CHANNEL_VALID to indicate
that channel 31 can be use for broadcast messages.

One minor complication is that on startup the local device may become IRM
before all the devices on the bus have been enumerated by the stack.  Therefore
we have to keep a "the local device is IRM" flag and possibly set the
broadcast channel register of new devices at enumeration time.

Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-card.c
drivers/firewire/fw-device.c
drivers/firewire/fw-transaction.h