Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
fw_cdev_allocate_iso_resource Struct Reference

#include <firewire-cdev.h>

Data Fields

__u64 closure
 
__u64 channels
 
__u32 bandwidth
 
__u32 handle
 

Detailed Description

struct fw_cdev_allocate_iso_resource - (De)allocate a channel or bandwidth : Passed back to userspace in corresponding iso resource events : Isochronous channels of which one is to be (de)allocated : Isochronous bandwidth units to be (de)allocated : Handle to the allocation, written by the kernel (only valid in case of FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE ioctls)

The FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE ioctl initiates allocation of an isochronous channel and/or of isochronous bandwidth at the isochronous resource manager (IRM). Only one of the channels specified in is allocated. An FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED is sent after communication with the IRM, indicating success or failure in the event data. The kernel will automatically reallocate the resources after bus resets. Should a reallocation fail, an FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event will be sent. The kernel will also automatically deallocate the resources when the file descriptor is closed.

The FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE ioctl can be used to initiate deallocation of resources which were allocated as described above. An FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event concludes this operation.

The FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE ioctl is a variant of allocation without automatic re- or deallocation. An FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED event concludes this operation, indicating success or failure in its data.

The FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE ioctl works like FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE except that resources are freed instead of allocated. An FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event concludes this operation.

To summarize, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE allocates iso resources for the lifetime of the fd or . In contrast, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE allocates iso resources for the duration of a bus generation.

is a host-endian bitfield with the least significant bit representing channel 0 and the most significant bit representing channel 63: 1ULL << c for each channel c that is a candidate for (de)allocation.

is expressed in bandwidth allocation units, i.e. the time to send one quadlet of data (payload or header data) at speed S1600.

Definition at line 968 of file firewire-cdev.h.

Field Documentation

__u32 bandwidth

Definition at line 971 of file firewire-cdev.h.

__u64 channels

Definition at line 970 of file firewire-cdev.h.

__u64 closure

Definition at line 969 of file firewire-cdev.h.

Definition at line 972 of file firewire-cdev.h.


The documentation for this struct was generated from the following file: