mac80211: use upstream patches for rtl8xxxu

Also improves rtl8188eu support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
v19.07.3_mercusys_ac12_duma
Álvaro Fernández Rojas 8 years ago
parent 71144844e1
commit c795794eef

@ -1,12 +1,13 @@
From 0931604ba1483850cd69de30ee5d52d251e15418 Mon Sep 17 00:00:00 2001
From e4ac0a8ac8ba3cbcafcc3c6142c022245439d057 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 2 May 2016 15:25:22 -0400
Date: Thu, 9 Jun 2016 14:38:47 -0400
Subject: [PATCH] rtl8xxxu: Add bit definitions for REG_USB_SPECIAL_OPTION
Documentation for enabling USB aggregation and whether to select
interrupt or bulk delivery of interrupt events.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 4 ++++
1 file changed, 4 insertions(+)

@ -1,11 +1,12 @@
From 479bd5f91ac89837def3fe2b31ae8ee720d6ff94 Mon Sep 17 00:00:00 2001
From 08eca32ebc891e9501802522dc4bff5136edde86 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 2 May 2016 15:59:00 -0400
Date: Thu, 9 Jun 2016 14:38:48 -0400
Subject: [PATCH] rtl8xxxu: Add additional documentation for RX DMA registers
This also renames REG_USB_AGG_{TO,TH} to REG_USB_AGG_{TIMEOUT,THRESH}
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

@ -1,6 +1,6 @@
From da21652f72bbdcec7dd8fe61ae32f28608f90c85 Mon Sep 17 00:00:00 2001
From 2b9c9f52dc03b298c845def62ea890a2d77e9f21 Mon Sep 17 00:00:00 2001
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: Thu, 26 May 2016 17:52:19 +0300
Date: Thu, 9 Jun 2016 14:38:49 -0400
Subject: [PATCH] rtl8xxxu: tuse %*ph to dump buffers
Use %*ph specifier to dump small buffers in hex format instead of doing this
@ -8,6 +8,7 @@ byte-by-byte.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c | 9 ++-------
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 9 ++-------

@ -1,6 +1,6 @@
From 650902b7a7e02064fc295eed9ac4c86cf7435f3b Mon Sep 17 00:00:00 2001
From efcb32883f365cb458a5cb376132965eacaf5571 Mon Sep 17 00:00:00 2001
From: Luis de Bethencourt <luisbg@osg.samsung.com>
Date: Fri, 10 Jun 2016 14:57:34 +0100
Date: Thu, 23 Jun 2016 14:35:52 -0400
Subject: [PATCH] rtl8xxxu: remove unneeded assignments
reg_eac and reg_ecc are only used if candidate is bigger than 0, and in
@ -9,6 +9,7 @@ assignments.
Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 2 --
1 file changed, 2 deletions(-)

@ -1,6 +1,6 @@
From d39e7f8bbab83a2a4145fb8b4701882ef8ba0eeb Mon Sep 17 00:00:00 2001
From 78383ac951816a64657ca3e17868ad8c7c1b9393 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 23 Jun 2016 12:37:38 -0400
Date: Thu, 23 Jun 2016 14:35:53 -0400
Subject: [PATCH] rtl8xxxu: Reduce console noise when removing the kernel
module
@ -8,6 +8,7 @@ USB urbs will return with a status != 0 when rmmod'ing the driver. No
need to fill the log with messages from rtl8xxxu_int_complete()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

@ -1,6 +1,6 @@
From be5bf7d23ac03bcfa2e6875248f7d45165589d4f Mon Sep 17 00:00:00 2001
From c14ee43b8ae2fe0777335daaf278b86a9f6691a1 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 16 May 2016 21:57:25 -0400
Date: Mon, 27 Jun 2016 12:31:59 -0400
Subject: [PATCH] rtl8xxxu: Set all ieee80211_rx_status values in
parse_rx_desc()
@ -8,6 +8,7 @@ This needs to be handled locally in the parse_rx_desc() function in
order to be able to handle aggregated packets in the future.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)

@ -1,6 +1,6 @@
From 83bb21c65c73a5250504e6056e29683339fb15d2 Mon Sep 17 00:00:00 2001
From a635df8a41ace30d15cb6fa22a04ba5b4c364cff Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 16 May 2016 22:03:04 -0400
Date: Mon, 27 Jun 2016 12:32:00 -0400
Subject: [PATCH] rtl8xxxu: Move skb delivery into parse_tx_desc() handler
This is another prepatory patch to be able to handle aggregated RX
@ -10,6 +10,7 @@ In order to avoid adding a prototype, this also moves the
rtl8723bu_handle_c2h() function.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 104 ++++++++++-----------
1 file changed, 50 insertions(+), 54 deletions(-)

@ -1,6 +1,6 @@
From d6e54e5f7c011c2396c4cec56ca8e8e5cf1c89da Mon Sep 17 00:00:00 2001
From 2db125d4af4c503564b66c615488e6e7a4583b86 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 16 May 2016 22:13:22 -0400
Date: Mon, 27 Jun 2016 12:32:01 -0400
Subject: [PATCH] rtl8xxxu: Obtain ieee80211_rx_status within parse_rx_desc()
When handling aggregated packets, we'll get a new ieee80211_rx_status
@ -8,6 +8,7 @@ for each cloned skb, so passing in the pointer from the outside
doesn't make sense.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 9 +++------
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 11 +++++------

@ -1,6 +1,6 @@
From 5af9037975b20c64faa6e4829971b9a039342352 Mon Sep 17 00:00:00 2001
From 41892729cf60a600fb14ed924f0d18440e2dfac9 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 19 May 2016 20:29:01 -0400
Date: Mon, 27 Jun 2016 12:32:02 -0400
Subject: [PATCH] rtl8xxxu: Correct rxdesc16 definition
This corrects the definition of rxdesc16 to correctly specify pkt_cnt
@ -8,6 +8,7 @@ for aggregated packets. This is based on the code of the vendor
rtl8723au driver, as opposed to the struct definitions they use.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

@ -1,6 +1,6 @@
From 6cee81e9411abb9fc538308b06e75b4f2cdbde1c Mon Sep 17 00:00:00 2001
From 040b97be60567b819b97442d30533884bd266874 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 20 May 2016 00:15:47 -0400
Date: Mon, 27 Jun 2016 12:32:03 -0400
Subject: [PATCH] rtl8xxxu: Add support for aggregated RX packets on gen1 parts
This implements support for demuxing aggregated RX packets on gen1
@ -9,6 +9,7 @@ devices, using the rxdesc16 format.
So far this has only been tested with rtl8723au devices.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 103 ++++++++++++++-------
1 file changed, 69 insertions(+), 34 deletions(-)

@ -1,25 +0,0 @@
From d4c94e8fc13fdc241b3070476736eefe12726553 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 10:24:39 -0400
Subject: [PATCH] rtl8xxxu: 8188e - bail if rtl8188eu_emu_to_active() fails
If emu_to_active() fails, don't try to enable anything else.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -166,7 +166,10 @@ static int rtl8188eu_power_on(struct rtl
int ret;
ret = rtl8188e_emu_to_active(priv);
+ if (ret)
+ goto exit;
+exit:
return ret;
}

@ -1,12 +1,13 @@
From 48c31d0cdbadc082abfcf88c2bd161fab4000bb4 Mon Sep 17 00:00:00 2001
From 04319ae2f60974fa218f16fdf7a8576d1db6d673 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Sat, 21 May 2016 13:43:51 -0400
Date: Mon, 27 Jun 2016 12:32:04 -0400
Subject: [PATCH] rtl8xxxu: Allocate larger RX skbs when aggregation is enabled
This adds support for allocating larger skbs for devices which
indicate they support it.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 2 ++
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 13 +++++++++----

@ -1,6 +1,6 @@
From e9f4ede33cf1cd0bc705de6cd9c150fb3677ed74 Mon Sep 17 00:00:00 2001
From 1e5b3b3fe9e00a3afe3092dbe1a3fc1e9079bf35 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Sat, 21 May 2016 13:45:37 -0400
Date: Mon, 27 Jun 2016 12:32:05 -0400
Subject: [PATCH] rtl8xxxu: Adjust RX skb size to include space for phystats
The old allocation didn't leave space for phystats in the buffer,
@ -8,6 +8,7 @@ allowing the packet to be rejected if a frame size of size
IEEE80211_MAX_FRAME_LEN was received.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

@ -1,6 +1,6 @@
From 7e9f37893c874ff2a01dfbf73d31d3de37359fc7 Mon Sep 17 00:00:00 2001
From 91dcbb7175317da7caafc3b05b002addd42cdabd Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 16 May 2016 21:50:57 -0400
Date: Mon, 27 Jun 2016 12:32:06 -0400
Subject: [PATCH] rtl8xxxu: Enable aggregation for rtl8723au
Implement rtl8xxxu_gen1_init_aggregation(). Aggregation should be the
@ -10,6 +10,7 @@ leaving 16000 bytes for actual packets, and the rest for the skb
overhead.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c | 2 ++

@ -1,6 +1,6 @@
From 02d7c11e9b66e38806b73dcb5de319bb64710367 Mon Sep 17 00:00:00 2001
From 0a20ed8bd057c05ed138d8d39ac496d874c3ccb6 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Sun, 22 May 2016 13:45:30 -0400
Date: Mon, 27 Jun 2016 12:32:07 -0400
Subject: [PATCH] rtl8xxxu: Enable aggregation for
rtl8192cu/rtl8188cu/rtl8188ru
@ -8,6 +8,7 @@ This enables aggregation on rtl8192cu and derivative parts. This uses
the same parameters as for rtl8723au.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c | 2 ++
1 file changed, 2 insertions(+)

@ -1,6 +1,6 @@
From 0640e5cd53bc004be1a9a1af6d340baab44d9351 Mon Sep 17 00:00:00 2001
From 82cce22acd8ec7c75087825f23c053a642e7b672 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 16 Jun 2016 14:46:05 -0400
Date: Mon, 27 Jun 2016 12:32:08 -0400
Subject: [PATCH] rtl8xxxu: Make DMA aggregation optional by setting a module
parameter
@ -8,6 +8,7 @@ Let the default to off until we have more data on the right default
tuning values.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

@ -1,6 +1,6 @@
From 0338642c5eeaaf03cd4a63e211b94596c559e6e5 Mon Sep 17 00:00:00 2001
From 614e389f36a9d709469a74508d76c5df5141149a Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 22 Jun 2016 22:09:35 -0400
Date: Mon, 27 Jun 2016 12:32:09 -0400
Subject: [PATCH] rtl8xxxu: gen1: Set aggregation timeout (REG_RXDMA_AGG_PG_TH
+ 1) as well
@ -9,6 +9,7 @@ DMA timeout threshold values, however the 8192cu is using
REG_USB_DMA_AGG_TO. Set both to be on the safe side.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

@ -1,6 +1,6 @@
From 3dc0c72274876ad9612b12ab9fce553ec7e21d20 Mon Sep 17 00:00:00 2001
From fd83f12278262feccd012b62c30643bd6a6c2888 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 22 Jun 2016 23:17:37 -0400
Date: Mon, 27 Jun 2016 12:32:10 -0400
Subject: [PATCH] rtl8xxxu: gen1: Add module parameters to adjust DMA
aggregation parameters
@ -9,6 +9,7 @@ count. Blocks are presumably always 512 bytes, so the minimum block
count is 6 for 802.11 packets.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 28 ++++++++++++++++++++++
1 file changed, 28 insertions(+)

@ -1,22 +0,0 @@
From 2ce9d067424ab287a1193330ee1c3607995cfbf4 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 11:40:13 -0400
Subject: [PATCH] rtl8xxxu: Use rtl8xxxu_gen1_channel_config() for 8188eu
Channel configuration looks to be using the old gen1 style API
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1009,6 +1009,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.init_phy_bb = rtl8188eu_init_phy_bb,
.init_phy_rf = rtl8188eu_init_phy_rf,
.phy_iq_calibrate = rtl8188eu_phy_iq_calibrate,
+ .config_channel = rtl8xxxu_gen1_config_channel,
.parse_rx_desc = rtl8xxxu_parse_rxdesc16,
.usb_quirks = rtl8188e_usb_quirks,
.writeN_block_size = 128,

@ -1,23 +0,0 @@
From acd23916afbf214c7e40fec769361d8e46a6886a Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 13:40:55 -0400
Subject: [PATCH] rtl8xxxu: 8188eu uses 32 byte TX descriptors
Note the format is different and looks to be some bizarre hybrid of
the gen1 and gen2 formats.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1037,6 +1037,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.report_connect = rtl8xxxu_gen2_report_connect,
.writeN_block_size = 128,
.rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
+ .tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
.has_tx_report = 1,
.gen2_thermal_meter = 1,
.adda_1t_init = 0x0b1b25a0,

@ -1,35 +0,0 @@
From d83a65b58e8626c9fab83e45bb7ec5aea9176504 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 13:55:24 -0400
Subject: [PATCH] rtl8xxxu: Add dummy rtl8188e_set_tx_power()
To avoid crashing on launch, add a dummy set_tx_power() function for
8188e.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -283,6 +283,11 @@ static struct rtl8xxxu_rfregval rtl8188e
{0xff, 0xffffffff}
};
+static void
+rtl8188e_set_tx_power(struct rtl8xxxu_priv *priv, int channel, bool ht40)
+{
+}
+
static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv)
{
struct rtl8188eu_efuse *efuse = &priv->efuse_wifi.efuse8188eu;
@@ -1033,6 +1038,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.enable_rf = rtl8188e_enable_rf,
.disable_rf = rtl8188e_disable_rf,
.usb_quirks = rtl8188e_usb_quirks,
+ .set_tx_power = rtl8188e_set_tx_power,
.update_rate_mask = rtl8xxxu_gen2_update_rate_mask,
.report_connect = rtl8xxxu_gen2_report_connect,
.writeN_block_size = 128,

@ -1,30 +0,0 @@
From 33b19d32ae77eee805170a5a28220899f76f6ca4 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 29 Aug 2016 14:27:19 -0400
Subject: [PATCH] rtl8xxxu: Add additional rtl8188eu shutdown code to match
vendor driver
This makes the driver match the poweroff sequence of the vendor driver
further. However it still doesn't work correctly when reloading the
driver.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1347,6 +1347,12 @@ void rtl8188eu_power_off(struct rtl8xxxu
* Referred to as REG_BB_PAD_CTRL in 8188eu vendor driver
*/
rtl8xxxu_write32(priv, REG_PAD_CTRL1, 0x00080808);
+
+ rtl8xxxu_write8(priv, REG_RSV_CTRL, 0x00);
+
+ val16 = rtl8xxxu_read16(priv, REG_APS_FSMCO);
+ val16 |= APS_FSMCO_ENABLE_POWERDOWN | APS_FSMCO_HW_POWERDOWN;
+ rtl8xxxu_write16(priv, REG_APS_FSMCO, val16);
}
static void rtl8188e_enable_rf(struct rtl8xxxu_priv *priv)

@ -1,35 +0,0 @@
From 023b13832fdaeff6d7945036e769f1f16167348f Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 30 Aug 2016 13:59:01 -0400
Subject: [PATCH] rtl8xxxu: Add register define used for 8188 IOL magic
This interface seems to be used to send firmware and register init
files to the firmware.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
@@ -378,6 +378,11 @@
#define PBP_PAGE_SIZE_512 0x3
#define PBP_PAGE_SIZE_1024 0x4
+/* 8188eu IOL magic */
+#define REG_PKT_BUF_ACCESS_CTRL 0x0106
+#define PKT_BUF_ACCESS_CTRL_TX 0x69
+#define PKT_BUF_ACCESS_CTRL_RX 0xa5
+
#define REG_TRXDMA_CTRL 0x010c
#define TRXDMA_CTRL_RXDMA_AGG_EN BIT(2)
#define TRXDMA_CTRL_VOQ_SHIFT 4
@@ -451,6 +456,7 @@
#define REG_FIFOPAGE 0x0204
#define REG_TDECTRL 0x0208
+
#define REG_TXDMA_OFFSET_CHK 0x020c
#define TXDMA_OFFSET_DROP_DATA_EN BIT(9)
#define REG_TXDMA_STATUS 0x0210

@ -1,24 +0,0 @@
From a1967ad244697b2929e462b0579932431387f489 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 13 Sep 2016 15:13:08 -0400
Subject: [PATCH] rtl8xxxu: Write correct value to REG_CR in
rtl8188eu_active_to_lps()
Stupid bug writing the wrong value to register REG_CR.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1259,7 +1259,7 @@ static int rtl8188eu_active_to_lps(struc
/* Reset MAC TRX */
val16 = rtl8xxxu_read16(priv, REG_CR);
val16 &= ~(CR_MAC_TX_ENABLE | CR_MAC_RX_ENABLE | CR_SECURITY_ENABLE);
- rtl8xxxu_write16(priv, REG_CR, val8);
+ rtl8xxxu_write16(priv, REG_CR, val16);
val8 = rtl8xxxu_read8(priv, REG_DUAL_TSF_RST);
val8 |= DUAL_TSF_TX_OK;

@ -1,12 +1,13 @@
From cd0355d9889f6843a0fac0a160cfb42b482cbcf7 Mon Sep 17 00:00:00 2001
From b81669b9e0b4864f59421e7681512731fae01ab9 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 23 Jun 2016 12:47:17 -0400
Date: Fri, 19 Aug 2016 17:46:23 -0400
Subject: [PATCH] rtl8xxxu: Mark 0x20f4:0x648b as tested
Successfully tested by Jocelyn Mayer
Reported-by: J. Mayer <l_indien@magic.fr>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

@ -1,12 +1,13 @@
From 7aff76bb819f3d7936c88fdf519619efab64e6c2 Mon Sep 17 00:00:00 2001
From 76a8e07d49b65294ed006ff1e37fa152a1bfd230 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 23 Jun 2016 12:56:20 -0400
Date: Fri, 19 Aug 2016 17:46:24 -0400
Subject: [PATCH] rtl8xxxu: Mark 0x2001:0x3308 as tested
D-Link DWA-121 is reported as working.
Reported-by: Stefano Bravi <stefanobravi69@libero.it>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

@ -1,6 +1,6 @@
From 70a3605d6d1922411b8a78499d58f140565353f7 Mon Sep 17 00:00:00 2001
From deb6176e561324884652dd6a49a862bd8b152959 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 14:42:18 -0400
Date: Fri, 19 Aug 2016 17:46:25 -0400
Subject: [PATCH] rtl8xxxu: Fix error handling if rtl8xxxu_init_device() fails
For some reason we lost the code bailing if rtl8xxxu_init_device()
@ -9,6 +9,7 @@ returned an error.
This catches the error and also cleans up the error handling.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)

@ -1,6 +1,6 @@
From 32e8292a3222036b934aeebe5dbf13c729dc3dfe Mon Sep 17 00:00:00 2001
From 690a6d268bdf85f8d233823a18d3200b99e5568d Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 13:18:39 -0400
Date: Fri, 19 Aug 2016 17:46:26 -0400
Subject: [PATCH] rtl8xxxu: Add TP-Link TL-WN823N v2 to list of supported
devices
@ -9,6 +9,7 @@ and tested by Myckel Habets.
Reported-by: Myckel Habets <myckel@sdf.lonestar.org>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 7 +++++++
1 file changed, 7 insertions(+)

@ -1,12 +1,13 @@
From 36bbcb566a806b96e397cb882272373bbbed83c8 Mon Sep 17 00:00:00 2001
From 44abaa08d002235e1bbc2b9e0fd46a64e4694596 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 15:02:20 -0400
Date: Fri, 19 Aug 2016 17:46:27 -0400
Subject: [PATCH] rtl8xxxu: Add TX page defines for 8723b
This switches the 8723b driver to use the new
rtl8xxxu_init_queue_reserved_page() function.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 ++++++
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c | 4 ++++

@ -1,6 +1,6 @@
From 0ee0d2f7f6442d5e3ae76ce1626eb018582ba4d1 Mon Sep 17 00:00:00 2001
From e366f45d36275b80a5615c68123c88a3de75cc22 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 15:18:39 -0400
Date: Fri, 19 Aug 2016 17:46:28 -0400
Subject: [PATCH] rtl8xxxu: Switch 8723a to use new
rtl8xxxu_init_queue_reserved_page() routine
@ -9,6 +9,7 @@ code used a hard coded minimum value assuming there would always be an
active lo-queue, even when no USB EP was found for it.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c | 4 ++++
1 file changed, 4 insertions(+)

@ -1,6 +1,6 @@
From e37da0657a3d57d6a98198f6ed730b42fca6bae7 Mon Sep 17 00:00:00 2001
From b492940dc1f7372fb95930dc5bde8d7dbc560cd3 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 15:28:50 -0400
Date: Fri, 19 Aug 2016 17:46:29 -0400
Subject: [PATCH] rtl8xxxu: Switch 8192cu/8188cu devices to use
rtl8xxxu_init_queue_reserved_page()
@ -8,6 +8,7 @@ This was the last user of the old
rtl8xxxu_old_init_queue_reserved_page() which can now be removed.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c | 4 ++++
1 file changed, 4 insertions(+)

@ -1,6 +1,6 @@
From d9de1941802e3887251f8f6d519ff17d5fafc516 Mon Sep 17 00:00:00 2001
From efeb8ce7a98cfb60932c6a53ce86359bf6b33b67 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 15:34:59 -0400
Date: Fri, 19 Aug 2016 17:46:30 -0400
Subject: [PATCH] rtl8xxxu: Remove now obsolete
rtl8xxxu_old_init_queue_reserved_page()
@ -8,6 +8,7 @@ Switching over the old devices to use the new function allows us to
get rid of this legacy.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 30 ++--------------------
1 file changed, 2 insertions(+), 28 deletions(-)

@ -1,12 +1,13 @@
From 031c086dcd5e17bb1e792ba215c997adcb570844 Mon Sep 17 00:00:00 2001
From e02aa3eef786aab82f9929fea25f5f7e9f77ba69 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 15:39:09 -0400
Date: Fri, 19 Aug 2016 17:46:31 -0400
Subject: [PATCH] rtl8xxxu: Simplify code setting TX buffer boundary
With all devices now offering fops->total_page_num, get rid of the
if mess for setting the TX buffer boundary.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

@ -1,11 +1,12 @@
From e3aee53b23762f47ad233591090640c6df3db3c0 Mon Sep 17 00:00:00 2001
From dce7548fd9700c4c4ecda936dcf7326b9241a6d3 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 14:31:08 -0400
Date: Fri, 19 Aug 2016 17:46:32 -0400
Subject: [PATCH] rtl8xxxu: Add bit definitions for REG_FPGA0_TX_INFO
This adds TX antenna selection bit defines for OFDM mode.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 4 ++++
1 file changed, 4 insertions(+)

@ -1,12 +1,13 @@
From b11b4053e28ebcd35fca0b81448ee91ef88a6fed Mon Sep 17 00:00:00 2001
From 0b09628948bce970e14ef61a6788caa93285a132 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 16:52:13 -0400
Date: Fri, 19 Aug 2016 17:46:33 -0400
Subject: [PATCH] rtl8xxxu: Add interrupt bit definitions for gen2 parts
These are primarily needed for SDIO/PCI parts, but the vendor driver
still sets them for some USB devices.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 56 ++++++++++++++++++++++
1 file changed, 56 insertions(+)

@ -1,6 +1,6 @@
From 37949932b4c8854d8122ac385bfcab725440625c Mon Sep 17 00:00:00 2001
From e3ebcd7428c142fb7b74ded9a624cddfb403d2c5 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 16:13:06 -0400
Date: Fri, 19 Aug 2016 17:46:34 -0400
Subject: [PATCH] rtl8xxxu: Use flag to indicate whether device has TX report
timer support
@ -9,6 +9,7 @@ support. This will make it easier to include future devices such as
8188eu to use the TX report timer.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c | 1 +

@ -1,11 +1,12 @@
From 2edfdaa9d373a12582647ab06b9f09e43853c602 Mon Sep 17 00:00:00 2001
From ee675cc30e07cc925489e9663539e69873b04100 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 11:15:15 -0400
Date: Fri, 19 Aug 2016 17:46:35 -0400
Subject: [PATCH] rtl8xxxu: Convert flags in rtl8xxxu_fileops to bitflags
This leaves space for a few more flags within the same space.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

@ -1,6 +1,6 @@
From 99919affd249419a20984f96c7876fc6ec3759a8 Mon Sep 17 00:00:00 2001
From eed145ab25a3eeba4caf2d4be0b5c7a3097f39bd Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 11:18:36 -0400
Date: Fri, 19 Aug 2016 17:46:36 -0400
Subject: [PATCH] rtl8xxxu: Introduce fops bitflag indicating type of thermal
meter
@ -8,6 +8,7 @@ Do not rely on TX descriptor size to determine the thermal meter
type.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 1 +

@ -1,6 +1,6 @@
From dae8758ca00ceaf71253471dc79de6a2749cb722 Mon Sep 17 00:00:00 2001
From be49b1f111c76ce20a60a90587e2b8e8ab809a06 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 25 Jul 2016 13:06:24 -0400
Date: Fri, 19 Aug 2016 17:46:37 -0400
Subject: [PATCH] rtl8xxxu: Simplify calculating of hw value used for setting
TX rate
@ -9,6 +9,7 @@ in one place and a different one for management frames in another
location makes little sense.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

@ -1,6 +1,6 @@
From 20296682e77606561c3899e6f2f4f881974472f3 Mon Sep 17 00:00:00 2001
From 3972cc579140e48e8390fff5e94f6e9e78c3dd87 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 25 Jul 2016 13:14:02 -0400
Date: Fri, 19 Aug 2016 17:46:38 -0400
Subject: [PATCH] rtl8xxxu: Determine the need for SGI before handling specific
TX desc formats
@ -8,6 +8,7 @@ In order to be able to split out the TX descriptor handling code,
determine in advance the need to mark SGI.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

@ -1,6 +1,6 @@
From 36109f7398a02f07a32051d1483e3e9ae7a4ad4b Mon Sep 17 00:00:00 2001
From 99afaac4278c9581cef17ddc0c842b51f9b6206d Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 25 Jul 2016 13:17:42 -0400
Date: Fri, 19 Aug 2016 17:46:39 -0400
Subject: [PATCH] rtl8xxxu: Determine need for shore preamble before updating
TX descriptors
@ -8,6 +8,7 @@ Another patch to move this detection out of the code handling the TX
descriptor update.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

@ -1,6 +1,6 @@
From 57a46cf908c7a9dfa871494fb45ad914905c991a Mon Sep 17 00:00:00 2001
From b59415c2dd088ffce62fbde737c8b2d04fb6e015 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 25 Jul 2016 14:21:21 -0400
Date: Fri, 19 Aug 2016 17:46:40 -0400
Subject: [PATCH] rtl8xxxu: Split filling of TX descriptors into separate
functions
@ -13,6 +13,7 @@ of txdesc40 descriptors, where the code randomly would switch between
the pointer to tx_desc and tx_desc40.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 12 ++
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c | 1 +

@ -1,6 +1,6 @@
From 455c72dcc58c79885888c3a45043c5d80c8372d1 Mon Sep 17 00:00:00 2001
From 77e3980201e7d54b2e63653b46a6baba26040cef Mon Sep 17 00:00:00 2001
From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date: Tue, 12 Jul 2016 14:33:34 +0000
Date: Fri, 19 Aug 2016 17:46:41 -0400
Subject: [PATCH] rtl8xxxu: gen1: Fix non static symbol warning
Fixes the following sparse warning:
@ -10,6 +10,7 @@ drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:898:1: warning:
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

@ -1,3 +1,20 @@
From 7329dc13107b2315a7b8ba5a75048935304c55a0 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 19 Aug 2016 17:46:42 -0400
Subject: [PATCH] rtl8xxxu: Make rtl8xxxu_ampdu_action less chatty
On my home network rtl8xxxu is spamming the log with
IEEE80211_AMPDU_RX_START / IEEE80211_AMPDU_RX_STOP every few seconds
turn these messages into debug messages.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
[kvalo@codeaurora.org: fix commit title]
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -5696,7 +5696,7 @@ rtl8xxxu_ampdu_action(struct ieee80211_h

@ -1,12 +1,13 @@
From dc8f9f320eada9b516a347f34e9e02dae93334ca Mon Sep 17 00:00:00 2001
From 54cdf5c727cb3d3124e61433a13e9724a7a4a952 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 1 Sep 2016 15:08:57 -0400
Date: Fri, 9 Sep 2016 14:01:24 -0400
Subject: [PATCH] rtl8xxxu: Reset device on module unload if still attached
If the USB dongle is still attached, reset it on module unload to
avoid scans failing when reloading the driver.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 5 +++++
1 file changed, 5 insertions(+)

@ -1,12 +1,13 @@
From 398103a0c2c48445e11855c693877126aed23c6e Mon Sep 17 00:00:00 2001
From 0cd7f70399f71fdd87b34d28670248c36e4db455 Mon Sep 17 00:00:00 2001
From: Colin Ian King <colin.king@canonical.com>
Date: Sat, 3 Sep 2016 17:43:54 +0100
Date: Fri, 9 Sep 2016 14:01:25 -0400
Subject: [PATCH] rtl8xxxu: fix spelling mistake "firmare" -> "firmware"
Trivial fix to spelling mistakes in dev_dbg message.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

@ -1,12 +1,13 @@
From c37241da2ccb981598ed4bf243f86228aca292b6 Mon Sep 17 00:00:00 2001
From f1785fbf7c0bc17211c299a647ebc38968a42181 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 13 Sep 2016 14:51:43 -0400
Date: Tue, 13 Sep 2016 15:03:15 -0400
Subject: [PATCH] rtl8xxxu: Implement 8192e specific power down sequence
This powers down the 8192e correctly, or at least to the point where
the firmware will load again, when reloading the driver module.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 144 ++++++++++++++++++++-
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 1 +

@ -1,19 +1,20 @@
From c563d5e11eb6d90d6375b0ab7bce0ff1fdc53d1b Mon Sep 17 00:00:00 2001
From 3a589fae4a2cff317c3cabd4f76578ffd2761808 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 30 Aug 2016 13:49:04 -0400
Date: Tue, 20 Sep 2016 21:19:26 -0400
Subject: [PATCH] rtl8xxxu: Fix off by one error calculating pubq
This was detected tracing the 8188eu driver, but doesn't seem to make
any difference when using it.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -3882,7 +3882,7 @@ static void rtl8xxxu_init_queue_reserved
@@ -3869,7 +3869,7 @@ static void rtl8xxxu_init_queue_reserved
val32 = (nq << RQPN_NPQ_SHIFT) | (eq << RQPN_EPQ_SHIFT);
rtl8xxxu_write32(priv, REG_RQPN_NPQ, val32);

@ -1,6 +1,6 @@
From 533293085b6c331f20c36fa09fe3cf1e904ce259 Mon Sep 17 00:00:00 2001
From c0a99bbb1b7a11605a53f84f5c444be3ef25a8ab Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 24 Aug 2016 11:31:38 -0400
Date: Tue, 20 Sep 2016 21:19:27 -0400
Subject: [PATCH] rtl8xxxu: Clean up llt_init() API
Remove last_tx_page argument from the llt_init() function. The
@ -9,6 +9,7 @@ value for the device, and rtl8xxxu_auto_llt_table() doesn't need to
know the value in the first place.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 +++---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 ++++++---
@ -16,7 +17,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -1367,7 +1367,7 @@ struct rtl8xxxu_fileops {
@@ -1318,7 +1318,7 @@ struct rtl8xxxu_fileops {
int (*power_on) (struct rtl8xxxu_priv *priv);
void (*power_off) (struct rtl8xxxu_priv *priv);
void (*reset_8051) (struct rtl8xxxu_priv *priv);
@ -25,7 +26,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
void (*init_phy_bb) (struct rtl8xxxu_priv *priv);
int (*init_phy_rf) (struct rtl8xxxu_priv *priv);
void (*phy_init_antenna_selection) (struct rtl8xxxu_priv *priv);
@@ -1449,14 +1449,14 @@ int rtl8xxxu_load_firmware(struct rtl8xx
@@ -1400,14 +1400,14 @@ int rtl8xxxu_load_firmware(struct rtl8xx
void rtl8xxxu_firmware_self_reset(struct rtl8xxxu_priv *priv);
void rtl8xxxu_power_off(struct rtl8xxxu_priv *priv);
void rtl8xxxu_reset_8051(struct rtl8xxxu_priv *priv);
@ -44,7 +45,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
void rtl8xxxu_gen1_set_tx_power(struct rtl8xxxu_priv *priv,
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -2482,10 +2482,13 @@ static int rtl8xxxu_llt_write(struct rtl
@@ -2472,10 +2472,13 @@ static int rtl8xxxu_llt_write(struct rtl
return ret;
}
@ -59,7 +60,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
for (i = 0; i < last_tx_page; i++) {
ret = rtl8xxxu_llt_write(priv, i, i + 1);
@@ -2513,7 +2516,7 @@ exit:
@@ -2503,7 +2506,7 @@ exit:
return ret;
}
@ -68,7 +69,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
{
u32 val32;
int ret = 0;
@@ -3999,7 +4002,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3988,7 +3991,7 @@ static int rtl8xxxu_init_device(struct i
dev_dbg(dev, "%s: macpower %i\n", __func__, macpower);
if (!macpower) {

@ -1,19 +1,20 @@
From e3c6694ed9367142704930754f3d6bff6c25f7e7 Mon Sep 17 00:00:00 2001
From 2fc5dd27bf9b75d83a7071d13cca044bc39748fb Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 24 Aug 2016 14:06:04 -0400
Date: Tue, 20 Sep 2016 21:19:28 -0400
Subject: [PATCH] rtl8xxxu: Use a struct rtl8xxxu_fileops * in
rtl8xxxu_init_device()
This saves some 217, or about, derefences of priv->fops.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 39 +++++++++++-----------
1 file changed, 20 insertions(+), 19 deletions(-)
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 37 +++++++++++-----------
1 file changed, 19 insertions(+), 18 deletions(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -3896,6 +3896,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3886,6 +3886,7 @@ static int rtl8xxxu_init_device(struct i
{
struct rtl8xxxu_priv *priv = hw->priv;
struct device *dev = &priv->udev->dev;
@ -21,7 +22,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
bool macpower;
int ret;
u8 val8;
@@ -3914,7 +3915,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3904,7 +3905,7 @@ static int rtl8xxxu_init_device(struct i
else
macpower = true;
@ -30,7 +31,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
if (ret < 0) {
dev_warn(dev, "%s: Failed power on\n", __func__);
goto exit;
@@ -3931,7 +3932,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3921,7 +3922,7 @@ static int rtl8xxxu_init_device(struct i
/*
* Set RX page boundary
*/
@ -39,7 +40,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
ret = rtl8xxxu_download_firmware(priv);
dev_dbg(dev, "%s: download_firmware %i\n", __func__, ret);
@@ -3942,8 +3943,8 @@ static int rtl8xxxu_init_device(struct i
@@ -3932,8 +3933,8 @@ static int rtl8xxxu_init_device(struct i
if (ret)
goto exit;
@ -50,7 +51,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
ret = rtl8xxxu_init_mac(priv);
@@ -3956,7 +3957,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3946,7 +3947,7 @@ static int rtl8xxxu_init_device(struct i
if (ret)
goto exit;
@ -59,7 +60,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
if (ret)
goto exit;
@@ -3982,7 +3983,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3971,7 +3972,7 @@ static int rtl8xxxu_init_device(struct i
/*
* Set TX buffer boundary
*/
@ -68,7 +69,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
rtl8xxxu_write8(priv, REG_TXPKTBUF_BCNQ_BDNY, val8);
rtl8xxxu_write8(priv, REG_TXPKTBUF_MGQ_BDNY, val8);
@@ -3995,14 +3996,14 @@ static int rtl8xxxu_init_device(struct i
@@ -3984,14 +3985,14 @@ static int rtl8xxxu_init_device(struct i
* The vendor drivers set PBP for all devices, except 8192e.
* There is no explanation for this in any of the sources.
*/
@ -86,7 +87,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
if (ret) {
dev_warn(dev, "%s: LLT table init failed\n", __func__);
goto exit;
@@ -4011,12 +4012,12 @@ static int rtl8xxxu_init_device(struct i
@@ -4000,12 +4001,12 @@ static int rtl8xxxu_init_device(struct i
/*
* Chip specific quirks
*/
@ -101,16 +102,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
val8 = rtl8xxxu_read8(priv, REG_TX_REPORT_CTRL);
val8 |= TX_REPORT_CTRL_TIMER_ENABLE;
rtl8xxxu_write8(priv, REG_TX_REPORT_CTRL, val8);
@@ -4108,7 +4109,7 @@ static int rtl8xxxu_init_device(struct i
* Set data auto rate fallback retry count.
* Notably the 8188eu doesn't seem to use this
*/
- if (priv->fops->has_darfrc) {
+ if (fops->has_darfrc) {
rtl8xxxu_write32(priv, REG_DARFRC, 0x00000000);
rtl8xxxu_write32(priv, REG_DARFRC + 4, 0x10080404);
rtl8xxxu_write32(priv, REG_RARFRC, 0x04030201);
@@ -4165,8 +4166,8 @@ static int rtl8xxxu_init_device(struct i
@@ -4140,8 +4141,8 @@ static int rtl8xxxu_init_device(struct i
rtl8xxxu_write8(priv, REG_RSV_CTRL, val8);
}
@ -121,7 +113,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
/*
* Enable CCK and OFDM block
@@ -4183,7 +4184,7 @@ static int rtl8xxxu_init_device(struct i
@@ -4158,7 +4159,7 @@ static int rtl8xxxu_init_device(struct i
/*
* Start out with default power levels for channel 6, 20MHz
*/
@ -130,7 +122,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
/* Let the 8051 take control of antenna setting */
if (priv->rtl_chip != RTL8192E) {
@@ -4199,8 +4200,8 @@ static int rtl8xxxu_init_device(struct i
@@ -4174,8 +4175,8 @@ static int rtl8xxxu_init_device(struct i
rtl8xxxu_write16(priv, REG_FAST_EDCA_CTRL, 0);
@ -141,7 +133,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
if (priv->rtl_chip == RTL8192E) {
/*
@@ -4225,12 +4226,12 @@ static int rtl8xxxu_init_device(struct i
@@ -4193,12 +4194,12 @@ static int rtl8xxxu_init_device(struct i
rtl8723a_phy_lc_calibrate(priv);

@ -0,0 +1,43 @@
From b42fbed6b8a5942e9f76ec8c7f9c9fd798a2d3af Mon Sep 17 00:00:00 2001
From: Larry Finger <Larry.Finger@lwfinger.net>
Date: Tue, 20 Sep 2016 21:19:29 -0400
Subject: [PATCH] rtl8xxxu: Stop log spam from each successful interrupt
As soon as debugging is turned on, the logs are filled with messages
reporting the interrupt status. As this quantity is usually zero, this
output is not needed. In fact, there will be a report if the status is
not zero, thus the debug line in question could probably be deleted.
Rather than taking that action, I have changed it to only be printed
when the newly added RTL8XXXU_DEBUG_INTERRUPT bit is set in the debug
mask.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -29,6 +29,7 @@
#define RTL8XXXU_DEBUG_H2C 0x800
#define RTL8XXXU_DEBUG_ACTION 0x1000
#define RTL8XXXU_DEBUG_EFUSE 0x2000
+#define RTL8XXXU_DEBUG_INTERRUPT 0x4000
#define RTW_USB_CONTROL_MSG_TIMEOUT 500
#define RTL8XXXU_MAX_REG_POLL 500
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -5375,7 +5375,8 @@ static void rtl8xxxu_int_complete(struct
struct device *dev = &priv->udev->dev;
int ret;
- dev_dbg(dev, "%s: status %i\n", __func__, urb->status);
+ if (rtl8xxxu_debug & RTL8XXXU_DEBUG_INTERRUPT)
+ dev_dbg(dev, "%s: status %i\n", __func__, urb->status);
if (urb->status == 0) {
usb_anchor_urb(urb, &priv->int_anchor);
ret = usb_submit_urb(urb, GFP_ATOMIC);

@ -1,4 +1,4 @@
From 738e72f09accebe95513ff7201e1b12427b4a80f Mon Sep 17 00:00:00 2001
From 5b9c623e1e14663679d3fb6d98f222c73d072f17 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 27 Jun 2016 14:08:47 -0400
Subject: [PATCH] rtl8xxxu: Accept firmware signature 0x88e0

@ -1,4 +1,4 @@
From d62628f1e4245a28921f6d326440387c33c23bc2 Mon Sep 17 00:00:00 2001
From bde0ecd13877c4074fa59f317c201e19ac4d75cf Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 27 Jun 2016 14:23:44 -0400
Subject: [PATCH] rtl8xxxu: Add initial code to detect 8188eu devices
@ -24,7 +24,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ rtl8xxxu_8723a.o rtl8xxxu_8192c.o rtl8xxxu_8188e.o
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -1442,6 +1442,7 @@ void rtl8xxxu_fill_txdesc_v2(struct ieee
@@ -1443,6 +1443,7 @@ void rtl8xxxu_fill_txdesc_v2(struct ieee
u16 rate_flag, bool sgi, bool short_preamble,
bool ampdu_enable);
@ -110,7 +110,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
MODULE_FIRMWARE("rtlwifi/rtl8192cufw_A.bin");
MODULE_FIRMWARE("rtlwifi/rtl8192cufw_B.bin");
MODULE_FIRMWARE("rtlwifi/rtl8192cufw_TMSC.bin");
@@ -6154,6 +6155,8 @@ static struct usb_device_id dev_table[]
@@ -6159,6 +6160,8 @@ static struct usb_device_id dev_table[]
{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0xb720, 0xff, 0xff, 0xff),
.driver_info = (unsigned long)&rtl8723bu_fops},
#ifdef CPTCFG_RTL8XXXU_UNTESTED

@ -1,7 +1,7 @@
From 0acca96b150f2ebd6883689ddfe62babea1a0fc1 Mon Sep 17 00:00:00 2001
From 8df8b5c2e8874fbcc0596f812be7285749fd0584 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 27 Jun 2016 15:19:04 -0400
Subject: [PATCH] rtl8xxxu: Add initial code to part 8188eu efuse
Subject: [PATCH] rtl8xxxu: Add initial code to parse 8188eu efuse
This obtains the MAC address, but work is still needed to handle TX
power settings.
@ -14,7 +14,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -871,6 +871,45 @@ struct rtl8192eu_efuse {
@@ -872,6 +872,45 @@ struct rtl8192eu_efuse {
u8 res14[0xc3];
};
@ -60,7 +60,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
struct rtl8xxxu_reg8val {
u16 reg;
u8 val;
@@ -1289,6 +1328,7 @@ struct rtl8xxxu_priv {
@@ -1290,6 +1329,7 @@ struct rtl8xxxu_priv {
struct rtl8723bu_efuse efuse8723bu;
struct rtl8192cu_efuse efuse8192;
struct rtl8192eu_efuse efuse8192eu;

@ -1,4 +1,4 @@
From 27f6f980c393532dd0145314e8403fd9c1b680b7 Mon Sep 17 00:00:00 2001
From 67fe7e7a468a92abf5dd3793e1d0839aa230bb36 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 27 Jun 2016 15:34:00 -0400
Subject: [PATCH] rtl8xxxu: Detect 8188eu parts correctly

@ -1,4 +1,4 @@
From 7016570c33d1f135f60b38461a3b7ed161911157 Mon Sep 17 00:00:00 2001
From 777c1b30f8251d7c2c088a0cf600f0df513c4a0c Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 27 Jun 2016 17:08:30 -0400
Subject: [PATCH] rtl8xxxu: First stab at rtl8188e_power_on()
@ -7,12 +7,12 @@ Code based on code from Andrea Merello.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 79 ++++++++++++++++++++++
1 file changed, 79 insertions(+)
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 82 ++++++++++++++++++++++
1 file changed, 82 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -92,8 +92,87 @@ static int rtl8188eu_load_firmware(struc
@@ -92,8 +92,90 @@ static int rtl8188eu_load_firmware(struc
return ret;
}
@ -90,7 +90,10 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ int ret;
+
+ ret = rtl8188e_emu_to_active(priv);
+ if (ret)
+ goto exit;
+
+exit:
+ return ret;
+}
+

@ -1,4 +1,4 @@
From f24a42f020ff56f587e8c66363af2d7e3ca90790 Mon Sep 17 00:00:00 2001
From 082edba4f1650a473e6904c7bee16efc94b809ad Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 10:38:52 -0400
Subject: [PATCH] rtl8xxxu: Add rtl8188e_disabled_to_emu()

@ -1,4 +1,4 @@
From 2eaadaf2f65a2856f3e9d4522d582eb2ce6800ec Mon Sep 17 00:00:00 2001
From e6b7225c77e0e67bd8695b24725c66f90f60bcf4 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 11:07:13 -0400
Subject: [PATCH] rtl8xxxu: 8188e: Enable scheduler

@ -1,4 +1,4 @@
From 281b44d1c35792946e2a2373c60e543cd5d71c03 Mon Sep 17 00:00:00 2001
From e25ae461678c2f2a164e36d2cd363fea83c37be9 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 11:47:10 -0400
Subject: [PATCH] rtl8xxxu: Add rtl8188e_usb_quirk() for enabling MAC TX/RX

@ -1,4 +1,4 @@
From 19a9f0c2c5912dc0eb9c1d7a04808509ac3a99a5 Mon Sep 17 00:00:00 2001
From 7527a39358702ca106682c36dffb1a6cb16fab53 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 11:53:31 -0400
Subject: [PATCH] rtl8xxxu: 8188e add REG_TXDMA_OFFSET_CHK quirk

@ -1,4 +1,4 @@
From 60f7f109456f2bcdd69504bdf63c55e57ae0c64b Mon Sep 17 00:00:00 2001
From 02b647f0bb73b2289311f471b4e1b3582591b3ed Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 12:02:18 -0400
Subject: [PATCH] rtl8xxxu: Add reserved page init parameters for 8188e
@ -12,7 +12,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -42,6 +42,7 @@
@@ -43,6 +43,7 @@
#define REALTEK_USB_CMD_IDX 0x00
#define TX_TOTAL_PAGE_NUM 0xf8
@ -20,7 +20,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
#define TX_TOTAL_PAGE_NUM_8192E 0xf3
#define TX_TOTAL_PAGE_NUM_8723B 0xf7
/* (HPQ + LPQ + NPQ + PUBQ) = TX_TOTAL_PAGE_NUM */
@@ -50,6 +51,11 @@
@@ -51,6 +52,11 @@
#define TX_PAGE_NUM_LO_PQ 0x02
#define TX_PAGE_NUM_NORM_PQ 0x02

@ -1,4 +1,4 @@
From 8cacc26a9247d1d661b887ac77d88c73b2b9ec1d Mon Sep 17 00:00:00 2001
From 3b982fb9969cca0c052ab597270cba04fe469ed4 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 8 Aug 2016 15:04:36 -0400
Subject: [PATCH] rtl8xxxu: Correct TX_TOTAL_PAGE_NUM for 8188eu
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -42,7 +42,7 @@
@@ -43,7 +43,7 @@
#define REALTEK_USB_CMD_IDX 0x00
#define TX_TOTAL_PAGE_NUM 0xf8

@ -1,4 +1,4 @@
From 5bbaf33b2500b9f1ca1137663924a722e00aad57 Mon Sep 17 00:00:00 2001
From 4ea8c0fae9ac694176a70fd7f87ef33dcda8f069 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 12:08:31 -0400
Subject: [PATCH] rtl8xxxu: Add trxff_boundary for 8188e

@ -1,4 +1,4 @@
From f8f72624491a011686c3ddc213c4eef6bac95665 Mon Sep 17 00:00:00 2001
From b7bc65edc18af06c2ea1e4efb539fc4e2da89650 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 15:03:54 -0400
Subject: [PATCH] rtl8xxxu: 8188eu specify firmware block size and set

@ -1,4 +1,4 @@
From 3490eb08d944df4605aefae95a8ff46982b29a79 Mon Sep 17 00:00:00 2001
From 2f81b7920fd5812c44824e14070021d53a933ae4 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 19 Jul 2016 15:04:24 -0400
Subject: [PATCH] rtl8xxxu: Add 8188e mac init table

@ -1,4 +1,4 @@
From 08e1167540ad5de6fdc1814fcfbce545b4c10c41 Mon Sep 17 00:00:00 2001
From da7fb3c8a1292fdc4e949e7a0342d0a6d808746e Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 19 Jul 2016 16:19:30 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188eu_init_phy_bb()

@ -1,4 +1,4 @@
From d538ef459e4d8edea4968a2c0012fbab5d8c70f5 Mon Sep 17 00:00:00 2001
From 837adbdfb23b00920cc1bdce09096d1eb36061a6 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 19 Jul 2016 17:12:42 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188eu_init_phy_rf()

@ -1,4 +1,4 @@
From ada071c5bd6d58ca46d71956456d339b64a48551 Mon Sep 17 00:00:00 2001
From 41243175fe2464b68abe300cf5e2eacf8911dbdc Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 19 Jul 2016 17:27:48 -0400
Subject: [PATCH] rtl8xxxu: Use auto LLT init for 8188e

@ -1,4 +1,4 @@
From 1c55be6db2ed7e19a24ece3c1eea0e7a14ea9a6a Mon Sep 17 00:00:00 2001
From 3768a83e59924432df99e2242304899ce519e33d Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 14:32:46 -0400
Subject: [PATCH] rtl8xxxu: Do not set REG_FPGA0_TX_INFO on 8188eu
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -3958,7 +3958,8 @@ static int rtl8xxxu_init_device(struct i
@@ -3962,7 +3962,8 @@ static int rtl8xxxu_init_device(struct i
goto exit;
/* RFSW Control - clear bit 14 ?? */

@ -1,4 +1,4 @@
From 66f8eac46264726a71fc264289d8168028db0d32 Mon Sep 17 00:00:00 2001
From 9a2ac8b4f023be5ebd8015979ac5da9b3a564554 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 14:38:23 -0400
Subject: [PATCH] rtl8xxxu: Do not mess with REG_FPGA0_XA_RF_INT_OE either on
@ -16,7 +16,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -3972,7 +3972,7 @@ static int rtl8xxxu_init_device(struct i
@@ -3976,7 +3976,7 @@ static int rtl8xxxu_init_device(struct i
rtl8xxxu_write32(priv, REG_FPGA0_XAB_RF_SW_CTRL, val32);
/* 0x860[6:5]= 00 - why? - this sets antenna B */

@ -1,4 +1,4 @@
From ae67e9c34a9ab0624f76401330940b5a4b39fd97 Mon Sep 17 00:00:00 2001
From 68fe82f572c99dff53cff78e7fac33212988fa08 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 15:59:31 -0400
Subject: [PATCH] rtl8xxxu: Set transfer page size for 8188eu

@ -1,4 +1,4 @@
From d20ce683065f086727704d4ea22073fac6db8f47 Mon Sep 17 00:00:00 2001
From 763c44f30e435083c206c86bfdcb5f31d8683d77 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 16:13:06 -0400
Subject: [PATCH] rtl8xxxu: Enable TX report timer on 8188eu

@ -1,4 +1,4 @@
From 90361ade5a709877dee37f5cb091886117c815f4 Mon Sep 17 00:00:00 2001
From 27b7eb2bb2796739d47911ad0bb97c8cf3dd2aa6 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 20 Jul 2016 16:59:18 -0400
Subject: [PATCH] rtl8xxxu: Setup interrupts for 8188eu
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -4037,6 +4037,15 @@ static int rtl8xxxu_init_device(struct i
@@ -4041,6 +4041,15 @@ static int rtl8xxxu_init_device(struct i
if (priv->rtl_chip == RTL8192E) {
rtl8xxxu_write32(priv, REG_HIMR0, 0x00);
rtl8xxxu_write32(priv, REG_HIMR1, 0x00);

@ -1,20 +1,22 @@
From f89604d87636dfd156d3ea417fb0af72c4f51e46 Mon Sep 17 00:00:00 2001
From 8cb09680de2801b737aca93dad9f2c0095beba49 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 21 Jul 2016 14:52:49 -0400
Subject: [PATCH] rtl8xxxu: Use rxdesc16 for 8188eu
Subject: [PATCH] rtl8xxxu: Use rxdesc16 and 32 byte tx descriptors for 8188eu
The RX descriptor format looks like the gen1 RX descriptor format, so
use that for now. On the other hand the TX descriptor format looks
like a hybrid.
use that for now.
The TX descriptor format is different and looks to be some bizarre
hybrid of the gen1 and gen2 formats.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 2 ++
1 file changed, 2 insertions(+)
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -520,8 +520,10 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
@@ -520,8 +520,11 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.llt_init = rtl8xxxu_auto_llt_table,
.init_phy_bb = rtl8188eu_init_phy_bb,
.init_phy_rf = rtl8188eu_init_phy_rf,
@ -22,6 +24,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
.usb_quirks = rtl8188e_usb_quirks,
.writeN_block_size = 128,
+ .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
+ .tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
.has_tx_report = 1,
/*
* Use 9K for 8188e normal chip

@ -1,4 +1,4 @@
From be3bb0c98c94596874f4261413f7c188f400ac18 Mon Sep 17 00:00:00 2001
From ce56712d34130c0d0fdbd9e2007f7db1b5a35b1f Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 21 Jul 2016 15:23:16 -0400
Subject: [PATCH] rtl8xxxu: 8188eu use same ADDA on parameters as 8723au/8192cu
@ -12,9 +12,9 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -525,6 +525,10 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.writeN_block_size = 128,
@@ -526,6 +526,10 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
.tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
.has_tx_report = 1,
+ .adda_1t_init = 0x0b1b25a0,
+ .adda_1t_path_on = 0x0bdb25a0,

@ -1,4 +1,4 @@
From 9e90e4617f5e6549825baa88ef4a310f34a5f0bc Mon Sep 17 00:00:00 2001
From 3ee0271b64db3cc81a089ec726b600c40ee03f45 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 21 Jul 2016 17:25:56 -0400
Subject: [PATCH] rtl8xxxu: Add PHY IQ calibration code for 8188eu

@ -1,4 +1,4 @@
From 720e57cf9ea8c3121063bc2340be536b3260663e Mon Sep 17 00:00:00 2001
From 3c8d7c293ae58171122e426467491a9abb3c8475 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 11:20:00 -0400
Subject: [PATCH] rtl8xxxu: 8188eu uses the gen2 thermal meter
@ -13,9 +13,9 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1014,6 +1014,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.writeN_block_size = 128,
@@ -1015,6 +1015,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
.tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
.has_tx_report = 1,
+ .gen2_thermal_meter = 1,
.adda_1t_init = 0x0b1b25a0,

@ -1,4 +1,4 @@
From 95df0a5e0bdb67c6efd14dbccd1eab59fdfd0be2 Mon Sep 17 00:00:00 2001
From c146fd29e0c941ba9bfbd718249eac7fad387844 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 11:33:29 -0400
Subject: [PATCH] rtl8xxxu: Set REG_USB_HRPWM to 0 for 8188eu
@ -12,7 +12,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -4236,7 +4236,7 @@ static int rtl8xxxu_init_device(struct i
@@ -4240,7 +4240,7 @@ static int rtl8xxxu_init_device(struct i
val32 |= FPGA_RF_MODE_CCK;
rtl8xxxu_write32(priv, REG_FPGA0_RF_MODE, val32);
}

@ -1,20 +1,21 @@
From b3ce6298eb09b26c5abbc5dca8c8dfa18f41ea12 Mon Sep 17 00:00:00 2001
From 945359dd08b6d03c48f08094d3bd270fbe917114 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Thu, 18 Aug 2016 12:20:31 -0400
Date: Fri, 22 Jul 2016 11:40:13 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188eu_config_channel()
The 8188eu doesn't seem to have REG_FPGA0_ANALOG2
The 8188eu doesn't seem to have REG_FPGA0_ANALOG2, so implement it's
own specific version.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 118 ++++++++++++++++++++-
1 file changed, 117 insertions(+), 1 deletion(-)
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 117 +++++++++++++++++++++
1 file changed, 117 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -345,6 +345,122 @@ rtl8188e_set_tx_power(struct rtl8xxxu_pr
rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS15_MCS12, mcs);
}
@@ -283,6 +283,122 @@ static struct rtl8xxxu_rfregval rtl8188e
{0xff, 0xffffffff}
};
+void rtl8188eu_config_channel(struct ieee80211_hw *hw)
+{
@ -132,15 +133,14 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ }
+}
+
void rtl8188eu_init_aggregation(struct rtl8xxxu_priv *priv)
static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv)
{
u8 agg_ctrl, usb_spec;
@@ -1118,7 +1234,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
struct rtl8188eu_efuse *efuse = &priv->efuse_wifi.efuse8188eu;
@@ -1009,6 +1125,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.init_phy_bb = rtl8188eu_init_phy_bb,
.init_phy_rf = rtl8188eu_init_phy_rf,
.phy_iq_calibrate = rtl8188eu_phy_iq_calibrate,
- .config_channel = rtl8xxxu_gen1_config_channel,
+ .config_channel = rtl8188eu_config_channel,
.parse_rx_desc = rtl8xxxu_parse_rxdesc16,
.init_aggregation = rtl8188eu_init_aggregation,
.enable_rf = rtl8188e_enable_rf,
.usb_quirks = rtl8188e_usb_quirks,
.writeN_block_size = 128,

@ -1,4 +1,4 @@
From ce938ec0ff5764c535cf19ee6dd52482e0b6ebbb Mon Sep 17 00:00:00 2001
From 58bd58324aa2ba7091b0684f809c3da89507d5e8 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 11:44:12 -0400
Subject: [PATCH] rtl8xxxu: Use gen2 H2C commands for 8188eu
@ -14,12 +14,12 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1012,6 +1012,8 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.config_channel = rtl8xxxu_gen1_config_channel,
@@ -1128,6 +1128,8 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.config_channel = rtl8188eu_config_channel,
.parse_rx_desc = rtl8xxxu_parse_rxdesc16,
.usb_quirks = rtl8188e_usb_quirks,
+ .update_rate_mask = rtl8xxxu_gen2_update_rate_mask,
+ .report_connect = rtl8xxxu_gen2_report_connect,
.writeN_block_size = 128,
.rx_desc_size = sizeof(struct rtl8xxxu_rxdesc16),
.has_tx_report = 1,
.tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),

@ -1,4 +1,4 @@
From b7472848032d36e227711d0381a58cc3114f1b33 Mon Sep 17 00:00:00 2001
From b550ef4873a9828b8093db996456b98c017a31fc Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 12:56:30 -0400
Subject: [PATCH] rtl8xxxu: Initialize GPIO settings for 8188eu
@ -14,7 +14,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -4206,6 +4206,13 @@ static int rtl8xxxu_init_device(struct i
@@ -4210,6 +4210,13 @@ static int rtl8xxxu_init_device(struct i
* Reset USB mode switch setting
*/
rtl8xxxu_write8(priv, REG_ACLK_MON, 0x00);

@ -1,4 +1,4 @@
From 3bb9c23b43cc4cc37a06c20c62266128040cd5d7 Mon Sep 17 00:00:00 2001
From 8697958f7b3a8e6402e6dfb3facc067fb3423a88 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 13:10:02 -0400
Subject: [PATCH] rtl8xxxu: Add simple rtl8188eu_rf_on() routine
@ -12,7 +12,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -980,6 +980,11 @@ exit:
@@ -1096,6 +1096,11 @@ exit:
return ret;
}
@ -24,9 +24,9 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
static void rtl8188e_usb_quirks(struct rtl8xxxu_priv *priv)
{
u16 val16;
@@ -1011,6 +1016,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
@@ -1127,6 +1132,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.phy_iq_calibrate = rtl8188eu_phy_iq_calibrate,
.config_channel = rtl8xxxu_gen1_config_channel,
.config_channel = rtl8188eu_config_channel,
.parse_rx_desc = rtl8xxxu_parse_rxdesc16,
+ .enable_rf = rtl8188e_enable_rf,
.usb_quirks = rtl8188e_usb_quirks,

@ -1,4 +1,4 @@
From c1619fa7cc81439fa3a791e5462e161ccc5536e5 Mon Sep 17 00:00:00 2001
From c59fee32cbdda0382b6c37429d8bb50bafe9d166 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 13:17:36 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188e_disable_rf()
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -985,6 +985,20 @@ static void rtl8188e_enable_rf(struct rt
@@ -1101,6 +1101,20 @@ static void rtl8188e_enable_rf(struct rt
rtl8xxxu_write8(priv, REG_TXPAUSE, 0x00);
}
@ -34,8 +34,8 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
static void rtl8188e_usb_quirks(struct rtl8xxxu_priv *priv)
{
u16 val16;
@@ -1017,6 +1031,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.config_channel = rtl8xxxu_gen1_config_channel,
@@ -1133,6 +1147,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.config_channel = rtl8188eu_config_channel,
.parse_rx_desc = rtl8xxxu_parse_rxdesc16,
.enable_rf = rtl8188e_enable_rf,
+ .disable_rf = rtl8188e_disable_rf,

@ -1,4 +1,4 @@
From 3c3fae09952723763d87cbd2a02be667a46a040a Mon Sep 17 00:00:00 2001
From 4d303a7ecabc54e02484e903969517072a4ca3b4 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 16:46:11 -0400
Subject: [PATCH] rtl8xxxu: Update 8188e efuse definition for power values
@ -15,7 +15,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -880,11 +880,8 @@ struct rtl8192eu_efuse {
@@ -881,11 +881,8 @@ struct rtl8192eu_efuse {
struct rtl8188eu_efuse {
__le16 rtl_id;
u8 res0[0x0e];
@ -31,7 +31,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
u8 thermal_meter;
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -298,17 +298,20 @@ static int rtl8188eu_parse_efuse(struct
@@ -409,17 +409,20 @@ static int rtl8188eu_parse_efuse(struct
ether_addr_copy(priv->mac_addr, efuse->mac_addr);

@ -1,6 +1,6 @@
From cf02f3fe981c1f11a41cf885d7c5a0298378b0d6 Mon Sep 17 00:00:00 2001
From 1b92f72f2880049ea322f89680bf5ebea7a0cf05 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 22 Jul 2016 16:50:59 -0400
Date: Fri, 22 Jul 2016 13:55:24 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188e_set_tx_power()
This matches the code used to set TX power on 8192eu, except it only
@ -10,12 +10,12 @@ We should be able to consolidate this code.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 57 ++++++++++++++++++++++
1 file changed, 57 insertions(+)
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 63 ++++++++++++++++++++++
1 file changed, 63 insertions(+)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -283,9 +283,66 @@ static struct rtl8xxxu_rfregval rtl8188e
@@ -283,6 +283,68 @@ static struct rtl8xxxu_rfregval rtl8188e
{0xff, 0xffffffff}
};
@ -39,9 +39,9 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ return group;
+}
+
static void
rtl8188e_set_tx_power(struct rtl8xxxu_priv *priv, int channel, bool ht40)
{
+static void
+rtl8188e_set_tx_power(struct rtl8xxxu_priv *priv, int channel, bool ht40)
+{
+ u32 val32, ofdm, mcs;
+ u8 cck, ofdmbase, mcsbase;
+ int group, tx_idx;
@ -79,6 +79,16 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS07_MCS04, mcs);
+ rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS11_MCS08, mcs);
+ rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS15_MCS12, mcs);
}
static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv)
+}
+
void rtl8188eu_config_channel(struct ieee80211_hw *hw)
{
struct rtl8xxxu_priv *priv = hw->priv;
@@ -1152,6 +1214,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.enable_rf = rtl8188e_enable_rf,
.disable_rf = rtl8188e_disable_rf,
.usb_quirks = rtl8188e_usb_quirks,
+ .set_tx_power = rtl8188e_set_tx_power,
.update_rate_mask = rtl8xxxu_gen2_update_rate_mask,
.report_connect = rtl8xxxu_gen2_report_connect,
.writeN_block_size = 128,

@ -1,4 +1,4 @@
From cea78f97a74d9e5e3a8cb701e89c3e5c656f5c64 Mon Sep 17 00:00:00 2001
From efbb5e6fb69239791deaeec71c7b92998658fe89 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Tue, 26 Jul 2016 14:01:14 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8xxxu_fill_txdesc_v3() for 8188eu
@ -14,7 +14,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -509,6 +509,8 @@ struct rtl8xxxu_txdesc40 {
@@ -510,6 +510,8 @@ struct rtl8xxxu_txdesc40 {
#define TXDESC_AMPDU_DENSITY_SHIFT 20
#define TXDESC40_BT_INT BIT(23)
#define TXDESC40_GID_SHIFT 24
@ -23,7 +23,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
/* Word 3 */
#define TXDESC40_USE_DRIVER_RATE BIT(8)
@@ -553,6 +555,10 @@ struct rtl8xxxu_txdesc40 {
@@ -554,6 +556,10 @@ struct rtl8xxxu_txdesc40 {
/* Word 6 */
#define TXDESC_MAX_AGG_SHIFT 11
@ -34,7 +34,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
/* Word 8 */
#define TXDESC40_HW_SEQ_ENABLE BIT(15)
@@ -1484,6 +1490,10 @@ void rtl8xxxu_fill_txdesc_v2(struct ieee
@@ -1485,6 +1491,10 @@ void rtl8xxxu_fill_txdesc_v2(struct ieee
struct rtl8xxxu_txdesc32 *tx_desc32, u32 rate,
u16 rate_flag, bool sgi, bool short_preamble,
bool ampdu_enable);
@ -47,7 +47,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
extern struct rtl8xxxu_fileops rtl8192cu_fops;
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -1101,6 +1101,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
@@ -1217,6 +1217,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.set_tx_power = rtl8188e_set_tx_power,
.update_rate_mask = rtl8xxxu_gen2_update_rate_mask,
.report_connect = rtl8xxxu_gen2_report_connect,
@ -57,7 +57,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
.tx_desc_size = sizeof(struct rtl8xxxu_txdesc32),
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -4884,6 +4884,68 @@ rtl8xxxu_fill_txdesc_v2(struct ieee80211
@@ -4888,6 +4888,68 @@ rtl8xxxu_fill_txdesc_v2(struct ieee80211
}
}

@ -1,4 +1,4 @@
From cbbf4d6e0a8d8230aff7c4088cf1ed593e6002dd Mon Sep 17 00:00:00 2001
From 68c6f01e38171a4b8c4488610058dd5ded924b93 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 29 Jul 2016 15:25:34 -0400
Subject: [PATCH] rtl8xxxu: Add some 8188eu registers and update
@ -9,14 +9,37 @@ and optional RX antenna. When configuring RX for single antenna, setup
should use the same antenna for default and optional. For AB setup,
use antenna A as default and B as optional.
In addition add info for 8188eu IOL magic interface used to send
firmware and register init files to the firmware.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 24 ++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 30 ++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
@@ -938,6 +938,7 @@
@@ -378,6 +378,11 @@
#define PBP_PAGE_SIZE_512 0x3
#define PBP_PAGE_SIZE_1024 0x4
+/* 8188eu IOL magic */
+#define REG_PKT_BUF_ACCESS_CTRL 0x0106
+#define PKT_BUF_ACCESS_CTRL_TX 0x69
+#define PKT_BUF_ACCESS_CTRL_RX 0xa5
+
#define REG_TRXDMA_CTRL 0x010c
#define TRXDMA_CTRL_RXDMA_AGG_EN BIT(2)
#define TRXDMA_CTRL_VOQ_SHIFT 4
@@ -449,6 +454,7 @@
#define REG_FIFOPAGE 0x0204
#define REG_TDECTRL 0x0208
+
#define REG_TXDMA_OFFSET_CHK 0x020c
#define TXDMA_OFFSET_DROP_DATA_EN BIT(9)
#define REG_TXDMA_STATUS 0x0210
@@ -938,6 +944,7 @@
#define REG_FPGA1_RF_MODE 0x0900
#define REG_FPGA1_TX_INFO 0x090c
@ -24,7 +47,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
#define REG_DPDT_CTRL 0x092c /* 8723BU */
#define REG_RFE_CTRL_ANTA_SRC 0x0930 /* 8723BU */
#define REG_RFE_PATH_SELECT 0x0940 /* 8723BU */
@@ -949,9 +950,25 @@
@@ -949,9 +956,25 @@
#define REG_CCK0_AFE_SETTING 0x0a04
#define CCK0_AFE_RX_MASK 0x0f000000
@ -52,7 +75,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
#define REG_CONFIG_ANT_A 0x0b68
#define REG_CONFIG_ANT_B 0x0b6c
@@ -1004,6 +1021,9 @@
@@ -1004,6 +1027,9 @@
#define REG_OFDM0_RX_IQ_EXT_ANTA 0x0ca0

@ -1,4 +1,4 @@
From ebf1c90b91cd40052552dd4efa1a54bbbd43ca5f Mon Sep 17 00:00:00 2001
From ea2e7a5963f04802d1df3c882e2db30e5e98e434 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 29 Jul 2016 15:57:19 -0400
Subject: [PATCH] rtl8xxxu: Improve register description for REG_FPGA1_TX_INFO
@ -12,7 +12,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
@@ -938,6 +938,15 @@
@@ -944,6 +944,15 @@
#define REG_FPGA1_RF_MODE 0x0900
#define REG_FPGA1_TX_INFO 0x090c

@ -1,4 +1,4 @@
From 9df5d333304264856465094f9529b414c4c279fb Mon Sep 17 00:00:00 2001
From f7813794db87b042c3ebcf7d767b865f58972ff1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Fri, 29 Jul 2016 18:22:37 +0200
Subject: [PATCH] rtl8xxxu: properly detect RTL8188EU devices

@ -1,4 +1,4 @@
From 763213d99c4d9c20cf69848fc6784d38597ab0ff Mon Sep 17 00:00:00 2001
From 7ebc1e51f92b632774131291f471c66554179a18 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 10 Aug 2016 15:40:30 -0400
Subject: [PATCH] rtl8xxxu: Implement 8188eu specific 8051 reset function
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -389,6 +389,18 @@ static int rtl8188eu_parse_efuse(struct
@@ -505,6 +505,18 @@ static int rtl8188eu_parse_efuse(struct
return 0;
}
@ -32,7 +32,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
static int rtl8188eu_load_firmware(struct rtl8xxxu_priv *priv)
{
char *fw_name;
@@ -1088,7 +1100,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
@@ -1204,7 +1216,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.load_firmware = rtl8188eu_load_firmware,
.power_on = rtl8188eu_power_on,
.power_off = rtl8xxxu_power_off,

@ -1,4 +1,4 @@
From 17cb73ae89e15b60276f0b6583d4ed30b6bdeb4f Mon Sep 17 00:00:00 2001
From bfc96547cef1573569be623ea163386fc6830bde Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 10 Aug 2016 15:41:13 -0400
Subject: [PATCH] rtl8xxxu: Disable packet DMA aggregation on 8188eu
@ -13,8 +13,8 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -345,6 +345,19 @@ rtl8188e_set_tx_power(struct rtl8xxxu_pr
rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS15_MCS12, mcs);
@@ -461,6 +461,19 @@ void rtl8188eu_config_channel(struct iee
}
}
+void rtl8188eu_init_aggregation(struct rtl8xxxu_priv *priv)
@ -33,9 +33,9 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv)
{
struct rtl8188eu_efuse *efuse = &priv->efuse_wifi.efuse8188eu;
@@ -1107,6 +1120,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
@@ -1223,6 +1236,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.phy_iq_calibrate = rtl8188eu_phy_iq_calibrate,
.config_channel = rtl8xxxu_gen1_config_channel,
.config_channel = rtl8188eu_config_channel,
.parse_rx_desc = rtl8xxxu_parse_rxdesc16,
+ .init_aggregation = rtl8188eu_init_aggregation,
.enable_rf = rtl8188e_enable_rf,

@ -1,4 +1,4 @@
From af4fefead371c6ab89b323ff4b10881369bf4170 Mon Sep 17 00:00:00 2001
From 401d45458f0125bd787cbd0a356a610c0624886c Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 10 Aug 2016 16:06:37 -0400
Subject: [PATCH] rtl8xxxu: 8188eu set REG_OFDM0_XA_AGC_CORE1 to match vendor
@ -14,7 +14,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -5880,7 +5880,10 @@ exit:
@@ -5885,7 +5885,10 @@ exit:
rtl8xxxu_write16(priv, REG_RXFLTMAP2, 0xffff);
rtl8xxxu_write16(priv, REG_RXFLTMAP0, 0xffff);

@ -1,7 +1,7 @@
From 2c6b2e7aadc24a58bac9321bcf15262519f903a8 Mon Sep 17 00:00:00 2001
From 5b57ad0d9aed6570c7ef1dce306dabb28cc4e03b Mon Sep 17 00:00:00 2001
From: Taehee Yoo <ap420073@gmail.com>
Date: Sun, 21 Aug 2016 20:38:22 +0900
Subject: [PATCH] rtl8xxxu : Fix rtl8188eu connection fail
Subject: [PATCH] rtl8xxxu: Fix rtl8188eu connection fail
rtl8188eu vendor driver's LLT init routine is similar
rtl8xxxu_init_llt_table() than rtl8xxxu_auto_llt_table().

@ -1,4 +1,4 @@
From 4bc5ab6c3655cead3401c85e9dd174c7453c94eb Mon Sep 17 00:00:00 2001
From 4147460f9da0764139cf09a5c662b6603145bcfa Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 24 Aug 2016 13:54:00 -0400
Subject: [PATCH] rtl8xxxu: Do not set auto rate fallback on 8188eu
@ -19,7 +19,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -1396,6 +1396,7 @@ struct rtl8xxxu_fileops {
@@ -1397,6 +1397,7 @@ struct rtl8xxxu_fileops {
u8 has_s0s1:1;
u8 has_tx_report:1;
u8 gen2_thermal_meter:1;
@ -69,7 +69,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
.adda_2t_path_on_a = 0x01c00014,
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -4104,11 +4104,16 @@ static int rtl8xxxu_init_device(struct i
@@ -4105,11 +4105,16 @@ static int rtl8xxxu_init_device(struct i
rtl8xxxu_write32(priv, REG_EDCA_VI_PARAM, 0x005ea324);
rtl8xxxu_write32(priv, REG_EDCA_VO_PARAM, 0x002fa226);
@ -82,7 +82,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ * Set data auto rate fallback retry count.
+ * Notably the 8188eu doesn't seem to use this
+ */
+ if (priv->fops->has_darfrc) {
+ if (fops->has_darfrc) {
+ rtl8xxxu_write32(priv, REG_DARFRC, 0x00000000);
+ rtl8xxxu_write32(priv, REG_DARFRC + 4, 0x10080404);
+ rtl8xxxu_write32(priv, REG_RARFRC, 0x04030201);

@ -1,4 +1,4 @@
From c62a97a358ce2ba090efe1b447fa61a7104520ef Mon Sep 17 00:00:00 2001
From 24122ccad4d3f063554966890342ea6602bce92b Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 25 Jul 2016 12:32:02 -0400
Subject: [PATCH] rtl8xxxu: Enable 8188eu driver

@ -1,4 +1,4 @@
From e234d016528d2c22cca59faf87e675f8b72b8a83 Mon Sep 17 00:00:00 2001
From 5e95bd4b9f8744e752ec5e76fa6abbb316b99230 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 26 Aug 2016 10:28:45 -0400
Subject: [PATCH] rtl8xxxu: Add rtl8188etv to USB device list
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -6256,6 +6256,9 @@ static struct usb_device_id dev_table[]
@@ -6257,6 +6257,9 @@ static struct usb_device_id dev_table[]
#ifdef CPTCFG_RTL8XXXU_UNTESTED
{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x8179, 0xff, 0xff, 0xff),
.driver_info = (unsigned long)&rtl8188eu_fops},

@ -1,4 +1,4 @@
From cdf2dd45b570739953d1ed37b92536a85a94f2c1 Mon Sep 17 00:00:00 2001
From b95138b153f49f9b76b0a393e21c508d8a8ea751 Mon Sep 17 00:00:00 2001
From: Andrea Merello <andrea.merello@gmail.com>
Date: Fri, 26 Aug 2016 19:18:17 +0200
Subject: [PATCH] rtl8xxxu: Add sitecom dongle to USB device list
@ -11,7 +11,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -6259,6 +6259,9 @@ static struct usb_device_id dev_table[]
@@ -6260,6 +6260,9 @@ static struct usb_device_id dev_table[]
/* Tested by Hans de Goede - rtl8188etv */
{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x0179, 0xff, 0xff, 0xff),
.driver_info = (unsigned long)&rtl8188eu_fops},

@ -1,4 +1,4 @@
From ed9fac53f69189d25affa6baf2e921235724d668 Mon Sep 17 00:00:00 2001
From e36a438e6ae82a4426c06babb48bc3c4567aaec5 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 26 Aug 2016 15:16:32 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188eu_active_to_emu()

@ -1,16 +1,17 @@
From 034fb94799289990283082eef61934f5eb9e939f Mon Sep 17 00:00:00 2001
From 3b86cd428cc1338667585d6b6bffdabc6a601c5e Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Fri, 26 Aug 2016 16:09:00 -0400
Subject: [PATCH] rtl8xxxu: Implement rtl8188eu_power_off()
This allows the firmware to reload correctly upon rmmod/insmod.
This makes the driver match the poweroff sequence of the vendor driver
and allows the firmware to reload correctly upon rmmod/insmod.
However the device still doesn't receive data upon reloading.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 130 ++++++++++++++++++++-
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 136 ++++++++++++++++++++-
.../net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 2 +
2 files changed, 131 insertions(+), 1 deletion(-)
2 files changed, 137 insertions(+), 1 deletion(-)
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@ -73,7 +74,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ /* Reset MAC TRX */
+ val16 = rtl8xxxu_read16(priv, REG_CR);
+ val16 &= ~(CR_MAC_TX_ENABLE | CR_MAC_RX_ENABLE | CR_SECURITY_ENABLE);
+ rtl8xxxu_write16(priv, REG_CR, val8);
+ rtl8xxxu_write16(priv, REG_CR, val16);
+
+ val8 = rtl8xxxu_read8(priv, REG_DUAL_TSF_RST);
+ val8 |= DUAL_TSF_TX_OK;
@ -86,7 +87,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
static int rtl8188eu_power_on(struct rtl8xxxu_priv *priv)
{
u16 val16;
@@ -1221,6 +1286,69 @@ exit:
@@ -1221,6 +1286,75 @@ exit:
return ret;
}
@ -151,12 +152,18 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+ * Referred to as REG_BB_PAD_CTRL in 8188eu vendor driver
+ */
+ rtl8xxxu_write32(priv, REG_PAD_CTRL1, 0x00080808);
+
+ rtl8xxxu_write8(priv, REG_RSV_CTRL, 0x00);
+
+ val16 = rtl8xxxu_read16(priv, REG_APS_FSMCO);
+ val16 |= APS_FSMCO_ENABLE_POWERDOWN | APS_FSMCO_HW_POWERDOWN;
+ rtl8xxxu_write16(priv, REG_APS_FSMCO, val16);
+}
+
static void rtl8188e_enable_rf(struct rtl8xxxu_priv *priv)
{
rtl8xxxu_write8(priv, REG_TXPAUSE, 0x00);
@@ -1265,7 +1393,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
@@ -1265,7 +1399,7 @@ struct rtl8xxxu_fileops rtl8188eu_fops =
.parse_efuse = rtl8188eu_parse_efuse,
.load_firmware = rtl8188eu_load_firmware,
.power_on = rtl8188eu_power_on,
@ -167,7 +174,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
.init_phy_bb = rtl8188eu_init_phy_bb,
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h
@@ -413,6 +413,8 @@
@@ -418,6 +418,8 @@
#define REG_MBIST_START 0x0174
#define REG_MBIST_DONE 0x0178
#define REG_MBIST_FAIL 0x017c

@ -1,4 +1,4 @@
From 3f58ab0fbda16f70e9011089e87474756cf9c329 Mon Sep 17 00:00:00 2001
From d86884a37489df6565f26cd1ac5afd130221d45a Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Mon, 29 Aug 2016 12:55:37 -0400
Subject: [PATCH] rtl8xxxu: Add rtl8188eu USB ID for D-Link USB-GO-N150
@ -13,7 +13,7 @@ Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -6262,6 +6262,9 @@ static struct usb_device_id dev_table[]
@@ -6263,6 +6263,9 @@ static struct usb_device_id dev_table[]
/* Sitecom rtl8188eus */
{USB_DEVICE_AND_INTERFACE_INFO(0x0df6, 0x0076, 0xff, 0xff, 0xff),
.driver_info = (unsigned long)&rtl8188eu_fops},

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save