Linux Kernel
3.7.1
|
#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__ |
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 |
#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 | ) |
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.
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.
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.
Definition at line 164 of file unifi_priv.h.
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.
Definition at line 781 of file unifi_priv.h.
typedef u8 CsrWifiAcPowersaveMode |
Definition at line 254 of file unifi_priv.h.
typedef u8 CsrWifiPacketType |
Definition at line 183 of file unifi_priv.h.
typedef struct unifi_priv unifi_priv_t |
Definition at line 59 of file unifi_priv.h.
u8 blockack_session_stop | ( | unifi_priv_t * | priv, |
u16 | interfaceTag, | ||
CsrWifiRouterCtrlBlockAckRole | role, | ||
u16 | tID, | ||
CsrWifiMacAddress | macAddress | ||
) |
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.
void CsrWifiRouterCtrlInterfaceReset | ( | unifi_priv_t * | priv, |
u16 | interfaceTag | ||
) |
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 | ||
) |
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 | ||
) |
void scroll_ba_window | ( | unifi_priv_t * | priv, |
netInterface_priv_t * | interfacePriv, | ||
ba_session_rx_struct * | ba_session, | ||
u16 | sn | ||
) |
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 | ||
) |
unifi_priv_t* uf_alloc_netdevice | ( | CsrSdioFunction * | sdio_dev, |
int | bus_id | ||
) |
u8 uf_alloc_netdevice_for_other_interfaces | ( | unifi_priv_t * | priv, |
u16 | interfaceTag | ||
) |
int uf_create_device_nodes | ( | unifi_priv_t * | priv, |
int | bus_id | ||
) |
void uf_destroy_device_nodes | ( | unifi_priv_t * | priv | ) |
unifi_priv_t* uf_find_instance | ( | int | inst | ) |
int uf_find_netdev_priv | ( | netInterface_priv_t * | priv | ) |
int uf_find_priv | ( | unifi_priv_t * | priv | ) |
int uf_free_netdevice | ( | unifi_priv_t * | priv | ) |
void uf_free_pending_rx_packets | ( | unifi_priv_t * | priv, |
int | queue, | ||
CsrWifiMacAddress | peer_address, | ||
u16 | interfaceTag | ||
) |
unifi_priv_t* uf_get_instance | ( | int | inst | ) |
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 | ) |
int uf_init_hw | ( | unifi_priv_t * | priv | ) |
void uf_net_get_name | ( | struct net_device * | dev, |
char * | name, | ||
int | len | ||
) |
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 | ||
) |
int uf_register_netdev | ( | unifi_priv_t * | priv, |
int | numOfInterface | ||
) |
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.
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 | ||
) |
int uf_run_unifihelper | ( | unifi_priv_t * | priv | ) |
Definition at line 243 of file firmware.c.
void uf_send_queue_info | ( | unifi_priv_t * | priv | ) |
void uf_stop_thread | ( | unifi_priv_t * | priv, |
struct uf_thread * | thread | ||
) |
void uf_unregister_netdev | ( | unifi_priv_t * | priv | ) |
int uf_verify_m4 | ( | unifi_priv_t * | priv, |
const unsigned char * | packet, | ||
unsigned int | length | ||
) |
void uf_wait_for_thread_to_stop | ( | unifi_priv_t * | priv, |
struct uf_thread * | thread | ||
) |
int ul_deregister_client | ( | ul_client_t * | pcli | ) |
void ul_init_clients | ( | unifi_priv_t * | priv | ) |
void ul_log_config_ind | ( | unifi_priv_t * | priv, |
u8 * | conf_param, | ||
int | len | ||
) |
ul_client_t* ul_register_client | ( | unifi_priv_t * | priv, |
unsigned int | configuration, | ||
udi_event_t | udi_event_clbk | ||
) |
int ul_send_signal_raw | ( | unifi_priv_t * | priv, |
unsigned char * | sigptr, | ||
int | siglen, | ||
bulk_data_param_t * | bulkdata | ||
) |
int ul_send_signal_unpacked | ( | unifi_priv_t * | priv, |
CSR_SIGNAL * | sigptr, | ||
bulk_data_param_t * | bulkdata | ||
) |
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 | ||
) |
int unifi_putest_cmd52_read | ( | unifi_priv_t * | priv, |
unsigned char * | arg | ||
) |
int unifi_putest_cmd52_write | ( | unifi_priv_t * | priv, |
unsigned char * | arg | ||
) |
int unifi_putest_coredump_prepare | ( | 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 | ||
) |
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_set_sdio_clock | ( | unifi_priv_t * | priv, |
unsigned char * | arg | ||
) |
int unifi_putest_start | ( | unifi_priv_t * | priv, |
unsigned char * | arg | ||
) |
int unifi_putest_stop | ( | unifi_priv_t * | priv, |
unsigned char * | arg | ||
) |
Definition at line 91 of file sdio_events.c.
Definition at line 45 of file sdio_events.c.
int fw_init[MAX_UNIFI_DEVS] |
int sme_debug |
int tl_80211d |