netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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, zhiyuan_yang@realsil.com.cn,
	page_he@realsil.com.cn
Subject: [PATCH 01/25] rtlwifi: Modify the master header for for updates to vendor version 2013.02.07
Date: Sun, 24 Mar 2013 22:06:33 -0500	[thread overview]
Message-ID: <1364180817-8028-2-git-send-email-Larry.Finger@lwfinger.net> (raw)
In-Reply-To: <1364180817-8028-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
Cc: zhiyuan_yang@realsil.com.cn
Cc: page_he@realsil.com.cn
---
 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 c3eff32..8098038 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

  reply	other threads:[~2013-03-25  3:07 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-25  3:06 [PATCH 00/25] Update rtlwifi drivers to 020713 vendor driver and add new rtl8188ee driver Larry Finger
2013-03-25  3:06 ` Larry Finger [this message]
2013-03-25  3:06 ` [PATCH 02/25] rtlwifi: Modify files for 2013.02.07 vendor version - part 2 Larry Finger
2013-03-25  3:06 ` [PATCH 03/25] rtlwifi: Modify files for 2013.02.07 vendor version - part 3 Larry Finger
2013-03-25  3:06 ` [PATCH 06/25] rtlwifi: rtl8192se: Update driver to match vendor driver of 2013.02.07 Larry Finger
2013-03-25  3:06 ` [PATCH 07/25] rtlwifi: rtl8723ae: Update to " Larry Finger
2013-03-25  3:06 ` [PATCH 08/25] rtlwifi: rtl8192c: rtl8192ce: " Larry Finger
2013-03-25  3:06 ` [PATCH 09/25] rtlwifi: Rework rtl_lps_leave() and rtl_lps_enter() to use work queue Larry Finger
2013-03-25  3:06 ` [PATCH 10/25] rtlwifi: rtl8188ee: Add new driver - part 1 Larry Finger
2013-03-25  3:06 ` [PATCH 11/25] rtlwifi: rtl8188ee: Add new driver files - part 2 Larry Finger
     [not found] ` <1364180817-8028-1-git-send-email-Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2013-03-25  3:06   ` [PATCH 04/25] rtlwifi: Modify files for 2013.02.07 vendor version - part 4 Larry Finger
2013-03-25  3:06   ` [PATCH 05/25] rtlwifi: Modify files for 2013.02.07 vendor version - part 5 Larry Finger
2013-03-25  3:06   ` [PATCH 12/25] rtlwifi: rtl8188ee: Add new driver files - part 3 Larry Finger
2013-03-25  3:06   ` [PATCH 19/25] rtlwifi: rtl8188ee: Add files for new driver - part 10 Larry Finger
2013-03-25  3:06 ` [PATCH 13/25] rtlwifi: rtl8188ee: Add files for new driver - part 4 Larry Finger
2013-03-25  3:06 ` [PATCH 14/25] rtlwifi: rtl8188ee: Add files for new driver - part 5 Larry Finger
2013-03-25  3:06 ` [PATCH 15/25] rtlwifi: rtl8188ee: Add files for new driver - part 6 Larry Finger
2013-03-25  3:06 ` [PATCH 16/25] rtlwifi: rtl8188ee: Add files for new driver - part 7 Larry Finger
2013-03-25  3:06 ` [PATCH 17/25] rtlwifi: rtl8188ee: Add files for new driver - part 8 Larry Finger
2013-03-25  3:06 ` [PATCH 18/25] rtlwifi: rtl8188ee: Add files for new driver - part 9 Larry Finger
2013-03-25  3:06 ` [PATCH 20/25] rtlwifi: rtl8188ee: Add files for new driver - part 11 Larry Finger
2013-03-25  3:06 ` [PATCH 21/25] rtlwifi: rtl8188ee: Add files for new driver - part 12 Larry Finger
2013-03-25  3:06 ` [PATCH 22/25] rtlwifi: rtl8188ee: Add files for new driver - part 13 Larry Finger
2013-03-25  3:06 ` [PATCH 23/25] rtlwifi: rtl8192c: rtl8192ce: rtl8192cu: rtl8192de: rtl8723ae: Add changes required by adding rtl81988ee Larry Finger
2013-03-25  3:06 ` [PATCH 24/25] rtlwifi: rtl8188ee: Enable recognition of RTL8188EE Larry Finger
2013-03-25  3:06 ` [PATCH 25/25] rtlwifi: rtl8188ee: Enable build of new driver 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=1364180817-8028-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 \
    --cc=page_he@realsil.com.cn \
    --cc=zhiyuan_yang@realsil.com.cn \
    /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).