From 5673973b691ffca44c551a389d4f6dbe4d571c46 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Tue, 24 Mar 2020 13:06:10 -0700 Subject: Updated to 5.5.11 --- ...-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch | 152 +++++++++++++++++++++ PKGBUILD | 9 +- config | 4 +- 3 files changed, 160 insertions(+), 5 deletions(-) create mode 100644 0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch diff --git a/0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch b/0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch new file mode 100644 index 0000000..af462ee --- /dev/null +++ b/0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch @@ -0,0 +1,152 @@ +From ec701fa986108fae10bee7cfe269e12210521c5f Mon Sep 17 00:00:00 2001 +From: Golan Ben Ami +Date: Wed, 18 Mar 2020 08:12:54 +0200 +Subject: iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table + +The GEO_TX_POWER_LIMIT command was sent although +there is no wgds table, so the fw got wrong SAR values +from the driver. + +Fix this by avoiding sending the command if no wgds +tables are available. + +Signed-off-by: Golan Ben Ami +Fixes: 39c1a9728f93 ("iwlwifi: refactor the SAR tables from mvm to acpi") +Signed-off-by: Luca Coelho +Tested-By: Jonathan McDowell +Tested-by: Len Brown +--- + drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 14 ++++++++------ + drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 14 ++++++++------ + drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 ++++++++- + 3 files changed, 24 insertions(+), 13 deletions(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c +index 48d375a86d86..ba2aff3af0fe 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c ++++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c +@@ -6,7 +6,7 @@ + * GPL LICENSE SUMMARY + * + * Copyright(c) 2017 Intel Deutschland GmbH +- * Copyright (C) 2019 Intel Corporation ++ * Copyright (C) 2019 - 2020 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as +@@ -27,7 +27,7 @@ + * BSD LICENSE + * + * Copyright(c) 2017 Intel Deutschland GmbH +- * Copyright (C) 2019 Intel Corporation ++ * Copyright (C) 2019 - 2020 Intel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without +@@ -491,13 +491,13 @@ int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, + } + IWL_EXPORT_SYMBOL(iwl_validate_sar_geo_profile); + +-void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, +- struct iwl_per_chain_offset_group *table) ++int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, ++ struct iwl_per_chain_offset_group *table) + { + int ret, i, j; + + if (!iwl_sar_geo_support(fwrt)) +- return; ++ return -EOPNOTSUPP; + + ret = iwl_sar_get_wgds_table(fwrt); + if (ret < 0) { +@@ -505,7 +505,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, + "Geo SAR BIOS table invalid or unavailable. (%d)\n", + ret); + /* we don't fail if the table is not available */ +- return; ++ return -ENOENT; + } + + BUILD_BUG_ON(ACPI_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS * +@@ -530,5 +530,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, + i, j, value[1], value[2], value[0]); + } + } ++ ++ return 0; + } + IWL_EXPORT_SYMBOL(iwl_sar_geo_init); +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h +index 4a6e8262974b..5590e5cc8fbb 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h ++++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h +@@ -6,7 +6,7 @@ + * GPL LICENSE SUMMARY + * + * Copyright(c) 2017 Intel Deutschland GmbH +- * Copyright(c) 2018 - 2019 Intel Corporation ++ * Copyright(c) 2018 - 2020 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as +@@ -27,7 +27,7 @@ + * BSD LICENSE + * + * Copyright(c) 2017 Intel Deutschland GmbH +- * Copyright(c) 2018 - 2019 Intel Corporation ++ * Copyright(c) 2018 - 2020 Intel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without +@@ -171,8 +171,9 @@ bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt); + int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, + struct iwl_host_cmd *cmd); + +-void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, +- struct iwl_per_chain_offset_group *table); ++int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, ++ struct iwl_per_chain_offset_group *table); ++ + #else /* CONFIG_ACPI */ + + static inline void *iwl_acpi_get_object(struct device *dev, acpi_string method) +@@ -243,9 +244,10 @@ static inline int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, + return -ENOENT; + } + +-static inline void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, +- struct iwl_per_chain_offset_group *table) ++static inline int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, ++ struct iwl_per_chain_offset_group *table) + { ++ return -ENOENT; + } + + #endif /* CONFIG_ACPI */ +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +index c09624d8d7ee..81b7da5815eb 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +@@ -749,10 +749,17 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm) + u16 cmd_wide_id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT); + union geo_tx_power_profiles_cmd cmd; + u16 len; ++ int ret; + + cmd.geo_cmd.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES); + +- iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table); ++ ret = iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table); ++ /* ++ * It is a valid scenario to not support SAR, or miss wgds table, ++ * but in that case there is no need to send the command. ++ */ ++ if (ret) ++ return 0; + + cmd.geo_cmd.table_revision = cpu_to_le32(mvm->fwrt.geo_rev); + +-- +cgit v1.2.2-1-gc45e + diff --git a/PKGBUILD b/PKGBUILD index 1838bb3..84c8c40 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -19,7 +19,7 @@ pkgbase=linux-ck _supver=5 _majver=5 -_minver=10 +_minver=11 _gccpatchver='20191217' _gccpatchger='9.1' _gccpatchker='5.5' @@ -53,6 +53,7 @@ source=( 0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch 0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch 0010-drm-i915-Introduce-a-vma.kref.patch + 0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/${_supver}.0/${_supver}.${_majver}/${_supver}.${_majver}-${_ckpatchversion}/patch-${_supver}.${_majver}-${_ckpatchversion}.xz graysky_bdver2-hotfix.patch kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz @@ -65,7 +66,7 @@ validpgpkeys=( '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -b2sums=('9498865279ca942aa3f9788ccabbb4e0b5e2ac67e0fac75c662757b276eea87c61dd34d6a0e64ab309cec58e0a0374622593ca7af961063488cef7705c58e774' +b2sums=('7fde5515b48d05d87a04818eec3404031ac7c3910620c3ce76769c546d92f34112f1cff9ef5953be3b344b1230d45715556aa39852d3ef04db67345deba7423f' 'SKIP' 'ab1fb19c67d4c107f75767581c33d9c1458b4d9fdb88f4adb41d30a36f5a2f95f1c48ef079eb87e1e6e8ce2f98b293195cb2c0f2a8ec975aa817453289158c6e' '2e822cf7d4ff8b7458e22d3ce110fd8534e17a9aac2feace41c591f70697e1fab7bd9ce307c60a6361fbe525d10dab74c8b76fcb5276cd27f6e945f8fdfcc25c' @@ -77,12 +78,13 @@ b2sums=('9498865279ca942aa3f9788ccabbb4e0b5e2ac67e0fac75c662757b276eea87c61dd34d 'c1410e2d53dd7afb6d68f75c557774e37f466a5b5b7432ec6802b2c2a9644c8a6b5fcd38a76781b9229a9cb2cf4c0c55129ee050918577937d91dd7ee789f3b8' '63e9e6ceda80243910c073ec81555f2781d75ac4b3cb5000c1328f2624f7be840684b0f383768020e82bce502aa90a1c8729f7b3e91c099652075a42da2187cf' '078bb20a03b7e43ad0685b0c3f6a54f1c4bd32d25e0f6c6434100c6f5f5bc27cd6281bf2134b7c7034e6aa448d895d23c20d32f7d1cc40e55f0735af777694a3' + '7b56fe6d171bc9f5154fd6dd89e6678f7e65f26d53551ebc758142a3440cb796b8f7badc361b1e19ff70dfc842dce235fb3b476d35994cb0022157ae64e28cf3' '54bdd9958d8fa9c3affa1972ca7d9821330394fbacf7ed25e098675d439764d0c918b4ee6554aaea23762bb90060cb2ee952bff569f54903e6b27fa10e8f4b09' '1892bd22775eac3bcc4d37f4fd30c95346bf3a0888cbbff57fd614973b525390dff2e315ce35b2e498523cceaab94ff21a80475dee8df3de4dd8fc0fab07d74e' 'd76bd0bf237ea2bb7999fd3715cb664d89148cb0ade8057d57cdb40bc0a7954336e50ee077312e5e192398b0f35f055786deb98af9130d57e60f2ea040fbb66f' '2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd' 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a' - '45f839ec4a1eb901e348d63c52f2c9b80c430d4a1885dff86ffb81eec2e10a7c8863e5b361e37d09e05aa2b20154978026306b3340f36c74c77daa7f2273c342') + '7a54e2f099792455749374b43ba18826c519f14f5ba99d5723e86a27cbb998f2032220cf3fe2faa4d00aa9c1ea47a2034e6691a661bc709e1a9e1d6ae4600f75') #export KBUILD_BUILD_HOST=arc4linux export KBUILD_BUILD_USER=$pkgbase @@ -110,6 +112,7 @@ prepare() { patch -p1 -i ../0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch patch -p1 -i ../0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch patch -p1 -i ../0010-drm-i915-Introduce-a-vma.kref.patch + patch -p1 -i ../0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch # fix naming schema in EXTRAVERSION of ck patch set diff --git a/config b/config index 76b39c5..5feb9dc 100644 --- a/config +++ b/config @@ -4,10 +4,10 @@ # # -# Compiler: gcc (GCC) 9.2.1 +# Compiler: gcc (GCC) 9.3.0 # CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=90201 +CONFIG_GCC_VERSION=90300 CONFIG_CLANG_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_HAS_ASM_GOTO=y -- cgit v1.2.1