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 --- ...date-8188e-efuse-definition-for-power-val.patch | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 package/kernel/mac80211/patches/657-0033-rtl8xxxu-Update-8188e-efuse-definition-for-power-val.patch (limited to 'package/kernel/mac80211/patches/657-0033-rtl8xxxu-Update-8188e-efuse-definition-for-power-val.patch') diff --git a/package/kernel/mac80211/patches/657-0033-rtl8xxxu-Update-8188e-efuse-definition-for-power-val.patch b/package/kernel/mac80211/patches/657-0033-rtl8xxxu-Update-8188e-efuse-definition-for-power-val.patch new file mode 100644 index 0000000000..1f8d24c2ec --- /dev/null +++ b/package/kernel/mac80211/patches/657-0033-rtl8xxxu-Update-8188e-efuse-definition-for-power-val.patch @@ -0,0 +1,62 @@ +From 4d303a7ecabc54e02484e903969517072a4ca3b4 Mon Sep 17 00:00:00 2001 +From: Jes Sorensen +Date: Fri, 22 Jul 2016 16:46:11 -0400 +Subject: [PATCH] rtl8xxxu: Update 8188e efuse definition for power values + +The 8188e uses a similar layout as the 8192e, however it does not have +values for path B. Update struct rtl8188eu_efuse to reflect this and +copy over path A values for path B. + +Signed-off-by: Jes Sorensen +--- + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 7 ++----- + .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 19 +++++++++++-------- + 2 files changed, 13 insertions(+), 13 deletions(-) + +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +@@ -881,11 +881,8 @@ struct rtl8192eu_efuse { + struct rtl8188eu_efuse { + __le16 rtl_id; + u8 res0[0x0e]; +- u8 cck_tx_power_index_A[3]; /* 0x10 */ +- u8 cck_tx_power_index_B[3]; +- u8 ht40_1s_tx_power_index_A[3]; /* 0x16 */ +- u8 ht40_1s_tx_power_index_B[3]; +- u8 res1[0x9c]; ++ struct rtl8192eu_efuse_tx_power tx_power_index_A; /* 0x10 */ ++ u8 res1[0x7e]; /* 0x3a */ + u8 channel_plan; /* 0xb8 */ + u8 xtal_k; + u8 thermal_meter; +--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c ++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c +@@ -409,17 +409,20 @@ static int rtl8188eu_parse_efuse(struct + + ether_addr_copy(priv->mac_addr, efuse->mac_addr); + +- memcpy(priv->cck_tx_power_index_A, efuse->cck_tx_power_index_A, +- sizeof(efuse->cck_tx_power_index_A)); +- memcpy(priv->cck_tx_power_index_B, efuse->cck_tx_power_index_B, +- sizeof(efuse->cck_tx_power_index_B)); ++ memcpy(priv->cck_tx_power_index_A, efuse->tx_power_index_A.cck_base, ++ sizeof(efuse->tx_power_index_A.cck_base)); ++ /* ++ * Efuse is empty for path B, so copy in values from path A ++ */ ++ memcpy(priv->cck_tx_power_index_B, efuse->tx_power_index_A.cck_base, ++ sizeof(efuse->tx_power_index_A.cck_base)); + + memcpy(priv->ht40_1s_tx_power_index_A, +- priv->efuse_wifi.efuse8188eu.ht40_1s_tx_power_index_A, +- sizeof(priv->ht40_1s_tx_power_index_A)); ++ efuse->tx_power_index_A.ht40_base, ++ sizeof(efuse->tx_power_index_A.ht40_base)); + memcpy(priv->ht40_1s_tx_power_index_B, +- priv->efuse_wifi.efuse8188eu.ht40_1s_tx_power_index_B, +- sizeof(priv->ht40_1s_tx_power_index_B)); ++ efuse->tx_power_index_A.ht40_base, ++ sizeof(efuse->tx_power_index_A.ht40_base)); + + priv->xtalk = priv->efuse_wifi.efuse8188eu.xtal_k & 0x3f; + -- cgit v1.2.3