Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
unifi_priv.h File Reference
#include <linux/version.h>
#include <linux/module.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/wait.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/netdevice.h>
#include <linux/wireless.h>
#include <linux/cdev.h>
#include <linux/kthread.h>
#include <linux/freezer.h>
#include <linux/fs.h>
#include "csr_wifi_hip_unifi.h"
#include "csr_wifi_hip_unifi_udi.h"
#include "csr_wifi_router_lib.h"
#include "unifiio.h"
#include "csr_wifi_vif_utils.h"
#include "unifi_clients.h"
#include "unifi_sme.h"

Go to the source code of this file.

Data Structures

struct  dlpriv
 
struct  uf_thread
 
struct  rx_buffered_packets
 
struct  tx_buffered_packets
 
struct  CsrWifiRouterCtrlStaInfo_t
 
struct  unifi_priv
 
struct  unifi_OsQosInfo
 
struct  frame_desc_struct
 
struct  ba_session_rx_struct
 
struct  ba_session_tx_struct
 
struct  netInterface_priv
 
struct  __attribute__
 

Macros

#define UNIFI_NAME   "unifi"
 
#define MAX_UNIFI_DEVS   2
 
#define MAC_HEADER_SIZE   24
 
#define QOS_CONTROL_HEADER_SIZE   2
 
#define HT_CONTROL_HEADER_SIZE   4
 
#define QOS_DATA   0x8
 
#define QOS_DATA_NULL   0xc
 
#define DATA_NULL   0x04
 
#define FRAME_CONTROL_ORDER_BIT   0x8000
 
#define FRAME_CONTROL_TYPE_FIELD_OFFSET   2
 
#define FRAME_CONTROL_SUBTYPE_FIELD_OFFSET   4
 
#define IEEE802_11_FRAMETYPE_DATA   0x02
 
#define IEEE802_11_FRAMETYPE_CONTROL   0x01
 
#define IEEE802_11_FRAMETYPE_MANAGEMENT   0x00
 
#define IEEE802_11_FRAMETYPE_RESERVED   0x03
 
#define IEEE802_11_ADDR3_OFFSET   16
 
#define IEEE802_11_SEQUENCE_CONTROL_OFFSET   22
 
#define IEEE802_11_MAX_DATA_LEN   2304
 
#define IEEE802_11_FC_TO_DS_MASK   0x100
 
#define IEEE802_11_FC_FROM_DS_MASK   0x200
 
#define IEEE802_11_FC_MOREDATA_MASK   0x2000
 
#define IEEE802_11_FC_PROTECTED_MASK   0x4000
 
#define IEEE80211_FC_ORDER_MASK   0x8000
 
#define IEEE80211_FC_SUBTYPE_MASK   0x00f0
 
#define IEEE80211_FC_TYPE_MASK   0x000c
 
#define IEEE80211_FC_PROTO_VERSION_MASK   0x0003
 
#define IEEE802_11_FC_TYPE_DATA   0x08
 
#define IEEE802_11_FC_TYPE_NULL   0x48
 
#define IEEE802_11_FC_TYPE_QOS_NULL   0xc8
 
#define IEEE802_11_FC_TYPE_QOS_DATA   0x88
 
#define IEEE802_11_FC_TYPE_DATA_SUBTYPE_RESERVED   0x0D
 
#define IEEE802_11_QC_TID_MASK   0x0f
 
#define IEEE802_11_QC_A_MSDU_PRESENT   0x80
 
#define CSR_WIFI_EAPOL_M4_HOST_TAG   0x50000000
 
#define IEEE802_11_DATA_FRAME_MAC_HEADER_SIZE   36
 
#define MAX_ACCESS_CATOGORY   4
 
#define INACTIVITY_CHECK_INTERVAL   300000000
 
#define MAX_INACTIVITY_INTERVAL   300000000
 
#define MAX_SUPPORTED_BA_SESSIONS_TX   1
 
#define MAX_SUPPORTED_BA_SESSIONS_RX   4
 
#define MAX_BA_WIND_SIZE   64
 
#define MAC_HEADER_ADDR1_OFFSET   4
 
#define MAC_HEADER_ADDR2_OFFSET   10
 
#define CSR_WIFI_BA_MPDU_FRAME_AGE_TIMEOUT   30000 /* 30 milli seconds */
 
#define ADDRESS_ONE_OFFSET   20
 
#define STA_INACTIVE_DETECTION_TRIGGER_THRESHOLD   1 /* in number of stations */
 
#define STA_INACTIVE_DETECTION_TIMER_INTERVAL   30 /* in seconds */
 
#define STA_INACTIVE_TIMEOUT_VAL   120*1000*1000 /* 120 seconds */
 
#define CSR_WIFI_HIP_IS_AP_FW(mode)
 
#define CSR_WIFI_P2P_WILDCARD_SSID_LENGTH   0x7
 
#define CSR_WIFI_80211_FRAME_SUBTYPE_BEACON   0x8
 
#define CSR_WIFI_BEACON_FIXED_LENGTH   12
 
#define CSR_WIFI_FRAME_SUBTYPE_BIT_OFFSET   4
 
#define CSR_WIFI_80211_FRAME_SUBTYPE_BIT_MASK   ((u8)(0xF << CSR_WIFI_FRAME_SUBTYPE_BIT_OFFSET))
 
#define CSR_WIFI_80211_GET_FRAME_SUBTYPE(frameBuffer)   ((u8)(((u8 *)frameBuffer)[0] & CSR_WIFI_80211_FRAME_SUBTYPE_BIT_MASK) >> CSR_WIFI_FRAME_SUBTYPE_BIT_OFFSET)
 
#define CSR_WIFI_UNICAST_PDU   ((CsrWifiPacketType) 0x00)
 
#define CSR_WIFI_MULTICAST_PDU   ((CsrWifiPacketType) 0x1)
 
#define CSR_WIFI_BROADCAST_PDU   ((CsrWifiPacketType) 0x2)
 
#define PRIO_TO_NICE(prio)   ((prio) - MAX_RT_PRIO - 20)
 
#define CSR_WIFI_AC_TRIGGER_ONLY_ENABLED   0x00
 
#define CSR_WIFI_AC_DELIVERY_ONLY_ENABLE   0X01
 
#define CSR_WIFI_AC_TRIGGER_AND_DELIVERY_ENABLED   0X03
 
#define CSR_WIFI_AC_LEGACY_POWER_SAVE   0X02
 
#define IS_DELIVERY_ENABLED(mode)   (mode & CSR_WIFI_AC_DELIVERY_ONLY_ENABLE)? 1: 0
 
#define IS_DELIVERY_AND_TRIGGER_ENABLED(mode)   ((mode & CSR_WIFI_AC_DELIVERY_ONLY_ENABLE)||(mode & CSR_WIFI_AC_TRIGGER_AND_DELIVERY_ENABLED))? 1: 0
 
#define IS_DTIM_ACTIVE(flag, hostTag)   ((flag == TRUE || hostTag != INVALID_HOST_TAG))
 
#define INVALID_HOST_TAG   0xFFFFFFFF
 
#define UNIFI_TRAFFIC_Q_CONTENTION   UNIFI_TRAFFIC_Q_BE
 
#define CSR_WIFI_TIM_RESET   0
 
#define CSR_WIFI_TIM_SET   1
 
#define CSR_WIFI_TIM_RESETTING   2
 
#define CSR_WIFI_TIM_SETTING   3
 
#define UNIFI_INIT_NONE   0x00
 
#define UNIFI_INIT_IN_PROGRESS   0x01
 
#define UNIFI_INIT_FW_DOWNLOADED   0x02
 
#define UNIFI_INIT_COMPLETED   0x04
 
#define UF_UNCONTROLLED_PORT_Q   0
 
#define UF_CONTROLLED_PORT_Q   1
 
#define UNIFI_MAX_MULTICAST_ADDRESSES   10
 
#define LOCK_DRIVER(_p)   (void)(_p); /* as nothing */
 
#define UNLOCK_DRIVER(_p)   (void)(_p); /* as nothing */
 
#define _sdio_claim_host(_func)
 
#define _sdio_release_host(_func)
 
#define CsrSdioClaim(function)
 
#define CsrSdioRelease(function)
 
#define CLI_USING_WIRE_FORMAT   0x0002
 
#define CLI_SME_USERSPACE   0x0020
 
#define P80211_OUI_LEN   3
 
#define CSR_WIFI_PACK_SENDER_ID_LSB_FOR_TIM_REQ(handle, timState)   ((handle << 2) | timState)
 
#define CSR_WIFI_GET_STATION_HANDLE_FROM_RECEIVER_ID(receiverProcessId)   (u8) ((receiverProcessId & 0xff) >> 2)
 
#define CSR_WIFI_GET_TIMSET_STATE_FROM_RECEIVER_ID(receiverProcessId)   (u8) (receiverProcessId & 0x03)
 
#define CSR_WIFI_BROADCAST_OR_MULTICAST_HANDLE   0x3F
 
#define QOS_CAPABILITY_WMM_ENABLED   0x0001
 
#define QOS_CAPABILITY_WMM_UAPSD   0x0002
 
#define QOS_CAPABILITY_ACM_BE_ENABLED   0x0010
 
#define QOS_CAPABILITY_ACM_BK_ENABLED   0x0020
 
#define QOS_CAPABILITY_ACM_VI_ENABLED   0x0040
 
#define QOS_CAPABILITY_ACM_VO_ENABLED   0x0080
 
#define QOS_CAPABILITY_TS_BE_ENABLED   0x0100
 
#define QOS_CAPABILITY_TS_BK_ENABLED   0x0200
 
#define QOS_CAPABILITY_TS_VI_ENABLED   0x0400
 
#define QOS_CAPABILITY_TS_VO_ENABLED   0x0800
 
#define ETH_P_PAE   0x888e
 
#define ETH_P_WAI   0x88b4
 

Typedefs

typedef struct unifi_priv unifi_priv_t
 
typedef u8 CsrWifiPacketType
 
typedef struct rx_buffered_packets rx_buffered_packets_t
 
typedef u8 CsrWifiAcPowersaveMode
 
typedef struct tx_buffered_packets tx_buffered_packets_t
 
typedef struct
CsrWifiRouterCtrlStaInfo_t 
CsrWifiRouterCtrlStaInfo_t
 
typedef struct netInterface_priv netInterface_priv_t
 

Functions

s32 CsrHipResultToStatus (CsrResult csrResult)
 
int uf_sdio_load (void)
 
void uf_sdio_unload (void)
 
unifi_priv_tuf_find_instance (int inst)
 
int uf_find_priv (unifi_priv_t *priv)
 
int uf_find_netdev_priv (netInterface_priv_t *priv)
 
unifi_priv_tuf_get_instance (int inst)
 
void uf_put_instance (int inst)
 
int csr_sdio_linux_install_irq (CsrSdioFunction *sdio)
 
int csr_sdio_linux_remove_irq (CsrSdioFunction *sdio)
 
void uf_add_os_device (int bus_id, struct device *os_device)
 
void uf_remove_os_device (int bus_id)
 
unifi_priv_tuf_alloc_netdevice (CsrSdioFunction *sdio_dev, int bus_id)
 
int uf_free_netdevice (unifi_priv_t *priv)
 
u8 uf_alloc_netdevice_for_other_interfaces (unifi_priv_t *priv, u16 interfaceTag)
 
int uf_run_unifihelper (unifi_priv_t *priv)
 
int uf_request_firmware_files (unifi_priv_t *priv, int is_fw)
 
int uf_release_firmware_files (unifi_priv_t *priv)
 
int uf_release_firmware (unifi_priv_t *priv, struct dlpriv *to_free)
 
int uf_create_device_nodes (unifi_priv_t *priv, int bus_id)
 
void uf_destroy_device_nodes (unifi_priv_t *priv)
 
int uf_init_bh (unifi_priv_t *priv)
 
int uf_init_hw (unifi_priv_t *priv)
 
int uf_start_thread (unifi_priv_t *priv, struct uf_thread *thread, int(*func)(void *))
 
void uf_stop_thread (unifi_priv_t *priv, struct uf_thread *thread)
 
void uf_wait_for_thread_to_stop (unifi_priv_t *priv, struct uf_thread *thread)
 
void ul_init_clients (unifi_priv_t *priv)
 
ul_client_tul_register_client (unifi_priv_t *priv, unsigned int configuration, udi_event_t udi_event_clbk)
 
int ul_deregister_client (ul_client_t *pcli)
 
int ul_send_signal_unpacked (unifi_priv_t *priv, CSR_SIGNAL *sigptr, bulk_data_param_t *bulkdata)
 
int ul_send_signal_raw (unifi_priv_t *priv, unsigned char *sigptr, int siglen, bulk_data_param_t *bulkdata)
 
void ul_log_config_ind (unifi_priv_t *priv, u8 *conf_param, int len)
 
int uf_verify_m4 (unifi_priv_t *priv, const unsigned char *packet, unsigned int length)
 
CsrResult uf_process_ma_packet_req (unifi_priv_t *priv, u8 *peerMacAddress, CSR_CLIENT_TAG hostTag, u16 interfaceTag, CSR_TRANSMISSION_CONTROL transmissionControl, CSR_RATE TransmitRate, CSR_PRIORITY priority, CSR_PROCESS_ID senderId, bulk_data_param_t *bulkdata)
 
void uf_process_ma_vif_availibility_ind (unifi_priv_t *priv, u8 *sigdata, u32 siglen)
 
int skb_add_llc_snap (struct net_device *dev, struct sk_buff *skb, int proto)
 
int skb_80211_to_ether (unifi_priv_t *priv, struct sk_buff *skb, const unsigned char *daddr, const unsigned char *saddr, const CSR_SIGNAL *signal, bulk_data_param_t *bulkdata)
 
const charresult_code_str (int result)
 
int prepare_and_add_macheader (unifi_priv_t *priv, struct sk_buff *skb, struct sk_buff *newSkb, CSR_PRIORITY priority, bulk_data_param_t *bulkdata, u16 interfaceTag, const u8 *daddr, const u8 *saddr, u8 protection)
 
CSR_PRIORITY get_packet_priority (unifi_priv_t *priv, struct sk_buff *skb, const struct ethhdr *ehdr, netInterface_priv_t *interfacePriv)
 
void unifi_frame_ma_packet_req (unifi_priv_t *priv, CSR_PRIORITY priority, CSR_RATE TransmitRate, CSR_CLIENT_TAG hostTag, u16 interfaceTag, CSR_TRANSMISSION_CONTROL transmissionControl, CSR_PROCESS_ID leSenderProcessId, u8 *peerMacAddress, CSR_SIGNAL *signal)
 
void update_tim (unifi_priv_t *priv, u16 aid, u8 setTim, u16 interfaceTag, u32 handle)
 
void uf_handle_tim_cfm (unifi_priv_t *priv, CSR_MLME_SET_TIM_CONFIRM *cfm, u16 senderProcessId)
 
void CsrWifiRouterCtrlInterfaceReset (unifi_priv_t *priv, u16 interfaceTag)
 
void scroll_ba_window (unifi_priv_t *priv, netInterface_priv_t *interfacePriv, ba_session_rx_struct *ba_session, u16 sn)
 
u8 blockack_session_stop (unifi_priv_t *priv, u16 interfaceTag, CsrWifiRouterCtrlBlockAckRole role, u16 tID, CsrWifiMacAddress macAddress)
 
void uf_resume_data_plane (unifi_priv_t *priv, int queue, CsrWifiMacAddress peer_address, u16 interfaceTag)
 
void uf_free_pending_rx_packets (unifi_priv_t *priv, int queue, CsrWifiMacAddress peer_address, u16 interfaceTag)
 
int uf_register_netdev (unifi_priv_t *priv, int numOfInterface)
 
void uf_unregister_netdev (unifi_priv_t *priv)
 
void uf_net_get_name (struct net_device *dev, char *name, int len)
 
void uf_send_queue_info (unifi_priv_t *priv)
 
u16 uf_get_vif_identifier (CsrWifiRouterCtrlMode mode, u16 tag)
 
void uf_process_rx_pending_queue (unifi_priv_t *priv, int queue, CsrWifiMacAddress source_address, int indicate, u16 interfaceTag)
 
void uf_register_inet_notifier (void)
 
void uf_unregister_inet_notifier (void)
 
void unifi_resume (void *ospriv)
 
void unifi_suspend (void *ospriv)
 
void debug_string_indication (unifi_priv_t *priv, const unsigned char *extra, unsigned int extralen)
 
void debug_word16_indication (unifi_priv_t *priv, const CSR_SIGNAL *sigptr)
 
void debug_generic_indication (unifi_priv_t *priv, const CSR_SIGNAL *sigptr)
 
int unifi_putest_start (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_cmd52_block_read (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_stop (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_set_sdio_clock (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_cmd52_read (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_coredump_prepare (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_cmd52_write (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_gp_read16 (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_gp_write16 (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_dl_fw (unifi_priv_t *priv, unsigned char *arg)
 
int unifi_putest_dl_fw_buff (unifi_priv_t *priv, unsigned char *arg)
 

Variables

int buswidth
 
int sdio_clock
 
int use_5g
 
int disable_hw_reset
 
int disable_power_control
 
int enable_wol
 
int sme_debug
 
int fw_init [MAX_UNIFI_DEVS]
 
int tl_80211d
 
int sdio_byte_mode
 
int sdio_block_size
 
int coredump_max
 
int run_bh_once
 
int bh_priority
 

Macro Definition Documentation

#define _sdio_claim_host (   _func)

Definition at line 845 of file unifi_priv.h.

#define _sdio_release_host (   _func)

Definition at line 846 of file unifi_priv.h.

#define ADDRESS_ONE_OFFSET   20

Definition at line 160 of file unifi_priv.h.

#define CLI_SME_USERSPACE   0x0020

Definition at line 896 of file unifi_priv.h.

#define CLI_USING_WIRE_FORMAT   0x0002

Definition at line 895 of file unifi_priv.h.

#define CSR_WIFI_80211_FRAME_SUBTYPE_BEACON   0x8

Definition at line 173 of file unifi_priv.h.

#define CSR_WIFI_80211_FRAME_SUBTYPE_BIT_MASK   ((u8)(0xF << CSR_WIFI_FRAME_SUBTYPE_BIT_OFFSET))

Definition at line 176 of file unifi_priv.h.

#define CSR_WIFI_80211_GET_FRAME_SUBTYPE (   frameBuffer)    ((u8)(((u8 *)frameBuffer)[0] & CSR_WIFI_80211_FRAME_SUBTYPE_BIT_MASK) >> CSR_WIFI_FRAME_SUBTYPE_BIT_OFFSET)

Definition at line 178 of file unifi_priv.h.

#define CSR_WIFI_AC_DELIVERY_ONLY_ENABLE   0X01

Definition at line 256 of file unifi_priv.h.

#define CSR_WIFI_AC_LEGACY_POWER_SAVE   0X02

Definition at line 258 of file unifi_priv.h.

#define CSR_WIFI_AC_TRIGGER_AND_DELIVERY_ENABLED   0X03

Definition at line 257 of file unifi_priv.h.

#define CSR_WIFI_AC_TRIGGER_ONLY_ENABLED   0x00

Definition at line 255 of file unifi_priv.h.

#define CSR_WIFI_BA_MPDU_FRAME_AGE_TIMEOUT   30000 /* 30 milli seconds */

Definition at line 157 of file unifi_priv.h.

#define CSR_WIFI_BEACON_FIXED_LENGTH   12

Definition at line 174 of file unifi_priv.h.

#define CSR_WIFI_BROADCAST_OR_MULTICAST_HANDLE   0x3F

Definition at line 1017 of file unifi_priv.h.

#define CSR_WIFI_BROADCAST_PDU   ((CsrWifiPacketType) 0x2)

Definition at line 186 of file unifi_priv.h.

#define CSR_WIFI_EAPOL_M4_HOST_TAG   0x50000000

Definition at line 138 of file unifi_priv.h.

#define CSR_WIFI_FRAME_SUBTYPE_BIT_OFFSET   4

Definition at line 175 of file unifi_priv.h.

#define CSR_WIFI_GET_STATION_HANDLE_FROM_RECEIVER_ID (   receiverProcessId)    (u8) ((receiverProcessId & 0xff) >> 2)

Definition at line 1012 of file unifi_priv.h.

#define CSR_WIFI_GET_TIMSET_STATE_FROM_RECEIVER_ID (   receiverProcessId)    (u8) (receiverProcessId & 0x03)

Definition at line 1014 of file unifi_priv.h.

#define CSR_WIFI_HIP_IS_AP_FW (   mode)
Value:

Definition at line 168 of file unifi_priv.h.

#define CSR_WIFI_MULTICAST_PDU   ((CsrWifiPacketType) 0x1)

Definition at line 185 of file unifi_priv.h.

#define CSR_WIFI_P2P_WILDCARD_SSID_LENGTH   0x7

Definition at line 172 of file unifi_priv.h.

#define CSR_WIFI_PACK_SENDER_ID_LSB_FOR_TIM_REQ (   handle,
  timState 
)    ((handle << 2) | timState)

Definition at line 1010 of file unifi_priv.h.

#define CSR_WIFI_TIM_RESET   0

Definition at line 333 of file unifi_priv.h.

#define CSR_WIFI_TIM_RESETTING   2

Definition at line 335 of file unifi_priv.h.

#define CSR_WIFI_TIM_SET   1

Definition at line 334 of file unifi_priv.h.

#define CSR_WIFI_TIM_SETTING   3

Definition at line 336 of file unifi_priv.h.

#define CSR_WIFI_UNICAST_PDU   ((CsrWifiPacketType) 0x00)

Definition at line 184 of file unifi_priv.h.

#define CsrSdioClaim (   function)

Definition at line 848 of file unifi_priv.h.

#define CsrSdioRelease (   function)

Definition at line 849 of file unifi_priv.h.

#define DATA_NULL   0x04

Definition at line 96 of file unifi_priv.h.

#define ETH_P_PAE   0x888e

Definition at line 1106 of file unifi_priv.h.

#define ETH_P_WAI   0x88b4

Definition at line 1109 of file unifi_priv.h.

#define FRAME_CONTROL_ORDER_BIT   0x8000

Definition at line 97 of file unifi_priv.h.

#define FRAME_CONTROL_SUBTYPE_FIELD_OFFSET   4

Definition at line 99 of file unifi_priv.h.

#define FRAME_CONTROL_TYPE_FIELD_OFFSET   2

Definition at line 98 of file unifi_priv.h.

#define HT_CONTROL_HEADER_SIZE   4

Definition at line 93 of file unifi_priv.h.

#define IEEE80211_FC_ORDER_MASK   0x8000

Definition at line 115 of file unifi_priv.h.

#define IEEE80211_FC_PROTO_VERSION_MASK   0x0003

Definition at line 118 of file unifi_priv.h.

#define IEEE80211_FC_SUBTYPE_MASK   0x00f0

Definition at line 116 of file unifi_priv.h.

#define IEEE80211_FC_TYPE_MASK   0x000c

Definition at line 117 of file unifi_priv.h.

#define IEEE802_11_ADDR3_OFFSET   16

Definition at line 106 of file unifi_priv.h.

#define IEEE802_11_DATA_FRAME_MAC_HEADER_SIZE   36

Definition at line 139 of file unifi_priv.h.

#define IEEE802_11_FC_FROM_DS_MASK   0x200

Definition at line 112 of file unifi_priv.h.

#define IEEE802_11_FC_MOREDATA_MASK   0x2000

Definition at line 113 of file unifi_priv.h.

#define IEEE802_11_FC_PROTECTED_MASK   0x4000

Definition at line 114 of file unifi_priv.h.

#define IEEE802_11_FC_TO_DS_MASK   0x100

Definition at line 111 of file unifi_priv.h.

#define IEEE802_11_FC_TYPE_DATA   0x08

Definition at line 123 of file unifi_priv.h.

#define IEEE802_11_FC_TYPE_DATA_SUBTYPE_RESERVED   0x0D

Definition at line 128 of file unifi_priv.h.

#define IEEE802_11_FC_TYPE_NULL   0x48

Definition at line 124 of file unifi_priv.h.

#define IEEE802_11_FC_TYPE_QOS_DATA   0x88

Definition at line 126 of file unifi_priv.h.

#define IEEE802_11_FC_TYPE_QOS_NULL   0xc8

Definition at line 125 of file unifi_priv.h.

#define IEEE802_11_FRAMETYPE_CONTROL   0x01

Definition at line 101 of file unifi_priv.h.

#define IEEE802_11_FRAMETYPE_DATA   0x02

Definition at line 100 of file unifi_priv.h.

#define IEEE802_11_FRAMETYPE_MANAGEMENT   0x00

Definition at line 102 of file unifi_priv.h.

#define IEEE802_11_FRAMETYPE_RESERVED   0x03

Definition at line 103 of file unifi_priv.h.

#define IEEE802_11_MAX_DATA_LEN   2304

Definition at line 108 of file unifi_priv.h.

#define IEEE802_11_QC_A_MSDU_PRESENT   0x80

Definition at line 132 of file unifi_priv.h.

#define IEEE802_11_QC_TID_MASK   0x0f

Definition at line 131 of file unifi_priv.h.

#define IEEE802_11_SEQUENCE_CONTROL_OFFSET   22

Definition at line 107 of file unifi_priv.h.

#define INACTIVITY_CHECK_INTERVAL   300000000

Definition at line 143 of file unifi_priv.h.

#define INVALID_HOST_TAG   0xFFFFFFFF

Definition at line 264 of file unifi_priv.h.

#define IS_DELIVERY_AND_TRIGGER_ENABLED (   mode)    ((mode & CSR_WIFI_AC_DELIVERY_ONLY_ENABLE)||(mode & CSR_WIFI_AC_TRIGGER_AND_DELIVERY_ENABLED))? 1: 0

Definition at line 262 of file unifi_priv.h.

#define IS_DELIVERY_ENABLED (   mode)    (mode & CSR_WIFI_AC_DELIVERY_ONLY_ENABLE)? 1: 0

Definition at line 261 of file unifi_priv.h.

#define IS_DTIM_ACTIVE (   flag,
  hostTag 
)    ((flag == TRUE || hostTag != INVALID_HOST_TAG))

Definition at line 263 of file unifi_priv.h.

#define LOCK_DRIVER (   _p)    (void)(_p); /* as nothing */

Definition at line 780 of file unifi_priv.h.

#define MAC_HEADER_ADDR1_OFFSET   4

Definition at line 153 of file unifi_priv.h.

#define MAC_HEADER_ADDR2_OFFSET   10

Definition at line 154 of file unifi_priv.h.

#define MAC_HEADER_SIZE   24

Definition at line 91 of file unifi_priv.h.

#define MAX_ACCESS_CATOGORY   4

Definition at line 140 of file unifi_priv.h.

#define MAX_BA_WIND_SIZE   64

Definition at line 152 of file unifi_priv.h.

#define MAX_INACTIVITY_INTERVAL   300000000

Definition at line 145 of file unifi_priv.h.

#define MAX_SUPPORTED_BA_SESSIONS_RX   4

Definition at line 150 of file unifi_priv.h.

#define MAX_SUPPORTED_BA_SESSIONS_TX   1

Definition at line 149 of file unifi_priv.h.

#define MAX_UNIFI_DEVS   2

Definition at line 88 of file unifi_priv.h.

#define P80211_OUI_LEN   3

Definition at line 970 of file unifi_priv.h.

#define PRIO_TO_NICE (   prio)    ((prio) - MAX_RT_PRIO - 20)

Definition at line 188 of file unifi_priv.h.

#define QOS_CAPABILITY_ACM_BE_ENABLED   0x0010

Definition at line 1094 of file unifi_priv.h.

#define QOS_CAPABILITY_ACM_BK_ENABLED   0x0020

Definition at line 1095 of file unifi_priv.h.

#define QOS_CAPABILITY_ACM_VI_ENABLED   0x0040

Definition at line 1096 of file unifi_priv.h.

#define QOS_CAPABILITY_ACM_VO_ENABLED   0x0080

Definition at line 1097 of file unifi_priv.h.

#define QOS_CAPABILITY_TS_BE_ENABLED   0x0100

Definition at line 1098 of file unifi_priv.h.

#define QOS_CAPABILITY_TS_BK_ENABLED   0x0200

Definition at line 1099 of file unifi_priv.h.

#define QOS_CAPABILITY_TS_VI_ENABLED   0x0400

Definition at line 1100 of file unifi_priv.h.

#define QOS_CAPABILITY_TS_VO_ENABLED   0x0800

Definition at line 1101 of file unifi_priv.h.

#define QOS_CAPABILITY_WMM_ENABLED   0x0001

Definition at line 1092 of file unifi_priv.h.

#define QOS_CAPABILITY_WMM_UAPSD   0x0002

Definition at line 1093 of file unifi_priv.h.

#define QOS_CONTROL_HEADER_SIZE   2

Definition at line 92 of file unifi_priv.h.

#define QOS_DATA   0x8

Definition at line 94 of file unifi_priv.h.

#define QOS_DATA_NULL   0xc

Definition at line 95 of file unifi_priv.h.

#define STA_INACTIVE_DETECTION_TIMER_INTERVAL   30 /* in seconds */

Definition at line 164 of file unifi_priv.h.

#define STA_INACTIVE_DETECTION_TRIGGER_THRESHOLD   1 /* in number of stations */

Definition at line 163 of file unifi_priv.h.

#define STA_INACTIVE_TIMEOUT_VAL   120*1000*1000 /* 120 seconds */

Definition at line 165 of file unifi_priv.h.

#define UF_CONTROLLED_PORT_Q   1

Definition at line 593 of file unifi_priv.h.

#define UF_UNCONTROLLED_PORT_Q   0

Definition at line 592 of file unifi_priv.h.

#define UNIFI_INIT_COMPLETED   0x04

Definition at line 452 of file unifi_priv.h.

#define UNIFI_INIT_FW_DOWNLOADED   0x02

Definition at line 451 of file unifi_priv.h.

#define UNIFI_INIT_IN_PROGRESS   0x01

Definition at line 450 of file unifi_priv.h.

#define UNIFI_INIT_NONE   0x00

Definition at line 449 of file unifi_priv.h.

#define UNIFI_MAX_MULTICAST_ADDRESSES   10

Definition at line 716 of file unifi_priv.h.

#define UNIFI_NAME   "unifi"

Definition at line 81 of file unifi_priv.h.

#define UNIFI_TRAFFIC_Q_CONTENTION   UNIFI_TRAFFIC_Q_BE

Definition at line 265 of file unifi_priv.h.

#define UNLOCK_DRIVER (   _p)    (void)(_p); /* as nothing */

Definition at line 781 of file unifi_priv.h.

Typedef Documentation

Definition at line 254 of file unifi_priv.h.

Definition at line 183 of file unifi_priv.h.

Definition at line 59 of file unifi_priv.h.

Function Documentation

u8 blockack_session_stop ( unifi_priv_t priv,
u16  interfaceTag,
CsrWifiRouterCtrlBlockAckRole  role,
u16  tID,
CsrWifiMacAddress  macAddress 
)

Definition at line 2611 of file sme_sys.c.

int csr_sdio_linux_install_irq ( CsrSdioFunction sdio)

Definition at line 872 of file sdio_mmc.c.

int csr_sdio_linux_remove_irq ( CsrSdioFunction sdio)

Definition at line 842 of file sdio_mmc.c.

s32 CsrHipResultToStatus ( CsrResult  csrResult)

Definition at line 128 of file drv.c.

void CsrWifiRouterCtrlInterfaceReset ( unifi_priv_t priv,
u16  interfaceTag 
)

Definition at line 1724 of file sme_sys.c.

void debug_generic_indication ( unifi_priv_t priv,
const CSR_SIGNAL sigptr 
)

Definition at line 97 of file unifi_dbg.c.

void debug_string_indication ( unifi_priv_t priv,
const unsigned char extra,
unsigned int  extralen 
)

Definition at line 32 of file unifi_dbg.c.

void debug_word16_indication ( unifi_priv_t priv,
const CSR_SIGNAL sigptr 
)

Definition at line 52 of file unifi_dbg.c.

CSR_PRIORITY get_packet_priority ( unifi_priv_t priv,
struct sk_buff skb,
const struct ethhdr ehdr,
netInterface_priv_t interfacePriv 
)

Definition at line 746 of file netdev.c.

int prepare_and_add_macheader ( unifi_priv_t priv,
struct sk_buff skb,
struct sk_buff newSkb,
CSR_PRIORITY  priority,
bulk_data_param_t bulkdata,
u16  interfaceTag,
const u8 daddr,
const u8 saddr,
u8  protection 
)

Definition at line 1201 of file netdev.c.

const char* result_code_str ( int  result)
void scroll_ba_window ( unifi_priv_t priv,
netInterface_priv_t interfacePriv,
ba_session_rx_struct ba_session,
u16  sn 
)

Definition at line 3136 of file netdev.c.

int skb_80211_to_ether ( unifi_priv_t priv,
struct sk_buff skb,
const unsigned char daddr,
const unsigned char saddr,
const CSR_SIGNAL signal,
bulk_data_param_t bulkdata 
)

Definition at line 1017 of file netdev.c.

int skb_add_llc_snap ( struct net_device dev,
struct sk_buff skb,
int  proto 
)

Definition at line 844 of file netdev.c.

void uf_add_os_device ( int  bus_id,
struct device os_device 
)

Definition at line 991 of file io.c.

unifi_priv_t* uf_alloc_netdevice ( CsrSdioFunction sdio_dev,
int  bus_id 
)

Definition at line 182 of file netdev.c.

u8 uf_alloc_netdevice_for_other_interfaces ( unifi_priv_t priv,
u16  interfaceTag 
)

Definition at line 412 of file netdev.c.

int uf_create_device_nodes ( unifi_priv_t priv,
int  bus_id 
)

Definition at line 1999 of file drv.c.

void uf_destroy_device_nodes ( unifi_priv_t priv)

Definition at line 2060 of file drv.c.

unifi_priv_t* uf_find_instance ( int  inst)

Definition at line 709 of file io.c.

int uf_find_netdev_priv ( netInterface_priv_t priv)

Definition at line 763 of file io.c.

int uf_find_priv ( unifi_priv_t priv)

Definition at line 732 of file io.c.

int uf_free_netdevice ( unifi_priv_t priv)

Definition at line 476 of file netdev.c.

void uf_free_pending_rx_packets ( unifi_priv_t priv,
int  queue,
CsrWifiMacAddress  peer_address,
u16  interfaceTag 
)

Definition at line 2142 of file netdev.c.

unifi_priv_t* uf_get_instance ( int  inst)

Definition at line 795 of file io.c.

u16 uf_get_vif_identifier ( CsrWifiRouterCtrlMode  mode,
u16  tag 
)

Definition at line 1201 of file unifi_pdu_processing.c.

void uf_handle_tim_cfm ( unifi_priv_t priv,
CSR_MLME_SET_TIM_CONFIRM cfm,
u16  senderProcessId 
)
int uf_init_bh ( unifi_priv_t priv)

Definition at line 324 of file bh.c.

int uf_init_hw ( unifi_priv_t priv)

Definition at line 47 of file init_hw.c.

void uf_net_get_name ( struct net_device dev,
char name,
int  len 
)

Definition at line 2926 of file netdev.c.

CsrResult uf_process_ma_packet_req ( unifi_priv_t priv,
u8 peerMacAddress,
CSR_CLIENT_TAG  hostTag,
u16  interfaceTag,
CSR_TRANSMISSION_CONTROL  transmissionControl,
CSR_RATE  TransmitRate,
CSR_PRIORITY  priority,
CSR_PROCESS_ID  senderId,
bulk_data_param_t bulkdata 
)

Definition at line 1642 of file unifi_pdu_processing.c.

void uf_process_ma_vif_availibility_ind ( unifi_priv_t priv,
u8 sigdata,
u32  siglen 
)

Definition at line 2115 of file unifi_pdu_processing.c.

void uf_process_rx_pending_queue ( unifi_priv_t priv,
int  queue,
CsrWifiMacAddress  source_address,
int  indicate,
u16  interfaceTag 
)

Definition at line 2033 of file netdev.c.

void uf_put_instance ( int  inst)

Definition at line 826 of file io.c.

void uf_register_inet_notifier ( void  )

Definition at line 94 of file inet.c.

int uf_register_netdev ( unifi_priv_t priv,
int  numOfInterface 
)

Definition at line 151 of file io.c.

int uf_release_firmware ( unifi_priv_t priv,
struct dlpriv to_free 
)

Definition at line 402 of file firmware.c.

int uf_release_firmware_files ( unifi_priv_t priv)

Definition at line 381 of file firmware.c.

void uf_remove_os_device ( int  bus_id)

Definition at line 1004 of file io.c.

int uf_request_firmware_files ( unifi_priv_t priv,
int  is_fw 
)

Definition at line 325 of file firmware.c.

void uf_resume_data_plane ( unifi_priv_t priv,
int  queue,
CsrWifiMacAddress  peer_address,
u16  interfaceTag 
)

Definition at line 2108 of file netdev.c.

int uf_run_unifihelper ( unifi_priv_t priv)

Definition at line 243 of file firmware.c.

int uf_sdio_load ( void  )

Definition at line 1127 of file io.c.

void uf_sdio_unload ( void  )

Definition at line 1143 of file io.c.

void uf_send_queue_info ( unifi_priv_t priv)
int uf_start_thread ( unifi_priv_t priv,
struct uf_thread thread,
int(*)(void *)  func 
)

Definition at line 35 of file bh.c.

void uf_stop_thread ( unifi_priv_t priv,
struct uf_thread thread 
)

Definition at line 95 of file bh.c.

void uf_unregister_inet_notifier ( void  )

Definition at line 101 of file inet.c.

void uf_unregister_netdev ( unifi_priv_t priv)

Definition at line 205 of file io.c.

int uf_verify_m4 ( unifi_priv_t priv,
const unsigned char packet,
unsigned int  length 
)

Definition at line 19 of file data_tx.c.

void uf_wait_for_thread_to_stop ( unifi_priv_t priv,
struct uf_thread thread 
)

Definition at line 126 of file bh.c.

int ul_deregister_client ( ul_client_t pcli)

Definition at line 150 of file ul_int.c.

void ul_init_clients ( unifi_priv_t priv)

Definition at line 43 of file ul_int.c.

void ul_log_config_ind ( unifi_priv_t priv,
u8 conf_param,
int  len 
)

Definition at line 251 of file ul_int.c.

ul_client_t* ul_register_client ( unifi_priv_t priv,
unsigned int  configuration,
udi_event_t  udi_event_clbk 
)

Definition at line 89 of file ul_int.c.

int ul_send_signal_raw ( unifi_priv_t priv,
unsigned char sigptr,
int  siglen,
bulk_data_param_t bulkdata 
)

Definition at line 492 of file ul_int.c.

int ul_send_signal_unpacked ( unifi_priv_t priv,
CSR_SIGNAL sigptr,
bulk_data_param_t bulkdata 
)

Definition at line 413 of file ul_int.c.

void unifi_frame_ma_packet_req ( unifi_priv_t priv,
CSR_PRIORITY  priority,
CSR_RATE  TransmitRate,
CSR_CLIENT_TAG  hostTag,
u16  interfaceTag,
CSR_TRANSMISSION_CONTROL  transmissionControl,
CSR_PROCESS_ID  leSenderProcessId,
u8 peerMacAddress,
CSR_SIGNAL signal 
)

Definition at line 53 of file unifi_pdu_processing.c.

int unifi_putest_cmd52_block_read ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 629 of file putest.c.

int unifi_putest_cmd52_read ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 24 of file putest.c.

int unifi_putest_cmd52_write ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 99 of file putest.c.

int unifi_putest_coredump_prepare ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 546 of file putest.c.

int unifi_putest_dl_fw ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 381 of file putest.c.

int unifi_putest_dl_fw_buff ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 467 of file putest.c.

int unifi_putest_gp_read16 ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 152 of file putest.c.

int unifi_putest_gp_write16 ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 214 of file putest.c.

int unifi_putest_set_sdio_clock ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 256 of file putest.c.

int unifi_putest_start ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 282 of file putest.c.

int unifi_putest_stop ( unifi_priv_t priv,
unsigned char arg 
)

Definition at line 337 of file putest.c.

void unifi_resume ( void ospriv)

Definition at line 91 of file sdio_events.c.

void unifi_suspend ( void ospriv)

Definition at line 45 of file sdio_events.c.

void update_tim ( unifi_priv_t priv,
u16  aid,
u8  setTim,
u16  interfaceTag,
u32  handle 
)

Variable Documentation

int bh_priority

Definition at line 63 of file drv.c.

int buswidth

Definition at line 46 of file drv.c.

int coredump_max

Definition at line 61 of file drv.c.

int disable_hw_reset

Definition at line 53 of file drv.c.

int disable_power_control

Definition at line 54 of file drv.c.

int enable_wol

Definition at line 55 of file drv.c.

int fw_init[MAX_UNIFI_DEVS]

Definition at line 50 of file drv.c.

int run_bh_once

Definition at line 62 of file drv.c.

int sdio_block_size

Definition at line 59 of file drv.c.

int sdio_byte_mode

Definition at line 60 of file drv.c.

int sdio_clock

Definition at line 47 of file drv.c.

int sme_debug
int tl_80211d
int use_5g

Definition at line 51 of file drv.c.