Lines Matching +full:per +full:- +full:context

4  * Copyright (C) 2005-2007  Kristian Hoegsberg <krh@bitplanet.net>
31 #include <linux/firewire-constants.h>
56 * struct fw_cdev_event_common - Common part of all fw_cdev_event_* types
73 * struct fw_cdev_event_bus_reset - Sent when a bus reset occurred
103 * struct fw_cdev_event_response - Sent when a response packet was received
124 * struct fw_cdev_event_response2 - Sent when a response packet was received
166 * struct fw_cdev_event_request - Old version of &fw_cdev_event_request2
170 * @offset: The offset into the 48-bit per-node address space
171 * @handle: Reference to the kernel-side pending request
190 * struct fw_cdev_event_request2 - Sent on incoming request to an address region
194 * @offset: The offset into the 48-bit per-node address space
199 * @handle: Reference to the kernel-side pending request
221 * struct fw_cdev_event_request3 - Sent on incoming request to an address region
225 * @offset: The offset into the 48-bit per-node address space
230 * @handle: Reference to the kernel-side pending request
248 * firewire-core specific %TCODE_LOCK_MASK_SWAP...%TCODE_LOCK_VENDOR_DEPENDENT,
258 * non-local bus ID part or in case of a broadcast write request. Note, a
260 * broadcast write request; the kernel will then release the kernel-side pending
266 * release the kernel-side pending request, though another response won't be
294 * struct fw_cdev_event_iso_interrupt - Sent when an iso packet was completed
309 * Isochronous transmit events (context type %FW_CDEV_ISO_CONTEXT_TRANSMIT):
316 * Isochronous receive events (context type %FW_CDEV_ISO_CONTEXT_RECEIVE):
319 * packet are returned in the @header field. The amount of header data per
320 * packet is as specified at iso context creation by
354 * struct fw_cdev_event_iso_interrupt_mc - An iso buffer chunk was completed
360 * This event is sent in multichannel contexts (context type
366 * The buffer is continuously filled with the following data, per packet:
367 * - the 1394 iso packet header as described at &fw_cdev_event_iso_interrupt,
369 * - packet payload (as many bytes as specified in the data_length field of
371 * - 0...3 padding bytes as needed to align the following trailer quadlet,
372 * - trailer quadlet, containing the reception timestamp as described at
375 * Hence the per-packet size is data_length (rounded up to a multiple of 4) + 8.
381 * for this condition, assemble a broken-up packet from its parts, and not to
382 * re-queue any buffer chunks in which as yet unread packet parts reside.
391 * struct fw_cdev_event_iso_resource - Iso resources were allocated or freed
420 * struct fw_cdev_event_phy_packet - A PHY packet was transmitted or received
442 * struct fw_cdev_event_phy_packet2 - A PHY packet was transmitted or received with time stamp.
449 * which the packet arrived. For %FW_CDEV_EVENT_PHY_PACKET_SENT2 and non-ping packet,
451 * the tick count for round-trip time measured by 1394 OHCI controller.
471 * for ping, the @tstamp is for round-trip time measured by 1394 OHCI controller with 42.195 MHz
484 * union fw_cdev_event - Convenience union of fw_cdev_event_* types
567 * 1 (2.6.22) - initial version
568 * (2.6.24) - added %FW_CDEV_IOC_GET_CYCLE_TIMER
569 * 2 (2.6.30) - changed &fw_cdev_event_iso_interrupt.header if
571 * - added %FW_CDEV_IOC_*_ISO_RESOURCE*,
574 * (2.6.32) - added time stamp to xmit &fw_cdev_event_iso_interrupt
575 * (2.6.33) - IR has always packet-per-buffer semantics now, not one of
576 * dual-buffer or packet-per-buffer depending on hardware
577 * - shared use and auto-response for FCP registers
578 * 3 (2.6.34) - made &fw_cdev_get_cycle_timer reliable
579 * - added %FW_CDEV_IOC_GET_CYCLE_TIMER2
580 * 4 (2.6.36) - added %FW_CDEV_EVENT_REQUEST2, %FW_CDEV_EVENT_PHY_PACKET_*,
582 * - implemented &fw_cdev_event_bus_reset.bm_node_id
583 * - added %FW_CDEV_IOC_SEND_PHY_PACKET, _RECEIVE_PHY_PACKETS
584 * - added %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL,
587 * 5 (3.4) - send %FW_CDEV_EVENT_ISO_INTERRUPT events when needed to
589 * - added %FW_CDEV_IOC_FLUSH_ISO
590 * 6 (6.5) - added some event for subactions of asynchronous transaction with time stamp
591 * - %FW_CDEV_EVENT_REQUEST3
592 * - %FW_CDEV_EVENT_RESPONSE2
593 * - %FW_CDEV_EVENT_PHY_PACKET_SENT2
594 * - %FW_CDEV_EVENT_PHY_PACKET_RECEIVED2
598 * struct fw_cdev_get_info - General purpose information ioctl
604 * @rom_length: If @rom is non-zero, up to @rom_length bytes of Configuration
608 * @rom: If non-zero, address of a buffer to be filled by a copy of the
610 * @bus_reset: If non-zero, address of a buffer to be filled by a
632 * struct fw_cdev_send_request - Send an asynchronous request packet
635 * @offset: 48-bit offset at destination node
656 * struct fw_cdev_send_response - Send an asynchronous response packet
665 * send a reply using this ioctl. The event has a handle to the kernel-side
676 * struct fw_cdev_allocate - Allocate a CSR in an address range
683 * Allocate an address range in the 48-bit address space on the local node
721 * struct fw_cdev_deallocate - Free a CSR address range or isochronous resource
733 * struct fw_cdev_initiate_bus_reset - Initiate a bus reset
738 * introduced in 1394a-2000.
743 * between subsequent bus resets as per IEEE 1394 bus management specification.
750 * struct fw_cdev_add_descriptor - Add contents to the local node's config ROM
751 * @immediate: If non-zero, immediate key to insert before pointer
768 * @immediate, @key, and @data array elements are CPU-endian quadlets.
771 * the kernel-side object to be used for later removal of the descriptor block
787 * struct fw_cdev_remove_descriptor - Remove contents from the Configuration ROM
804 * struct fw_cdev_create_iso_context - Create a context for isochronous I/O
807 * @header_size: Header size to strip in single-channel reception
808 * @channel: Channel to bind to in single-channel reception or transmission
812 * @handle: Handle to context, written back by kernel
814 * Prior to sending or receiving isochronous I/O, a context must be created.
815 * The context records information about the transmit or receive configuration
816 * and typically maps to an underlying hardware resource. A context is set up
824 * and must be a multiple of 4. It is ignored in other context types.
826 * @speed is ignored in receive context types.
828 * If a context was successfully created, the kernel writes back a handle to the
829 * context, which must be passed in for subsequent operations on that context.
832 * No more than one iso context can be created per fd.
834 * create on a card at a time is a hardware limit, typically 4 or 8 contexts per
835 * direction, and of them at most one multichannel receive context.
847 * struct fw_cdev_set_iso_channels - Select channels in multichannel reception
849 * @handle: Handle of the mutichannel receive context
853 * The ioctl fails with errno %EBUSY if there is already another receive context
871 * struct fw_cdev_iso_packet - Isochronous packet
876 * @header: Header and payload in case of a transmit context.
882 * Context type %FW_CDEV_ISO_CONTEXT_TRANSMIT:
890 * fields are specified by IEEE 1394a and IEC 61883-1.
898 * Context type %FW_CDEV_ISO_CONTEXT_RECEIVE:
900 * @control.HEADER_LENGTH must be a multiple of the context's header_size.
901 * If the HEADER_LENGTH is larger than the context's header_size, multiple
906 * If the @control.SYNC flag is set, the context drops all packets until a
923 * Context type %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL:
934 * for single-channel reception.
945 * struct fw_cdev_queue_iso - Queue isochronous packets for I/O
949 * @handle: Isochronous context handle
962 * In case of a multichannel receive context, @data must be quadlet-aligned
979 * struct fw_cdev_start_iso - Start an isochronous transmission or reception
987 * @handle: Isochronous context handle within which to transmit or receive
997 * struct fw_cdev_stop_iso - Stop an isochronous transmission or reception
998 * @handle: Handle of isochronous context to stop
1005 * struct fw_cdev_flush_iso - flush completed iso packets
1006 * @handle: handle of isochronous context to flush
1024 * struct fw_cdev_get_cycle_timer - read cycle timer register
1031 * In version 1 and 2 of the ABI, this ioctl returned unreliable (non-
1040 * struct fw_cdev_get_cycle_timer2 - read cycle timer register
1042 * @tv_nsec: system time, sub-seconds part in nanoseconds
1056 * per IEEE 1394 or Isochronous Cycle Timer register per OHCI-1394.
1066 * struct fw_cdev_allocate_iso_resource - (De)allocate a channel or bandwidth
1088 * without automatic re- or deallocation.
1102 * @channels is a host-endian bitfield with the least significant bit
1117 * struct fw_cdev_send_stream_packet - send an asynchronous stream packet
1143 * struct fw_cdev_send_phy_packet - send a PHY packet
1144 * @closure: Passed back to userspace in the PHY-packet-sent event
1165 * struct fw_cdev_receive_phy_packets - start reception of PHY packets