hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/Documentation/ABI/stable/firewire-cdev
....@@ -14,13 +14,17 @@
1414 Each /dev/fw* is associated with one IEEE 1394 node, which can
1515 be remote or local nodes. Operations on a /dev/fw* file have
1616 different scope:
17
+
1718 - The 1394 node which is associated with the file:
19
+
1820 - Asynchronous request transmission
1921 - Get the Configuration ROM
2022 - Query node ID
2123 - Query maximum speed of the path between this node
2224 and local node
25
+
2326 - The 1394 bus (i.e. "card") to which the node is attached to:
27
+
2428 - Isochronous stream transmission and reception
2529 - Asynchronous stream transmission and reception
2630 - Asynchronous broadcast request transmission
....@@ -31,7 +35,9 @@
3135 manager
3236 - Query cycle time
3337 - Bus reset initiation, bus reset event reception
38
+
3439 - All 1394 buses:
40
+
3541 - Allocation of IEEE 1212 address ranges on the local
3642 link layers, reception of inbound requests to such
3743 an address range, asynchronous response transmission
....@@ -43,6 +49,7 @@
4349 userland implement different access permission models, some
4450 operations are restricted to /dev/fw* files that are associated
4551 with a local node:
52
+
4653 - Addition of descriptors or directories to the local
4754 nodes' Configuration ROM
4855 - PHY packet transmission and reception
....@@ -55,50 +62,50 @@
5562 The following file operations are supported:
5663
5764 open(2)
58
- Currently the only useful flags are O_RDWR.
65
+ Currently the only useful flags are O_RDWR.
5966
6067 ioctl(2)
61
- Initiate various actions. Some take immediate effect, others
62
- are performed asynchronously while or after the ioctl returns.
63
- See the inline documentation in <linux/firewire-cdev.h> for
64
- descriptions of all ioctls.
68
+ Initiate various actions. Some take immediate effect, others
69
+ are performed asynchronously while or after the ioctl returns.
70
+ See the inline documentation in <linux/firewire-cdev.h> for
71
+ descriptions of all ioctls.
6572
6673 poll(2), select(2), epoll_wait(2) etc.
67
- Watch for events to become available to be read.
74
+ Watch for events to become available to be read.
6875
6976 read(2)
70
- Receive various events. There are solicited events like
71
- outbound asynchronous transaction completion or isochronous
72
- buffer completion, and unsolicited events such as bus resets,
73
- request reception, or PHY packet reception. Always use a read
74
- buffer which is large enough to receive the largest event that
75
- could ever arrive. See <linux/firewire-cdev.h> for descriptions
76
- of all event types and for which ioctls affect reception of
77
- events.
77
+ Receive various events. There are solicited events like
78
+ outbound asynchronous transaction completion or isochronous
79
+ buffer completion, and unsolicited events such as bus resets,
80
+ request reception, or PHY packet reception. Always use a read
81
+ buffer which is large enough to receive the largest event that
82
+ could ever arrive. See <linux/firewire-cdev.h> for descriptions
83
+ of all event types and for which ioctls affect reception of
84
+ events.
7885
7986 mmap(2)
80
- Allocate a DMA buffer for isochronous reception or transmission
81
- and map it into the process address space. The arguments should
82
- be used as follows: addr = NULL, length = the desired buffer
83
- size, i.e. number of packets times size of largest packet,
84
- prot = at least PROT_READ for reception and at least PROT_WRITE
85
- for transmission, flags = MAP_SHARED, fd = the handle to the
86
- /dev/fw*, offset = 0.
87
+ Allocate a DMA buffer for isochronous reception or transmission
88
+ and map it into the process address space. The arguments should
89
+ be used as follows: addr = NULL, length = the desired buffer
90
+ size, i.e. number of packets times size of largest packet,
91
+ prot = at least PROT_READ for reception and at least PROT_WRITE
92
+ for transmission, flags = MAP_SHARED, fd = the handle to the
93
+ /dev/fw*, offset = 0.
8794
8895 Isochronous reception works in packet-per-buffer fashion except
8996 for multichannel reception which works in buffer-fill mode.
9097
9198 munmap(2)
92
- Unmap the isochronous I/O buffer from the process address space.
99
+ Unmap the isochronous I/O buffer from the process address space.
93100
94101 close(2)
95
- Besides stopping and freeing I/O contexts that were associated
96
- with the file descriptor, back out any changes to the local
97
- nodes' Configuration ROM. Deallocate isochronous channels and
98
- bandwidth at the IRM that were marked for kernel-assisted
99
- re- and deallocation.
102
+ Besides stopping and freeing I/O contexts that were associated
103
+ with the file descriptor, back out any changes to the local
104
+ nodes' Configuration ROM. Deallocate isochronous channels and
105
+ bandwidth at the IRM that were marked for kernel-assisted
106
+ re- and deallocation.
100107
101
-Users: libraw1394
102
- libdc1394
103
- libhinawa
108
+Users: libraw1394;
109
+ libdc1394;
110
+ libhinawa;
104111 tools like linux-firewire-utils, fwhack, ...