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

#include <iwl-trans.h>

Data Fields

int(* start_hw )(struct iwl_trans *iwl_trans)
 
void(* stop_hw )(struct iwl_trans *iwl_trans, bool op_mode_leaving)
 
int(* start_fw )(struct iwl_trans *trans, const struct fw_img *fw)
 
void(* fw_alive )(struct iwl_trans *trans)
 
void(* stop_device )(struct iwl_trans *trans)
 
void(* wowlan_suspend )(struct iwl_trans *trans)
 
int(* send_cmd )(struct iwl_trans *trans, struct iwl_host_cmd *cmd)
 
int(* tx )(struct iwl_trans *trans, struct sk_buff *skb, struct iwl_device_cmd *dev_cmd, int queue)
 
void(* reclaim )(struct iwl_trans *trans, int queue, int ssn, struct sk_buff_head *skbs)
 
void(* txq_enable )(struct iwl_trans *trans, int queue, int fifo, int sta_id, int tid, int frame_limit, u16 ssn)
 
void(* txq_disable )(struct iwl_trans *trans, int queue)
 
int(* dbgfs_register )(struct iwl_trans *trans, struct dentry *dir)
 
int(* wait_tx_queue_empty )(struct iwl_trans *trans)
 
void(* write8 )(struct iwl_trans *trans, u32 ofs, u8 val)
 
void(* write32 )(struct iwl_trans *trans, u32 ofs, u32 val)
 
u32(* read32 )(struct iwl_trans *trans, u32 ofs)
 
void(* configure )(struct iwl_trans *trans, const struct iwl_trans_config *trans_cfg)
 
void(* set_pmi )(struct iwl_trans *trans, bool state)
 

Detailed Description

struct iwl_trans_ops - transport specific operations

All the handlers MUST be implemented

: starts the HW- from that point on, the HW can send interrupts May sleep : stops the HW- from that point on, the HW will be in low power but will still issue interrupt if the HW RF kill is triggered unless op_mode_leaving is true. May sleep : allocates and inits all the resources for the transport layer. Also kick a fw image. May sleep : called when the fw sends alive notification May sleep :stops the whole device (embedded CPU put to reset) May sleep : put the device into the correct mode for WoWLAN during suspend. This is optional, if not implemented WoWLAN will not be supported. This callback may sleep. :send a host command May sleep only if CMD_SYNC is set : send an skb Must be atomic : free packet until ssn. Returns a list of freed packets. Must be atomic : setup a queue. To setup an AC queue, use the iwl_trans_ac_txq_enable wrapper. fw_alive must have been called before this one. The op_mode must not configure the HCMD queue. May sleep. : de-configure a Tx queue to send AMPDUs Must be atomic : wait until all tx queues are empty May sleep : add the dbgfs files under this directory. Files will be automatically deleted. : stop the device unless WoWLAN is configured : resume activity of the device : write a u8 to a register at offset ofs from the BAR : write a u32 to a register at offset ofs from the BAR : read a u32 register at offset ofs from the BAR : configure parameters required by the transport layer from the op_mode. May be called several times before start_fw, can't be called after that. : set the power pmi state

Definition at line 383 of file iwl-trans.h.

Field Documentation

void(* configure)(struct iwl_trans *trans, const struct iwl_trans_config *trans_cfg)

Definition at line 413 of file iwl-trans.h.

int(* dbgfs_register)(struct iwl_trans *trans, struct dentry *dir)

Definition at line 404 of file iwl-trans.h.

void(* fw_alive)(struct iwl_trans *trans)

Definition at line 388 of file iwl-trans.h.

u32(* read32)(struct iwl_trans *trans, u32 ofs)

Definition at line 412 of file iwl-trans.h.

Definition at line 397 of file iwl-trans.h.

Definition at line 393 of file iwl-trans.h.

Definition at line 415 of file iwl-trans.h.

Definition at line 387 of file iwl-trans.h.

int(* start_hw)(struct iwl_trans *iwl_trans)

Definition at line 385 of file iwl-trans.h.

void(* stop_device)(struct iwl_trans *trans)

Definition at line 389 of file iwl-trans.h.

void(* stop_hw)(struct iwl_trans *iwl_trans, bool op_mode_leaving)

Definition at line 386 of file iwl-trans.h.

Definition at line 395 of file iwl-trans.h.

void(* txq_disable)(struct iwl_trans *trans, int queue)

Definition at line 402 of file iwl-trans.h.

void(* txq_enable)(struct iwl_trans *trans, int queue, int fifo, int sta_id, int tid, int frame_limit, u16 ssn)

Definition at line 400 of file iwl-trans.h.

int(* wait_tx_queue_empty)(struct iwl_trans *trans)

Definition at line 405 of file iwl-trans.h.

void(* wowlan_suspend)(struct iwl_trans *trans)

Definition at line 391 of file iwl-trans.h.

void(* write32)(struct iwl_trans *trans, u32 ofs, u32 val)

Definition at line 411 of file iwl-trans.h.

void(* write8)(struct iwl_trans *trans, u32 ofs, u8 val)

Definition at line 410 of file iwl-trans.h.


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