Skip to content

Commit 21e4b07

Browse files
lwfingerlinvjw
authored andcommitted
rtlwifi: rtl8821ae: Move driver from staging to regular tree
This driver was entered into staging a few cycles ago because there was not time to integrate the Realtek version into the support routines in the kernel. Now that there is an effort to converg the code base from Linux and the Realtek repo, it is time to move this driver. In addition, all the updates included in the 06/28/2014 version of the Realtek drivers are included here. With this change, it will be necessary to delete the staging driver. That will be handled in a separate patch. As it impacts the staging tree, such a patch is sent to a different destination. Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]>
1 parent c151aed commit 21e4b07

28 files changed

+26865
-6
lines changed

drivers/net/wireless/rtlwifi/Kconfig

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ menuconfig RTL_CARDS
55
---help---
66
This option will enable support for the Realtek mac80211-based
77
wireless drivers. Drivers rtl8192ce, rtl8192cu, rtl8192se, rtl8192de,
8-
rtl8723ae, rtl8723be, and rtl8188ae share some common code.
8+
rtl8723ae, rtl8723be, rtl8188ee, and rtl8821ae share some common code.
99

1010
if RTL_CARDS
1111

@@ -80,6 +80,17 @@ config RTL8188EE
8080

8181
If you choose to build it as a module, it will be called rtl8188ee
8282

83+
config RTL8821AE
84+
tristate "Realtek RTL8821AE/RTL8812AE Wireless Network Adapter"
85+
depends on PCI
86+
select RTLWIFI
87+
select RTLWIFI_PCI
88+
---help---
89+
This is the driver for Realtek RTL8i821AE/RTL8812AE 802.11av PCIe
90+
wireless network adapters.
91+
92+
If you choose to build it as a module, it will be called rtl8821ae
93+
8394
config RTL8192CU
8495
tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter"
8596
depends on USB

drivers/net/wireless/rtlwifi/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@ obj-$(CONFIG_RTL8723BE) += rtl8723be/
2828
obj-$(CONFIG_RTL8188EE) += rtl8188ee/
2929
obj-$(CONFIG_RTLBTCOEXIST) += btcoexist/
3030
obj-$(CONFIG_RTL8723_COMMON) += rtl8723com/
31+
obj-$(CONFIG_RTL8821AE) += rtl8821ae/
3132

3233
ccflags-y += -D__CHECK_ENDIAN__

drivers/net/wireless/rtlwifi/debug.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
#define COMP_USB BIT(29)
105105
#define COMP_EASY_CONCURRENT COMP_USB /* reuse of this bit is OK */
106106
#define COMP_BT_COEXIST BIT(30)
107+
#define COMP_IQK BIT(31)
107108

108109
/*--------------------------------------------------------------
109110
Define the rt_print components
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
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+
* The full GNU General Public License is included in this distribution in the
15+
* file called LICENSE.
16+
*
17+
* Contact Information:
18+
* wlanfae <[email protected]>
19+
* Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20+
* Hsinchu 300, Taiwan.
21+
*
22+
* Larry Finger <[email protected]>
23+
*
24+
*****************************************************************************/
25+
26+
#ifndef __RTL8723E_PWRSEQCMD_H__
27+
#define __RTL8723E_PWRSEQCMD_H__
28+
29+
#include "wifi.h"
30+
/*---------------------------------------------
31+
* 3 The value of cmd: 4 bits
32+
*---------------------------------------------
33+
*/
34+
#define PWR_CMD_READ 0x00
35+
#define PWR_CMD_WRITE 0x01
36+
#define PWR_CMD_POLLING 0x02
37+
#define PWR_CMD_DELAY 0x03
38+
#define PWR_CMD_END 0x04
39+
40+
/* define the base address of each block */
41+
#define PWR_BASEADDR_MAC 0x00
42+
#define PWR_BASEADDR_USB 0x01
43+
#define PWR_BASEADDR_PCIE 0x02
44+
#define PWR_BASEADDR_SDIO 0x03
45+
46+
#define PWR_INTF_SDIO_MSK BIT(0)
47+
#define PWR_INTF_USB_MSK BIT(1)
48+
#define PWR_INTF_PCI_MSK BIT(2)
49+
#define PWR_INTF_ALL_MSK (BIT(0)|BIT(1)|BIT(2)|BIT(3))
50+
51+
#define PWR_FAB_TSMC_MSK BIT(0)
52+
#define PWR_FAB_UMC_MSK BIT(1)
53+
#define PWR_FAB_ALL_MSK (BIT(0)|BIT(1)|BIT(2)|BIT(3))
54+
55+
#define PWR_CUT_TESTCHIP_MSK BIT(0)
56+
#define PWR_CUT_A_MSK BIT(1)
57+
#define PWR_CUT_B_MSK BIT(2)
58+
#define PWR_CUT_C_MSK BIT(3)
59+
#define PWR_CUT_D_MSK BIT(4)
60+
#define PWR_CUT_E_MSK BIT(5)
61+
#define PWR_CUT_F_MSK BIT(6)
62+
#define PWR_CUT_G_MSK BIT(7)
63+
#define PWR_CUT_ALL_MSK 0xFF
64+
65+
enum pwrseq_delay_unit {
66+
PWRSEQ_DELAY_US,
67+
PWRSEQ_DELAY_MS,
68+
};
69+
70+
struct wlan_pwr_cfg {
71+
u16 offset;
72+
u8 cut_msk;
73+
u8 fab_msk:4;
74+
u8 interface_msk:4;
75+
u8 base:4;
76+
u8 cmd:4;
77+
u8 msk;
78+
u8 value;
79+
};
80+
81+
#define GET_PWR_CFG_OFFSET(__PWR_CMD) (__PWR_CMD.offset)
82+
#define GET_PWR_CFG_CUT_MASK(__PWR_CMD) (__PWR_CMD.cut_msk)
83+
#define GET_PWR_CFG_FAB_MASK(__PWR_CMD) (__PWR_CMD.fab_msk)
84+
#define GET_PWR_CFG_INTF_MASK(__PWR_CMD) (__PWR_CMD.interface_msk)
85+
#define GET_PWR_CFG_BASE(__PWR_CMD) (__PWR_CMD.base)
86+
#define GET_PWR_CFG_CMD(__PWR_CMD) (__PWR_CMD.cmd)
87+
#define GET_PWR_CFG_MASK(__PWR_CMD) (__PWR_CMD.msk)
88+
#define GET_PWR_CFG_VALUE(__PWR_CMD) (__PWR_CMD.value)
89+
90+
bool rtl_hal_pwrseqcmdparsing(struct rtl_priv *rtlpriv, u8 cut_version,
91+
u8 fab_version, u8 interface_type,
92+
struct wlan_pwr_cfg pwrcfgcmd[]);
93+
94+
#endif
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
obj-m := rtl8821ae.o
2+
3+
4+
rtl8821ae-objs := \
5+
dm.o \
6+
fw.o \
7+
hw.o \
8+
led.o \
9+
phy.o \
10+
pwrseq.o \
11+
rf.o \
12+
sw.o \
13+
table.o \
14+
trx.o \
15+
16+
17+
obj-$(CONFIG_RTL8821AE) += rtl8821ae.o
18+
19+
ccflags-y += -D__CHECK_ENDIAN__

0 commit comments

Comments
 (0)