mac80211: use upstream patches for rtl8xxxu
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 653-0012-rtl8xxxu-Use-flag-to-indicate-whether-device-has-TX-.patch
1 From e3ebcd7428c142fb7b74ded9a624cddfb403d2c5 Mon Sep 17 00:00:00 2001
2 From: Jes Sorensen <Jes.Sorensen@redhat.com>
3 Date: Fri, 19 Aug 2016 17:46:34 -0400
4 Subject: [PATCH] rtl8xxxu: Use flag to indicate whether device has TX report
5 timer support
6
7 Use a fileops flag to indicate whether the device has TX report timer
8 support. This will make it easier to include future devices such as
9 8188eu to use the TX report timer.
10
11 Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
12 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
13 ---
14 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
15 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c | 1 +
16 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 5 ++---
17 3 files changed, 4 insertions(+), 3 deletions(-)
18
19 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
20 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
21 @@ -1341,6 +1341,7 @@ struct rtl8xxxu_fileops {
22 char tx_desc_size;
23 char rx_desc_size;
24 char has_s0s1;
25 + char has_tx_report;
26 u32 adda_1t_init;
27 u32 adda_1t_path_on;
28 u32 adda_2t_path_on_a;
29 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
30 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
31 @@ -1666,6 +1666,7 @@ struct rtl8xxxu_fileops rtl8723bu_fops =
32 .tx_desc_size = sizeof(struct rtl8xxxu_txdesc40),
33 .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc24),
34 .has_s0s1 = 1,
35 + .has_tx_report = 1,
36 .adda_1t_init = 0x01c00014,
37 .adda_1t_path_on = 0x01c00014,
38 .adda_2t_path_on_a = 0x01c00014,
39 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
40 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
41 @@ -4000,10 +4000,9 @@ static int rtl8xxxu_init_device(struct i
42 priv->fops->usb_quirks(priv);
43
44 /*
45 - * Presumably this is for 8188EU as well
46 - * Enable TX report and TX report timer
47 + * Enable TX report and TX report timer for 8723bu/8188eu/...
48 */
49 - if (priv->rtl_chip == RTL8723B) {
50 + if (priv->fops->has_tx_report) {
51 val8 = rtl8xxxu_read8(priv, REG_TX_REPORT_CTRL);
52 val8 |= TX_REPORT_CTRL_TIMER_ENABLE;
53 rtl8xxxu_write8(priv, REG_TX_REPORT_CTRL, val8);