Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 327919
b: refs/heads/master
c: 2461c7d
h: refs/heads/master
i:
  327917: 9f3ee39
  327915: 500d866
  327911: 99bcfbb
  327903: c280110
v: v3
  • Loading branch information
Larry Finger authored and John W. Linville committed Sep 7, 2012
1 parent f5a3823 commit 8eabce9
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8e2c406a5bd3923995f298f32eef25d5c2bcd4a8
refs/heads/master: 2461c7d60f9f3821274e4acf9019cba8b82c94b5
92 changes: 91 additions & 1 deletion trunk/drivers/net/wireless/rtlwifi/wifi.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ enum hardware_type {
HARDWARE_TYPE_RTL8192CU,
HARDWARE_TYPE_RTL8192DE,
HARDWARE_TYPE_RTL8192DU,
HARDWARE_TYPE_RTL8723E,
HARDWARE_TYPE_RTL8723AE,
HARDWARE_TYPE_RTL8723U,

/* keep it last */
Expand Down Expand Up @@ -389,6 +389,7 @@ enum rt_enc_alg {
RSERVED_ENCRYPTION = 3,
AESCCMP_ENCRYPTION = 4,
WEP104_ENCRYPTION = 5,
AESCMAC_ENCRYPTION = 6, /*IEEE802.11w */
};

enum rtl_hal_state {
Expand Down Expand Up @@ -873,6 +874,7 @@ struct rtl_phy {
u32 adda_backup[16];
u32 iqk_mac_backup[IQK_MAC_REG_NUM];
u32 iqk_bb_backup[10];
bool iqk_initialized;

/* Dual mac */
bool need_iqk;
Expand Down Expand Up @@ -910,6 +912,8 @@ struct rtl_phy {
#define RTL_AGG_OPERATIONAL 3
#define RTL_AGG_OFF 0
#define RTL_AGG_ON 1
#define RTL_RX_AGG_START 1
#define RTL_RX_AGG_STOP 0
#define RTL_AGG_EMPTYING_HW_QUEUE_ADDBA 2
#define RTL_AGG_EMPTYING_HW_QUEUE_DELBA 3

Expand All @@ -920,18 +924,27 @@ struct rtl_ht_agg {
u64 bitmap;
u32 rate_n_flags;
u8 agg_state;
u8 rx_agg_state;
};

struct rtl_tid_data {
u16 seq_number;
struct rtl_ht_agg agg;
};

struct rssi_sta {
long undecorated_smoothed_pwdb;
};

struct rtl_sta_info {
struct list_head list;
u8 ratr_index;
u8 wireless_mode;
u8 mimo_ps;
struct rtl_tid_data tids[MAX_TID_COUNT];

/* just used for ap adhoc or mesh*/
struct rssi_sta rssi_stat;
} __packed;

struct rtl_priv;
Expand Down Expand Up @@ -1034,6 +1047,11 @@ struct rtl_mac {
struct rtl_hal {
struct ieee80211_hw *hw;

bool up_first_time;
bool first_init;
bool being_init_adapter;
bool bbrf_ready;

enum intf_type interface;
u16 hw_type; /*92c or 92d or 92s and so on */
u8 ic_class;
Expand All @@ -1048,6 +1066,7 @@ struct rtl_hal {
u16 fw_subversion;
bool h2c_setinprogress;
u8 last_hmeboxnum;
bool fw_ready;
/*Reserve page start offset except beacon in TxQ. */
u8 fw_rsvdpage_startoffset;
u8 h2c_txcmd_seq;
Expand Down Expand Up @@ -1083,6 +1102,8 @@ struct rtl_hal {
bool load_imrandiqk_setting_for2g;

bool disable_amsdu_8k;
bool master_of_dmsp;
bool slave_of_dmsp;
};

struct rtl_security {
Expand Down Expand Up @@ -1144,6 +1165,9 @@ struct rtl_dm {
bool disable_tx_int;
char ofdm_index[2];
char cck_index;

/* DMSP */
bool supp_phymode_switch;
};

#define EFUSE_MAX_LOGICAL_SIZE 256
Expand Down Expand Up @@ -1337,13 +1361,19 @@ struct rtl_stats {
};

struct rt_link_detect {
/* count for roaming */
u32 bcn_rx_inperiod;
u32 roam_times;

u32 num_tx_in4period[4];
u32 num_rx_in4period[4];

u32 num_tx_inperiod;
u32 num_rx_inperiod;

bool busytraffic;
bool tx_busy_traffic;
bool rx_busy_traffic;
bool higher_busytraffic;
bool higher_busyrxtraffic;

Expand Down Expand Up @@ -1455,7 +1485,12 @@ struct rtl_hal_ops {
u32 regaddr, u32 bitmask);
void (*set_rfreg) (struct ieee80211_hw *hw, enum radio_path rfpath,
u32 regaddr, u32 bitmask, u32 data);
void (*allow_all_destaddr)(struct ieee80211_hw *hw,
bool allow_all_da, bool write_into_reg);
void (*linked_set_reg) (struct ieee80211_hw *hw);
void (*check_switch_to_dmdp) (struct ieee80211_hw *hw);
void (*dualmac_easy_concurrent) (struct ieee80211_hw *hw);
void (*dualmac_switch_to_dmdp) (struct ieee80211_hw *hw);
bool (*phy_rf6052_config) (struct ieee80211_hw *hw);
void (*phy_rf6052_set_cck_txpower) (struct ieee80211_hw *hw,
u8 *powerlevel);
Expand All @@ -1475,6 +1510,8 @@ struct rtl_intf_ops {
void (*read_efuse_byte)(struct ieee80211_hw *hw, u16 _offset, u8 *pbuf);
int (*adapter_start) (struct ieee80211_hw *hw);
void (*adapter_stop) (struct ieee80211_hw *hw);
bool (*check_buddy_priv)(struct ieee80211_hw *hw,
struct rtl_priv **buddy_priv);

int (*adapter_tx) (struct ieee80211_hw *hw,
struct ieee80211_sta *sta,
Expand Down Expand Up @@ -1559,18 +1596,24 @@ struct rtl_locks {
spinlock_t h2c_lock;
spinlock_t rf_ps_lock;
spinlock_t rf_lock;
spinlock_t lps_lock;
spinlock_t waitq_lock;
spinlock_t entry_list_lock;
spinlock_t usb_lock;

/*Dual mac*/
spinlock_t cck_and_rw_pagea_lock;

/*Easy concurrent*/
spinlock_t check_sendpkt_lock;
};

struct rtl_works {
struct ieee80211_hw *hw;

/*timer */
struct timer_list watchdog_timer;
struct timer_list dualmac_easyconcurrent_retrytimer;

/*task */
struct tasklet_struct irq_tasklet;
Expand Down Expand Up @@ -1598,6 +1641,31 @@ struct rtl_debug {
char proc_name[20];
};

#define MIMO_PS_STATIC 0
#define MIMO_PS_DYNAMIC 1
#define MIMO_PS_NOLIMIT 3

struct rtl_dualmac_easy_concurrent_ctl {
enum band_type currentbandtype_backfordmdp;
bool close_bbandrf_for_dmsp;
bool change_to_dmdp;
bool change_to_dmsp;
bool switch_in_process;
};

struct rtl_dmsp_ctl {
bool activescan_for_slaveofdmsp;
bool scan_for_anothermac_fordmsp;
bool scan_for_itself_fordmsp;
bool writedig_for_anothermacofdmsp;
u32 curdigvalue_for_anothermacofdmsp;
bool changecckpdstate_for_anothermacofdmsp;
u8 curcckpdstate_for_anothermacofdmsp;
bool changetxhighpowerlvl_for_anothermacofdmsp;
u8 curtxhighlvl_for_anothermacofdmsp;
long rssivalmin_for_anothermacofdmsp;
};

struct ps_t {
u8 pre_ccastate;
u8 cur_ccasate;
Expand Down Expand Up @@ -1657,8 +1725,20 @@ struct dig_t {
char backoffval_range_min;
};

struct rtl_global_var {
/* from this list we can get
* other adapter's rtl_priv */
struct list_head glb_priv_list;
spinlock_t glb_list_lock;
};

struct rtl_priv {
struct completion firmware_loading_complete;
struct list_head list;
struct rtl_priv *buddy_priv;
struct rtl_global_var *glb_var;
struct rtl_dualmac_easy_concurrent_ctl easy_concurrent_ctl;
struct rtl_dmsp_ctl dmsp_ctl;
struct rtl_locks locks;
struct rtl_works works;
struct rtl_mac mac80211;
Expand All @@ -1679,6 +1759,9 @@ struct rtl_priv {

struct rtl_rate_priv *rate_priv;

/* sta entry list for ap adhoc or mesh */
struct list_head entry_list;

struct rtl_debug dbg;
int max_fw_size;

Expand Down Expand Up @@ -2105,4 +2188,11 @@ static inline struct ieee80211_sta *get_sta(struct ieee80211_hw *hw,
return ieee80211_find_sta(vif, bssid);
}

static inline struct ieee80211_sta *rtl_find_sta(struct ieee80211_hw *hw,
u8 *mac_addr)
{
struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
return ieee80211_find_sta(mac->vif, mac_addr);
}

#endif

0 comments on commit 8eabce9

Please sign in to comment.