From: Larry Finger <Larry.Finger@lwfinger.net>
To: linville@tuxdriver.com
Cc: linux-wireless@vger.kernel.org,
Larry Finger <Larry.Finger@lwfinger.net>,
netdev@vger.kernel.org, jcheung@suse.com, machen@suse.com,
mmarek@suse.cz
Subject: [RFC/RFT 01/27] rtlwifi: Modify the master header for for updates to vendor version 2013.02.07
Date: Mon, 25 Feb 2013 18:13:13 -0600 [thread overview]
Message-ID: <1361837619-2985-2-git-send-email-Larry.Finger@lwfinger.net> (raw)
In-Reply-To: <1361837619-2985-1-git-send-email-Larry.Finger@lwfinger.net>
These changes add the new variables for P2P and modify the various struct
definitions for other new features.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: jcheung@suse.com
Cc: machen@suse.com
Cc: mmarek@suse.cz
---
drivers/net/wireless/rtlwifi/wifi.h | 80 ++++++++++++++++++++++++++++++++++++-
1 file changed, 79 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/rtlwifi/wifi.h b/drivers/net/wireless/rtlwifi/wifi.h
index f13258a..9536963 100644
--- a/drivers/net/wireless/rtlwifi/wifi.h
+++ b/drivers/net/wireless/rtlwifi/wifi.h
@@ -278,7 +278,10 @@ enum hw_variables {
HW_VAR_SET_RPWM,
HW_VAR_H2C_FW_PWRMODE,
HW_VAR_H2C_FW_JOINBSSRPT,
+ HW_VAR_H2C_FW_P2P_PS_OFFLOAD,
HW_VAR_FW_PSMODE_STATUS,
+ HW_VAR_RESUME_CLK_ON,
+ HW_VAR_FW_LPS_ACTION,
HW_VAR_1X1_RECV_COMBINE,
HW_VAR_STOP_SEND_BEACON,
HW_VAR_TSF_TIMER,
@@ -461,6 +464,7 @@ enum rtl_var_map {
EFUSE_MAX_SECTION_MAP,
EFUSE_REAL_CONTENT_SIZE,
EFUSE_OOB_PROTECT_BYTES_LEN,
+ EFUSE_ACCESS,
/*CAM map */
RWCAM,
@@ -826,7 +830,64 @@ struct rtl_rfkill {
bool rfkill_state; /*0 is off, 1 is on */
};
-#define IQK_MATRIX_REG_NUM 8
+/*for P2P PS**/
+#define P2P_MAX_NOA_NUM 2
+
+enum p2p_role {
+ P2P_ROLE_DISABLE = 0,
+ P2P_ROLE_DEVICE = 1,
+ P2P_ROLE_CLIENT = 2,
+ P2P_ROLE_GO = 3
+};
+
+enum p2p_ps_state {
+ P2P_PS_DISABLE = 0,
+ P2P_PS_ENABLE = 1,
+ P2P_PS_SCAN = 2,
+ P2P_PS_SCAN_DONE = 3,
+ P2P_PS_ALLSTASLEEP = 4, /* for P2P GO */
+};
+
+enum p2p_ps_mode {
+ P2P_PS_NONE = 0,
+ P2P_PS_CTWINDOW = 1,
+ P2P_PS_NOA = 2,
+ P2P_PS_MIX = 3, /* CTWindow and NoA */
+};
+
+struct rtl_p2p_ps_info {
+ enum p2p_ps_mode p2p_ps_mode; /* indicate p2p ps mode */
+ enum p2p_ps_state p2p_ps_state; /* indicate p2p ps state */
+ u8 noa_index; /* Identifies instance of Notice of Absence timing. */
+ /* Client traffic window. A period of time in TU after TBTT. */
+ u8 ctwindow;
+ u8 opp_ps; /* opportunistic power save. */
+ u8 noa_num; /* number of NoA descriptor in P2P IE. */
+ /* Count for owner, Type of client. */
+ u8 noa_count_type[P2P_MAX_NOA_NUM];
+ /* Max duration for owner, preferred or min acceptable duration
+ * for client.
+ */
+ u32 noa_duration[P2P_MAX_NOA_NUM];
+ /* Length of interval for owner, preferred or max acceptable intervali
+ * of client.
+ */
+ u32 noa_interval[P2P_MAX_NOA_NUM];
+ /* schedule in terms of the lower 4 bytes of the TSF timer. */
+ u32 noa_start_time[P2P_MAX_NOA_NUM];
+};
+
+struct p2p_ps_offload_t {
+ u8 offload_en:1;
+ u8 role:1; /* 1: Owner, 0: Client */
+ u8 ctwindow_en:1;
+ u8 noa0_en:1;
+ u8 noa1_en:1;
+ u8 allstasleep:1;
+ u8 discovery:1;
+ u8 reserved:1;
+};
+ #define IQK_MATRIX_REG_NUM 8
#define IQK_MATRIX_SETTINGS_NUM (1 + 24 + 21)
struct iqk_matrix_regs {
bool iqk_done;
@@ -954,6 +1015,7 @@ struct rtl_sta_info {
u8 ratr_index;
u8 wireless_mode;
u8 mimo_ps;
+ u8 mac_addr[ETH_ALEN];
struct rtl_tid_data tids[MAX_TID_COUNT];
/* just used for ap adhoc or mesh*/
@@ -1005,6 +1067,8 @@ struct rtl_mac {
int n_bitrates;
bool offchan_delay;
+ u8 p2p; /*using p2p role*/
+ bool p2p_in_use;
/*filters */
u32 rx_conf;
@@ -1014,6 +1078,7 @@ struct rtl_mac {
bool act_scanning;
u8 cnt_after_linked;
+ bool skip_scan;
/* early mode */
/* skb wait queue */
@@ -1341,6 +1406,7 @@ struct rtl_ps_ctl {
bool fw_current_inpsmode;
u8 reg_max_lps_awakeintvl;
bool report_linked;
+ bool low_power_enable;/*for 32k*/
/*for IPS */
bool inactiveps;
@@ -1373,6 +1439,11 @@ struct rtl_ps_ctl {
unsigned long last_beacon;
unsigned long last_action;
unsigned long last_slept;
+
+ /*For P2P PS */
+ struct rtl_p2p_ps_info p2p_ps_info;
+ u8 pwr_mode;
+ u8 smart_ps;
};
struct rtl_stats {
@@ -1670,6 +1741,9 @@ struct rtl_locks {
spinlock_t entry_list_lock;
spinlock_t usb_lock;
+ /*FW clock change */
+ spinlock_t fw_ps_lock;
+
/*Dual mac*/
spinlock_t cck_and_rw_pagea_lock;
@@ -1683,6 +1757,8 @@ struct rtl_works {
/*timer */
struct timer_list watchdog_timer;
struct timer_list dualmac_easyconcurrent_retrytimer;
+ struct timer_list fw_clockoff_timer;
+ struct timer_list fast_antenna_training_timer;
/*task */
struct tasklet_struct irq_tasklet;
@@ -1696,6 +1772,7 @@ struct rtl_works {
/* For SW LPS */
struct delayed_work ps_work;
struct delayed_work ps_rfon_wq;
+ struct delayed_work fwevt_wq;
struct work_struct lps_leave_work;
};
@@ -1802,6 +1879,7 @@ struct rtl_global_var {
};
struct rtl_priv {
+ struct ieee80211_hw *hw;
struct completion firmware_loading_complete;
struct list_head list;
struct rtl_priv *buddy_priv;
--
1.8.1.4
next prev parent reply other threads:[~2013-02-26 0:14 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-26 0:13 [RFC/RFT 00/27] Updates for the rtlwifi family of drivers Larry Finger
2013-02-26 0:13 ` Larry Finger [this message]
2013-02-26 0:13 ` [RFC/RFT 03/27] rtlwifi: Modify files for 2013.02.07 vendor version - part 3 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 04/27] rtlwifi: Modify files for 2013.02.07 vendor version - part 4 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 05/27] " Larry Finger
2013-02-26 0:13 ` [RFC/RFT 06/27] rtlwifi: rtl8192se: Update driver to match vendor driver of 2013.02.07 Larry Finger
[not found] ` <1361837619-2985-1-git-send-email-Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2013-02-26 0:13 ` [RFC/RFT 02/27] rtlwifi: Modify files for 2013.02.07 vendor version - part 2 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 07/27] rtlwifi: rtl8723ae: Update to vendor driver of 2013.02.07 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 09/27] rtlwifi: Rework rtl_lps_leave() and rtl_lps_enter() to use work queue Larry Finger
2013-02-26 0:13 ` [RFC/RFT 11/27] rtlwifi: rtl8188ee: Add new driver files - part 2 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 15/27] rtlwifi: rtl8188ee: Add files for new driver - part 6 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 20/27] rtlwifi: rtl8188ee: Add files for new driver - part 11 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 27/27] rtlwifi: rtl8188ee: Enable build of new driver Larry Finger
2013-02-26 0:13 ` [RFC/RFT 08/27] rtlwifi: rtl8192c: rtl8192ce: Update to vendor driver of 2013.02.07 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 10/27] rtlwifi: rtl8188ee: Add new driver - part 1 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 12/27] rtlwifi: rtl8188ee: Add new driver files - part 3 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 13/27] rtlwifi: rtl8188ee: Add files for new driver - part 4 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 14/27] rtlwifi: rtl8188ee: Add files for new driver - part 5 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 16/27] rtlwifi: rtl8188ee: Add files for new driver - part 7 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 17/27] rtlwifi: rtl8188ee: Add files for new driver - part 8 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 18/27] rtlwifi: rtl8188ee: Add files for new driver - part 9 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 19/27] rtlwifi: rtl8188ee: Add files for new driver - part 10 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 21/27] rtlwifi: rtl8188ee: Add files for new driver - part 12 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 22/27] rtlwifi: rtl8188ee: Add files for new driver - part 13 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 23/27] rtlwifi: rtl8188ee: Add files for new driver - part 14 Larry Finger
2013-02-26 0:13 ` [RFC/RFT 24/27] rtlwifi: rtl8192c: rtl8192ce: rtl8192cu: rtl8192de: rtl8723ae: Add changes required by adding rtl81988ee Larry Finger
2013-02-26 0:13 ` [RFC/RFT 25/27] rtlwifi: rtl8188ee: Enable recognition of RTL8188EE Larry Finger
2013-02-26 0:13 ` [RFC/RFT 26/27] rtlwifi: rtl8188e: Remove some CamelCase variable names Larry Finger
2013-02-26 2:22 ` [RFC/RFT 00/27] Updates for the rtlwifi family of drivers Joe Perches
2013-02-26 3:04 ` Larry Finger
[not found] ` <512C264A.3000104-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2013-02-26 3:26 ` Joe Perches
[not found] ` <CALx5=V_Y2=bZWXzc9uQkmTBAECeMLbnPU0VA56Wp2tNeBB3Dqw@mail.gmail.com>
2013-03-07 17:01 ` Larry Finger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1361837619-2985-2-git-send-email-Larry.Finger@lwfinger.net \
--to=larry.finger@lwfinger.net \
--cc=jcheung@suse.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=machen@suse.com \
--cc=mmarek@suse.cz \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).