From c795794eef8737f6272b2acce9025807af52da81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 29 Sep 2016 09:48:09 +0200 Subject: mac80211: use upstream patches for rtl8xxxu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also improves rtl8188eu support. Signed-off-by: Álvaro Fernández Rojas --- .../656-0002-rtl8xxxu-Clean-up-llt_init-API.patch | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch (limited to 'package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch') diff --git a/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch b/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch new file mode 100644 index 0000000000..61e509a7b4 --- /dev/null +++ b/package/kernel/mac80211/patches/656-0002-rtl8xxxu-Clean-up-llt_init-API.patch @@ -0,0 +1,80 @@ +From c0a99bbb1b7a11605a53f84f5c444be3ef25a8ab Mon Sep 17 00:00:00 2001 +From: Jes Sorensen +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 +rtl8xxxu_fileops structure contains the correct TX_TOTAL_PAGE_NUM +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 +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 +++--- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 ++++++--- + 2 files changed, 9 insertions(+), 6 deletions(-) + +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +@@ -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); +- int (*llt_init) (struct rtl8xxxu_priv *priv, u8 last_tx_page); ++ int (*llt_init) (struct rtl8xxxu_priv *priv); + 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); +@@ -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); +-int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page); ++int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv); + void rtl8xxxu_gen2_prepare_calibrate(struct rtl8xxxu_priv *priv, u8 start); + int rtl8xxxu_flush_fifo(struct rtl8xxxu_priv *priv); + int rtl8xxxu_gen2_h2c_cmd(struct rtl8xxxu_priv *priv, + struct h2c_cmd *h2c, int len); + int rtl8xxxu_active_to_lps(struct rtl8xxxu_priv *priv); + void rtl8xxxu_disabled_to_emu(struct rtl8xxxu_priv *priv); +-int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page); ++int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv); + void rtl8xxxu_gen1_phy_iq_calibrate(struct rtl8xxxu_priv *priv); + void rtl8xxxu_gen1_init_phy_bb(struct rtl8xxxu_priv *priv); + 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 +@@ -2472,10 +2472,13 @@ static int rtl8xxxu_llt_write(struct rtl + return ret; + } + +-int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page) ++int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv) + { + int ret; + int i; ++ u8 last_tx_page; ++ ++ last_tx_page = priv->fops->total_page_num; + + for (i = 0; i < last_tx_page; i++) { + ret = rtl8xxxu_llt_write(priv, i, i + 1); +@@ -2503,7 +2506,7 @@ exit: + return ret; + } + +-int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page) ++int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv) + { + u32 val32; + int ret = 0; +@@ -3988,7 +3991,7 @@ static int rtl8xxxu_init_device(struct i + + dev_dbg(dev, "%s: macpower %i\n", __func__, macpower); + if (!macpower) { +- ret = priv->fops->llt_init(priv, TX_TOTAL_PAGE_NUM); ++ ret = priv->fops->llt_init(priv); + if (ret) { + dev_warn(dev, "%s: LLT table init failed\n", __func__); + goto exit; -- cgit v1.2.3