diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-09-29 09:48:09 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-09-29 10:32:41 +0200 |
commit | c795794eef8737f6272b2acce9025807af52da81 (patch) | |
tree | e827cc19dc4d140021b84dae65e2ea28eb090d5d /package/kernel/mac80211/patches/652-0003-rtl8xxxu-Add-initial-code-to-part-8188eu-efuse.patch | |
parent | 71144844e109bbf0ef62984eeadabbf5702a1cee (diff) | |
download | upstream-c795794eef8737f6272b2acce9025807af52da81.tar.gz upstream-c795794eef8737f6272b2acce9025807af52da81.tar.bz2 upstream-c795794eef8737f6272b2acce9025807af52da81.zip |
mac80211: use upstream patches for rtl8xxxu
Also improves rtl8188eu support.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'package/kernel/mac80211/patches/652-0003-rtl8xxxu-Add-initial-code-to-part-8188eu-efuse.patch')
-rw-r--r-- | package/kernel/mac80211/patches/652-0003-rtl8xxxu-Add-initial-code-to-part-8188eu-efuse.patch | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/package/kernel/mac80211/patches/652-0003-rtl8xxxu-Add-initial-code-to-part-8188eu-efuse.patch b/package/kernel/mac80211/patches/652-0003-rtl8xxxu-Add-initial-code-to-part-8188eu-efuse.patch deleted file mode 100644 index e664fa0b30..0000000000 --- a/package/kernel/mac80211/patches/652-0003-rtl8xxxu-Add-initial-code-to-part-8188eu-efuse.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 0acca96b150f2ebd6883689ddfe62babea1a0fc1 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 - -This obtains the MAC address, but work is still needed to handle TX -power settings. - -Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> ---- - drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 40 ++++++++++++++++++++++ - .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 34 ++++++++++++++++++ - 2 files changed, 74 insertions(+) - ---- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h -+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h -@@ -871,6 +871,45 @@ struct rtl8192eu_efuse { - u8 res14[0xc3]; - }; - -+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]; -+ u8 channel_plan; /* 0xb8 */ -+ u8 xtal_k; -+ u8 thermal_meter; -+ u8 iqk_lck; -+ u8 res2[5]; -+ u8 rf_board_option; -+ u8 rf_feature_option; -+ u8 rf_bt_setting; -+ u8 eeprom_version; -+ u8 eeprom_customer_id; -+ u8 res3[3]; -+ u8 rf_antenna_option; /* 0xc9 */ -+ u8 res4[6]; -+ u8 vid; /* 0xd0 */ -+ u8 res5[1]; -+ u8 pid; /* 0xd2 */ -+ u8 res6[1]; -+ u8 usb_optional_function; -+ u8 res7[2]; -+ u8 mac_addr[ETH_ALEN]; /* 0xd7 */ -+ u8 res8[2]; -+ u8 vendor_name[7]; -+ u8 res9[2]; -+ u8 device_name[0x0b]; /* 0xe8 */ -+ u8 res10[2]; -+ u8 serial[0x0b]; /* 0xf5 */ -+ u8 res11[0x30]; -+ u8 unknown[0x0d]; /* 0x130 */ -+ u8 res12[0xc3]; -+}; -+ - struct rtl8xxxu_reg8val { - u16 reg; - u8 val; -@@ -1289,6 +1328,7 @@ struct rtl8xxxu_priv { - struct rtl8723bu_efuse efuse8723bu; - struct rtl8192cu_efuse efuse8192; - struct rtl8192eu_efuse efuse8192eu; -+ struct rtl8188eu_efuse efuse8188eu; - } efuse_wifi; - u32 adda_backup[RTL8XXXU_ADDA_REGS]; - u32 mac_backup[RTL8XXXU_MAC_REGS]; ---- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c -+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c -@@ -42,6 +42,40 @@ - - static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv) - { -+ struct rtl8188eu_efuse *efuse = &priv->efuse_wifi.efuse8188eu; -+ int i; -+ -+ if (efuse->rtl_id != cpu_to_le16(0x8129)) -+ return -EINVAL; -+ -+ 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->ht40_1s_tx_power_index_A, -+ priv->efuse_wifi.efuse8188eu.ht40_1s_tx_power_index_A, -+ sizeof(priv->ht40_1s_tx_power_index_A)); -+ 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)); -+ -+ dev_info(&priv->udev->dev, "Vendor: %.7s\n", efuse->vendor_name); -+ dev_info(&priv->udev->dev, "Product: %.11s\n", efuse->device_name); -+ dev_info(&priv->udev->dev, "Serial: %.11s\n", efuse->serial); -+ -+ if (rtl8xxxu_debug & RTL8XXXU_DEBUG_EFUSE) { -+ unsigned char *raw = priv->efuse_wifi.raw; -+ -+ dev_info(&priv->udev->dev, -+ "%s: dumping efuse (0x%02zx bytes):\n", -+ __func__, sizeof(struct rtl8188eu_efuse)); -+ for (i = 0; i < sizeof(struct rtl8188eu_efuse); i += 8) -+ dev_info(&priv->udev->dev, "%02x: %8ph\n", i, &raw[i]); -+ } -+ - return 0; - } - |