aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/firewire-cdev.h
diff options
context:
space:
mode:
authorJay Fenlason <fenlason@redhat.com>2009-03-05 13:08:40 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-03-24 15:56:49 -0400
commitf8c2287c65f8f72000102fc058232669e4540bc4 (patch)
treea82393fbdd3a2b20f8e499537b10eb9e61dae941 /include/linux/firewire-cdev.h
parentba27e1f7bf220799cd3d7503f82bda71b8ebe8c5 (diff)
firewire: implement asynchronous stream transmission
Allow userspace and other firewire drivers (fw-ipv4 I'm looking at you!) to send Asynchronous Transmit Streams as described in 7.8.3 of release 1.1 of the 1394 Open Host Controller Interface Specification. Signed-off-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (tweaks)
Diffstat (limited to 'include/linux/firewire-cdev.h')
-rw-r--r--include/linux/firewire-cdev.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/firewire-cdev.h b/include/linux/firewire-cdev.h
index 2e35379bf96c..4dfc84d0ac76 100644
--- a/include/linux/firewire-cdev.h
+++ b/include/linux/firewire-cdev.h
@@ -246,6 +246,7 @@ union fw_cdev_event {
246#define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource) 246#define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource)
247#define FW_CDEV_IOC_GET_SPEED _IOR('#', 0x11, struct fw_cdev_get_speed) 247#define FW_CDEV_IOC_GET_SPEED _IOR('#', 0x11, struct fw_cdev_get_speed)
248#define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request) 248#define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request)
249#define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet)
249 250
250/* 251/*
251 * FW_CDEV_VERSION History 252 * FW_CDEV_VERSION History
@@ -609,4 +610,30 @@ struct fw_cdev_get_speed {
609 __u32 max_speed; 610 __u32 max_speed;
610}; 611};
611 612
613/**
614 * struct fw_cdev_send_stream_packet - send an asynchronous stream packet
615 * @generation: Bus generation where the packet is valid
616 * @speed: Speed code to send the packet at
617 * @channel: Channel to send the packet on
618 * @sy: Four-bit sy code for the packet
619 * @tag: Two-bit tag field to use for the packet
620 * @size: Size of the packet's data payload
621 * @data: Userspace pointer to the payload
622 *
623 * The %FW_CDEV_IOC_SEND_STREAM_PACKET ioctl sends an asynchronous stream packet
624 * to every device (that is listening to the specified channel) on the
625 * firewire bus. It is the applications's job to ensure
626 * that the intended device(s) will be able to receive the packet at the chosen
627 * transmit speed.
628 */
629struct fw_cdev_send_stream_packet {
630 __u32 generation;
631 __u32 speed;
632 __u32 channel;
633 __u32 sy;
634 __u32 tag;
635 __u32 size;
636 __u64 data;
637};
638
612#endif /* _LINUX_FIREWIRE_CDEV_H */ 639#endif /* _LINUX_FIREWIRE_CDEV_H */