aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi/rtl8723ae
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2014-09-22 10:39:27 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-09-26 17:25:00 -0400
commit34ed780a6afc4df5e3285d20fac721c591e0724e (patch)
tree222af39b8ed4876c99cce6f6f6575f2ca0a53d76 /drivers/net/wireless/rtlwifi/rtl8723ae
parent21e4b0726dc671c423e2dc9a85364716219c4502 (diff)
rtlwifi: Fix problems with building an allyesconfig
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/rtl8723ae')
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/Makefile1
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/hw.c2
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.c2
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.c130
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.h98
5 files changed, 2 insertions, 231 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/Makefile b/drivers/net/wireless/rtlwifi/rtl8723ae/Makefile
index 4ed731f09b1f..9c34a85fdb89 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/Makefile
+++ b/drivers/net/wireless/rtlwifi/rtl8723ae/Makefile
@@ -10,7 +10,6 @@ rtl8723ae-objs := \
10 led.o \ 10 led.o \
11 phy.o \ 11 phy.o \
12 pwrseq.o \ 12 pwrseq.o \
13 pwrseqcmd.o \
14 rf.o \ 13 rf.o \
15 sw.o \ 14 sw.o \
16 table.o \ 15 table.o \
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/hw.c b/drivers/net/wireless/rtlwifi/rtl8723ae/hw.c
index dd8e76cb03aa..3338206af947 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/hw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723ae/hw.c
@@ -43,7 +43,7 @@
43#include "../rtl8723com/fw_common.h" 43#include "../rtl8723com/fw_common.h"
44#include "led.h" 44#include "led.h"
45#include "hw.h" 45#include "hw.h"
46#include "pwrseqcmd.h" 46#include "../pwrseqcmd.h"
47#include "pwrseq.h" 47#include "pwrseq.h"
48#include "btc.h" 48#include "btc.h"
49 49
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.c b/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.c
index df6ca9a57f7f..f907d7fd1ea4 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseq.c
@@ -27,7 +27,7 @@
27 * 27 *
28 *****************************************************************************/ 28 *****************************************************************************/
29 29
30#include "pwrseqcmd.h" 30#include "../pwrseqcmd.h"
31#include "pwrseq.h" 31#include "pwrseq.h"
32 32
33/* drivers should parse arrays below and do the corresponding actions */ 33/* drivers should parse arrays below and do the corresponding actions */
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.c b/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.c
deleted file mode 100644
index 239eb4473dd1..000000000000
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.c
+++ /dev/null
@@ -1,130 +0,0 @@
1/******************************************************************************
2 *
3 * Copyright(c) 2009-2012 Realtek Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17 *
18 * The full GNU General Public License is included in this distribution in the
19 * file called LICENSE.
20 *
21 * Contact Information:
22 * wlanfae <wlanfae@realtek.com>
23 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
24 * Hsinchu 300, Taiwan.
25 *
26 * Larry Finger <Larry.Finger@lwfinger.net>
27 *
28 *****************************************************************************/
29
30#include "pwrseqcmd.h"
31#include "pwrseq.h"
32
33/* Description:
34 * This routine deals with the Power Configuration CMD
35 * parsing for RTL8723/RTL8188E Series IC.
36 * Assumption:
37 * We should follow specific format that was released from HW SD.
38 */
39bool rtl_hal_pwrseqcmdparsing(struct rtl_priv *rtlpriv, u8 cut_version,
40 u8 faversion, u8 interface_type,
41 struct wlan_pwr_cfg pwrcfgcmd[])
42{
43 struct wlan_pwr_cfg cfg_cmd = {0};
44 bool polling_bit = false;
45 u32 ary_idx = 0;
46 u8 value = 0;
47 u32 offset = 0;
48 u32 polling_count = 0;
49 u32 max_polling_cnt = 5000;
50
51 do {
52 cfg_cmd = pwrcfgcmd[ary_idx];
53 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
54 "rtl_hal_pwrseqcmdparsing(): offset(%#x),cut_msk(%#x), famsk(%#x),"
55 "interface_msk(%#x), base(%#x), cmd(%#x), msk(%#x), value(%#x)\n",
56 GET_PWR_CFG_OFFSET(cfg_cmd),
57 GET_PWR_CFG_CUT_MASK(cfg_cmd),
58 GET_PWR_CFG_FAB_MASK(cfg_cmd),
59 GET_PWR_CFG_INTF_MASK(cfg_cmd),
60 GET_PWR_CFG_BASE(cfg_cmd), GET_PWR_CFG_CMD(cfg_cmd),
61 GET_PWR_CFG_MASK(cfg_cmd), GET_PWR_CFG_VALUE(cfg_cmd));
62
63 if ((GET_PWR_CFG_FAB_MASK(cfg_cmd)&faversion) &&
64 (GET_PWR_CFG_CUT_MASK(cfg_cmd)&cut_version) &&
65 (GET_PWR_CFG_INTF_MASK(cfg_cmd)&interface_type)) {
66 switch (GET_PWR_CFG_CMD(cfg_cmd)) {
67 case PWR_CMD_READ:
68 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
69 "rtl_hal_pwrseqcmdparsing(): PWR_CMD_READ\n");
70 break;
71 case PWR_CMD_WRITE:
72 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
73 "rtl_hal_pwrseqcmdparsing(): PWR_CMD_WRITE\n");
74 offset = GET_PWR_CFG_OFFSET(cfg_cmd);
75
76 /*Read the value from system register*/
77 value = rtl_read_byte(rtlpriv, offset);
78 value &= (~(GET_PWR_CFG_MASK(cfg_cmd)));
79 value |= (GET_PWR_CFG_VALUE(cfg_cmd) &
80 GET_PWR_CFG_MASK(cfg_cmd));
81
82 /*Write the value back to sytem register*/
83 rtl_write_byte(rtlpriv, offset, value);
84 break;
85 case PWR_CMD_POLLING:
86 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
87 "rtl_hal_pwrseqcmdparsing(): PWR_CMD_POLLING\n");
88 polling_bit = false;
89 offset = GET_PWR_CFG_OFFSET(cfg_cmd);
90
91 do {
92 value = rtl_read_byte(rtlpriv, offset);
93
94 value &= GET_PWR_CFG_MASK(cfg_cmd);
95 if (value ==
96 (GET_PWR_CFG_VALUE(cfg_cmd)
97 & GET_PWR_CFG_MASK(cfg_cmd)))
98 polling_bit = true;
99 else
100 udelay(10);
101
102 if (polling_count++ > max_polling_cnt)
103 return false;
104 } while (!polling_bit);
105 break;
106 case PWR_CMD_DELAY:
107 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
108 "rtl_hal_pwrseqcmdparsing(): PWR_CMD_DELAY\n");
109 if (GET_PWR_CFG_VALUE(cfg_cmd) ==
110 PWRSEQ_DELAY_US)
111 udelay(GET_PWR_CFG_OFFSET(cfg_cmd));
112 else
113 mdelay(GET_PWR_CFG_OFFSET(cfg_cmd));
114 break;
115 case PWR_CMD_END:
116 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
117 "rtl_hal_pwrseqcmdparsing(): PWR_CMD_END\n");
118 return true;
119 default:
120 RT_ASSERT(false,
121 "rtl_hal_pwrseqcmdparsing(): Unknown CMD!!\n");
122 break;
123 }
124
125 }
126 ary_idx++;
127 } while (1);
128
129 return true;
130}
diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.h b/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.h
deleted file mode 100644
index 6e0f3ea37ec0..000000000000
--- a/drivers/net/wireless/rtlwifi/rtl8723ae/pwrseqcmd.h
+++ /dev/null
@@ -1,98 +0,0 @@
1/******************************************************************************
2 *
3 * Copyright(c) 2009-2012 Realtek Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17 *
18 * The full GNU General Public License is included in this distribution in the
19 * file called LICENSE.
20 *
21 * Contact Information:
22 * wlanfae <wlanfae@realtek.com>
23 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
24 * Hsinchu 300, Taiwan.
25 *
26 * Larry Finger <Larry.Finger@lwfinger.net>
27 *
28 *****************************************************************************/
29
30#ifndef __RTL8723E_PWRSEQCMD_H__
31#define __RTL8723E_PWRSEQCMD_H__
32
33#include "../wifi.h"
34/*---------------------------------------------
35 * 3 The value of cmd: 4 bits
36 *---------------------------------------------
37 */
38#define PWR_CMD_READ 0x00
39#define PWR_CMD_WRITE 0x01
40#define PWR_CMD_POLLING 0x02
41#define PWR_CMD_DELAY 0x03
42#define PWR_CMD_END 0x04
43
44/* define the base address of each block */
45#define PWR_BASEADDR_MAC 0x00
46#define PWR_BASEADDR_USB 0x01
47#define PWR_BASEADDR_PCIE 0x02
48#define PWR_BASEADDR_SDIO 0x03
49
50#define PWR_INTF_SDIO_MSK BIT(0)
51#define PWR_INTF_USB_MSK BIT(1)
52#define PWR_INTF_PCI_MSK BIT(2)
53#define PWR_INTF_ALL_MSK (BIT(0)|BIT(1)|BIT(2)|BIT(3))
54
55#define PWR_FAB_TSMC_MSK BIT(0)
56#define PWR_FAB_UMC_MSK BIT(1)
57#define PWR_FAB_ALL_MSK (BIT(0)|BIT(1)|BIT(2)|BIT(3))
58
59#define PWR_CUT_TESTCHIP_MSK BIT(0)
60#define PWR_CUT_A_MSK BIT(1)
61#define PWR_CUT_B_MSK BIT(2)
62#define PWR_CUT_C_MSK BIT(3)
63#define PWR_CUT_D_MSK BIT(4)
64#define PWR_CUT_E_MSK BIT(5)
65#define PWR_CUT_F_MSK BIT(6)
66#define PWR_CUT_G_MSK BIT(7)
67#define PWR_CUT_ALL_MSK 0xFF
68
69enum pwrseq_delay_unit {
70 PWRSEQ_DELAY_US,
71 PWRSEQ_DELAY_MS,
72};
73
74struct wlan_pwr_cfg {
75 u16 offset;
76 u8 cut_msk;
77 u8 fab_msk:4;
78 u8 interface_msk:4;
79 u8 base:4;
80 u8 cmd:4;
81 u8 msk;
82 u8 value;
83};
84
85#define GET_PWR_CFG_OFFSET(__PWR_CMD) (__PWR_CMD.offset)
86#define GET_PWR_CFG_CUT_MASK(__PWR_CMD) (__PWR_CMD.cut_msk)
87#define GET_PWR_CFG_FAB_MASK(__PWR_CMD) (__PWR_CMD.fab_msk)
88#define GET_PWR_CFG_INTF_MASK(__PWR_CMD) (__PWR_CMD.interface_msk)
89#define GET_PWR_CFG_BASE(__PWR_CMD) (__PWR_CMD.base)
90#define GET_PWR_CFG_CMD(__PWR_CMD) (__PWR_CMD.cmd)
91#define GET_PWR_CFG_MASK(__PWR_CMD) (__PWR_CMD.msk)
92#define GET_PWR_CFG_VALUE(__PWR_CMD) (__PWR_CMD.value)
93
94bool rtl_hal_pwrseqcmdparsing(struct rtl_priv *rtlpriv, u8 cut_version,
95 u8 fab_version, u8 interface_type,
96 struct wlan_pwr_cfg pwrcfgcmd[]);
97
98#endif