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

#include <i2400m-usb.h>

Data Fields

struct i2400m i2400m
 
struct usb_device * usb_dev
 
struct usb_interfaceusb_iface
 
struct edc urb_edc
 
struct i2400m_endpoint_cfg endpoint_cfg
 
struct urbnotif_urb
 
struct task_structtx_kthread
 
wait_queue_head_t tx_wq
 
struct task_structrx_kthread
 
wait_queue_head_t rx_wq
 
atomic_t rx_pending_count
 
size_t rx_size
 
size_t rx_size_acc
 
size_t rx_size_cnt
 
atomic_t do_autopm
 
u8 rx_size_auto_shrink
 
struct dentrydebugfs_dentry
 
unsigned i6050:1
 

Detailed Description

struct i2400mu - descriptor for a USB connected i2400m

: bus-generic i2400m implementation; has to be first (see it's documentation in i2400m.h).

: pointer to our USB device

: pointer to our USB interface

: error density counter; used to keep a density-on-time tab on how many soft (retryable or ignorable) errors we get. If we go over the threshold, we consider the bus transport is failing too much and reset.

: URB for receiving notifications from the device.

: thread we use for data TX. We use a thread because in order to do deep power saving and put the device to sleep, we need to call usb_autopm_*() [blocking functions].

: waitqueue for the TX kthread to sleep when there is no data to be sent; when more data is available, it is woken up by i2400mu_bus_tx_kick().

: thread we use for data RX. We use a thread because in order to do deep power saving and put the device to sleep, we need to call usb_autopm_*() [blocking functions].

: waitqueue for the RX kthread to sleep when there is no data to receive. When data is available, it is woken up by usb-notif.c:i2400mu_notification_grok().

: number of rx-data-ready notifications that were still not handled by the RX kthread.

: current RX buffer size that is being used.

: accumulator of the sizes of the previous read transactions.

: number of read transactions accumulated in .

: disable(0)/enable(>0) calling the usb_autopm_get/put_interface() barriers when executing commands. See doc in i2400mu_suspend() for more information.

: if true, the rx_size is shrunk automatically based on the average size of the received transactions. This allows the receive code to allocate smaller chunks of memory and thus reduce pressure on the memory allocator by not wasting so much space. By default it is enabled.

: hookup for debugfs files. These have to be in a separate directory, a child of (wimax_dev->debugfs_dentry) so they can be removed when the module unloads, as we don't keep each dentry.

Definition at line 219 of file i2400m-usb.h.

Field Documentation

struct dentry* debugfs_dentry

Definition at line 238 of file i2400m-usb.h.

atomic_t do_autopm

Definition at line 235 of file i2400m-usb.h.

Definition at line 225 of file i2400m-usb.h.

Definition at line 220 of file i2400m-usb.h.

unsigned i6050

Definition at line 239 of file i2400m-usb.h.

struct urb* notif_urb

Definition at line 227 of file i2400m-usb.h.

struct task_struct* rx_kthread

Definition at line 231 of file i2400m-usb.h.

atomic_t rx_pending_count

Definition at line 233 of file i2400m-usb.h.

size_t rx_size

Definition at line 234 of file i2400m-usb.h.

size_t rx_size_acc

Definition at line 234 of file i2400m-usb.h.

u8 rx_size_auto_shrink

Definition at line 236 of file i2400m-usb.h.

size_t rx_size_cnt

Definition at line 234 of file i2400m-usb.h.

Definition at line 232 of file i2400m-usb.h.

struct task_struct* tx_kthread

Definition at line 228 of file i2400m-usb.h.

Definition at line 229 of file i2400m-usb.h.

struct edc urb_edc

Definition at line 224 of file i2400m-usb.h.

struct usb_device* usb_dev

Definition at line 222 of file i2400m-usb.h.

struct usb_interface* usb_iface

Definition at line 223 of file i2400m-usb.h.


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