summaryrefslogtreecommitdiff |
diff options
author | Oliver Neukum <oneukum@suse.com> | 2019-01-16 17:47:58 +0100 |
---|---|---|
committer | Oliver Neukum <oneukum@suse.com> | 2019-01-16 17:47:58 +0100 |
commit | 00c2467f0bec11585ed9e28cc462ece982c6be01 (patch) | |
tree | 31d73fb6ff17459513e2d99acab9ae3992464ca9 | |
parent | 51d2bb6b29d69156237debda83812afe4ded37fa (diff) |
iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE (bsc#1119086).
-rw-r--r-- | patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch | 83 | ||||
-rw-r--r-- | series.conf | 1 |
2 files changed, 84 insertions, 0 deletions
diff --git a/patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch b/patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch new file mode 100644 index 0000000000..2b451b08cc --- /dev/null +++ b/patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch @@ -0,0 +1,83 @@ +From 66e839030fd698586734e017fd55c4f2a89dba0b Mon Sep 17 00:00:00 2001 +From: Matt Chen <matt.chen@intel.com> +Date: Fri, 3 Aug 2018 14:29:20 +0800 +Subject: [PATCH] iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE +Git-commit: 66e839030fd698586734e017fd55c4f2a89dba0b +Patch-mainline: v4.20 +References: bsc#1119086 + +From coreboot/BIOS: +Name ("WGDS", Package() { + Revision, + Package() { + DomainType, // 0x7:WiFi ==> We miss this one. + WgdsWiFiSarDeltaGroup1PowerMax1, // Group 1 FCC 2400 Max + WgdsWiFiSarDeltaGroup1PowerChainA1, // Group 1 FCC 2400 A Offset + WgdsWiFiSarDeltaGroup1PowerChainB1, // Group 1 FCC 2400 B Offset + WgdsWiFiSarDeltaGroup1PowerMax2, // Group 1 FCC 5200 Max + WgdsWiFiSarDeltaGroup1PowerChainA2, // Group 1 FCC 5200 A Offset + WgdsWiFiSarDeltaGroup1PowerChainB2, // Group 1 FCC 5200 B Offset + WgdsWiFiSarDeltaGroup2PowerMax1, // Group 2 EC Jap 2400 Max + WgdsWiFiSarDeltaGroup2PowerChainA1, // Group 2 EC Jap 2400 A Offset + WgdsWiFiSarDeltaGroup2PowerChainB1, // Group 2 EC Jap 2400 B Offset + WgdsWiFiSarDeltaGroup2PowerMax2, // Group 2 EC Jap 5200 Max + WgdsWiFiSarDeltaGroup2PowerChainA2, // Group 2 EC Jap 5200 A Offset + WgdsWiFiSarDeltaGroup2PowerChainB2, // Group 2 EC Jap 5200 B Offset + WgdsWiFiSarDeltaGroup3PowerMax1, // Group 3 ROW 2400 Max + WgdsWiFiSarDeltaGroup3PowerChainA1, // Group 3 ROW 2400 A Offset + WgdsWiFiSarDeltaGroup3PowerChainB1, // Group 3 ROW 2400 B Offset + WgdsWiFiSarDeltaGroup3PowerMax2, // Group 3 ROW 5200 Max + WgdsWiFiSarDeltaGroup3PowerChainA2, // Group 3 ROW 5200 A Offset + WgdsWiFiSarDeltaGroup3PowerChainB2, // Group 3 ROW 5200 B Offset + } +}) + +When read the ACPI data to find out the WGDS, the DATA_SIZE is never +matched. +From the above format, it gives 19 numbers, but our driver is hardcode +as 18. +Fix it to pass then can parse the data into our wgds table. +Then we will see: +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init Sending GEO_TX_POWER_LIMIT +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0] +Band[0]: chain A = 68 chain B = 69 max_tx_power = 54 +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0] +Band[1]: chain A = 48 chain B = 49 max_tx_power = 70 +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1] +Band[0]: chain A = 51 chain B = 67 max_tx_power = 50 +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1] +Band[1]: chain A = 69 chain B = 70 max_tx_power = 68 +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2] +Band[0]: chain A = 49 chain B = 50 max_tx_power = 48 +iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2] +Band[1]: chain A = 52 chain B = 53 max_tx_power = 51 + +Cc: stable@vger.kernel.org # 4.12+ +Fixes: a6bff3cb19b7 ("iwlwifi: mvm: add GEO_TX_POWER_LIMIT cmd for geographic tx power table") +Signed-off-by: Matt Chen <matt.chen@intel.com> +Signed-off-by: Luca Coelho <luciano.coelho@intel.com> +Signed-off-by: Oliver Neukum <oneukum@suse.com> +--- + drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +@@ -590,7 +590,7 @@ static int iwl_mvm_config_ltr(struct iwl + #define ACPI_WRDS_WIFI_DATA_SIZE (IWL_MVM_SAR_TABLE_SIZE + 2) + #define ACPI_EWRD_WIFI_DATA_SIZE ((IWL_MVM_SAR_PROFILE_NUM - 1) * \ + IWL_MVM_SAR_TABLE_SIZE + 3) +-#define ACPI_WGDS_WIFI_DATA_SIZE 18 ++#define ACPI_WGDS_WIFI_DATA_SIZE 19 + #define ACPI_WGDS_NUM_BANDS 2 + #define ACPI_WGDS_TABLE_SIZE 3 + +@@ -968,7 +968,7 @@ static int iwl_mvm_sar_geo_init(struct i + IWL_DEBUG_RADIO(mvm, "Sending GEO_TX_POWER_LIMIT\n"); + + BUILD_BUG_ON(IWL_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS * +- ACPI_WGDS_TABLE_SIZE != ACPI_WGDS_WIFI_DATA_SIZE); ++ ACPI_WGDS_TABLE_SIZE + 1 != ACPI_WGDS_WIFI_DATA_SIZE); + + for (i = 0; i < IWL_NUM_GEO_PROFILES; i++) { + struct iwl_per_chain_offset *chain = diff --git a/series.conf b/series.conf index f83381b739..6a2176b41e 100644 --- a/series.conf +++ b/series.conf @@ -19373,6 +19373,7 @@ patches.suse/net-mlx5e-Fix-selftest-for-small-MTUs.patch patches.suse/tg3-Add-PHY-reset-for-5717-5719-5720-in-change-ring-.patch patches.drivers/brcmutil-really-fix-decoding-channel-info-for-160-MH.patch + patches.drivers/iwlwifi-fix-wrong-WGDS_WIFI_DATA_SIZE.patch patches.drivers/iwlwifi-mvm-support-sta_statistics-even-on-older-fir.patch patches.drivers/iwlwifi-mvm-fix-regulatory-domain-update-when-the-fi.patch patches.drivers/iwlwifi-mvm-don-t-use-SAR-Geo-if-basic-SAR-is-not-us.patch |