diff --git a/0001-x86-amd_nb-Add-PCI-device-IDs-for-family-17h-model-7.patch b/0001-x86-amd_nb-Add-PCI-device-IDs-for-family-17h-model-7.patch new file mode 100644 index 000000000..327789e50 --- /dev/null +++ b/0001-x86-amd_nb-Add-PCI-device-IDs-for-family-17h-model-7.patch @@ -0,0 +1,92 @@ +From af4e1c5eca95bed1192d8dc45c8ed63aea2209e8 Mon Sep 17 00:00:00 2001 +From: Marcel Bocu +Date: Mon, 22 Jul 2019 20:45:10 +0300 +Subject: [PATCH] x86/amd_nb: Add PCI device IDs for family 17h, model 70h + +The AMD Ryzen gen 3 processors came with a different PCI IDs for the +function 3 & 4 which are used to access the SMN interface. The root +PCI address however remained at the same address as the model 30h. + +Adding the F3/F4 PCI IDs respectively to the misc and link ids appear +to be sufficient for k10temp, so let's add them and follow up on the +patch if other functions need more tweaking. + +Vicki Pfau sent an identical patch after I checked that no-one had +written this patch. I would have been happy about dropping my patch but +unlike for his patch series, I had already Cc:ed the x86 people and +they already reviewed the changes. Since Vicki has not answered to +any email after his initial series, let's assume she is on vacation +and let's avoid duplication of reviews from the maintainers and merge +my series. To acknowledge Vicki's anteriority, I added her S-o-b to +the patch. + +v2, suggested by Guenter Roeck and Brian Woods: + - rename from 71h to 70h + +Signed-off-by: Vicki Pfau +Signed-off-by: Marcel Bocu +Tested-by: Marcel Bocu +Acked-by: Thomas Gleixner +Acked-by: Brian Woods +Acked-by: Bjorn Helgaas # pci_ids.h + +Cc: Thomas Gleixner +Cc: Ingo Molnar +Cc: Borislav Petkov +Cc: "H. Peter Anvin" +Cc: x86@kernel.org +Cc: "Woods, Brian" +Cc: Clemens Ladisch +Cc: Jean Delvare +Cc: Guenter Roeck +Cc: linux-hwmon@vger.kernel.org +Link: https://lore.kernel.org/r/20190722174510.2179-1-marcel.p.bocu@gmail.com +Signed-off-by: Guenter Roeck +--- + arch/x86/kernel/amd_nb.c | 3 +++ + include/linux/pci_ids.h | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c +index d63e63b7d1d9..251c795b4eb3 100644 +--- a/arch/x86/kernel/amd_nb.c ++++ b/arch/x86/kernel/amd_nb.c +@@ -21,6 +21,7 @@ + #define PCI_DEVICE_ID_AMD_17H_DF_F4 0x1464 + #define PCI_DEVICE_ID_AMD_17H_M10H_DF_F4 0x15ec + #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F4 0x1494 ++#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F4 0x1444 + + /* Protect the PCI config register pairs used for SMN and DF indirect access. */ + static DEFINE_MUTEX(smn_mutex); +@@ -50,6 +51,7 @@ const struct pci_device_id amd_nb_misc_ids[] = { + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F3) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) }, + {} + }; + EXPORT_SYMBOL_GPL(amd_nb_misc_ids); +@@ -63,6 +65,7 @@ static const struct pci_device_id amd_nb_link_ids[] = { + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F4) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F4) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F4) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F4) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F4) }, + {} + }; +diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h +index c842735a4f45..4b97f427cc92 100644 +--- a/include/linux/pci_ids.h ++++ b/include/linux/pci_ids.h +@@ -548,6 +548,7 @@ + #define PCI_DEVICE_ID_AMD_17H_DF_F3 0x1463 + #define PCI_DEVICE_ID_AMD_17H_M10H_DF_F3 0x15eb + #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F3 0x1493 ++#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F3 0x1443 + #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703 + #define PCI_DEVICE_ID_AMD_LANCE 0x2000 + #define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001 +-- +2.21.0 + diff --git a/dwc3-fix.patch b/dwc3-fix.patch new file mode 100644 index 000000000..d741b9e2e --- /dev/null +++ b/dwc3-fix.patch @@ -0,0 +1,80 @@ +From 4749e0e61241cc121de572520a39dab365b9ea1d Mon Sep 17 00:00:00 2001 +From: Thinh Nguyen +Date: Thu, 8 Aug 2019 16:39:42 -0700 +Subject: usb: dwc3: Update soft-reset wait polling rate + +Starting from DWC_usb31 version 1.90a and later, the DCTL.CSFRST bit +will not be cleared until after all the internal clocks are synchronized +during soft-reset. This may take a little more than 50ms. Set the +polling rate at 20ms instead. + +Signed-off-by: Thinh Nguyen +Signed-off-by: Felipe Balbi +--- + drivers/usb/dwc3/core.c | 23 ++++++++++++++++++----- + drivers/usb/dwc3/core.h | 2 ++ + 2 files changed, 20 insertions(+), 5 deletions(-) + +diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c +index 98bce85c29d0..252c397860ef 100644 +--- a/drivers/usb/dwc3/core.c ++++ b/drivers/usb/dwc3/core.c +@@ -252,12 +252,25 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) + reg |= DWC3_DCTL_CSFTRST; + dwc3_writel(dwc->regs, DWC3_DCTL, reg); + ++ /* ++ * For DWC_usb31 controller 1.90a and later, the DCTL.CSFRST bit ++ * is cleared only after all the clocks are synchronized. This can ++ * take a little more than 50ms. Set the polling rate at 20ms ++ * for 10 times instead. ++ */ ++ if (dwc3_is_usb31(dwc) && dwc->revision >= DWC3_USB31_REVISION_190A) ++ retries = 10; ++ + do { + reg = dwc3_readl(dwc->regs, DWC3_DCTL); + if (!(reg & DWC3_DCTL_CSFTRST)) + goto done; + +- udelay(1); ++ if (dwc3_is_usb31(dwc) && ++ dwc->revision >= DWC3_USB31_REVISION_190A) ++ msleep(20); ++ else ++ udelay(1); + } while (--retries); + + phy_exit(dwc->usb3_generic_phy); +@@ -267,11 +280,11 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) + + done: + /* +- * For DWC_usb31 controller, once DWC3_DCTL_CSFTRST bit is cleared, +- * we must wait at least 50ms before accessing the PHY domain +- * (synchronization delay). DWC_usb31 programming guide section 1.3.2. ++ * For DWC_usb31 controller 1.80a and prior, once DCTL.CSFRST bit ++ * is cleared, we must wait at least 50ms before accessing the PHY ++ * domain (synchronization delay). + */ +- if (dwc3_is_usb31(dwc)) ++ if (dwc3_is_usb31(dwc) && dwc->revision <= DWC3_USB31_REVISION_180A) + msleep(50); + + return 0; +diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h +index 3dd783b889cb..1c8b349379af 100644 +--- a/drivers/usb/dwc3/core.h ++++ b/drivers/usb/dwc3/core.h +@@ -1137,6 +1137,8 @@ struct dwc3 { + #define DWC3_USB31_REVISION_120A (0x3132302a | DWC3_REVISION_IS_DWC31) + #define DWC3_USB31_REVISION_160A (0x3136302a | DWC3_REVISION_IS_DWC31) + #define DWC3_USB31_REVISION_170A (0x3137302a | DWC3_REVISION_IS_DWC31) ++#define DWC3_USB31_REVISION_180A (0x3138302a | DWC3_REVISION_IS_DWC31) ++#define DWC3_USB31_REVISION_190A (0x3139302a | DWC3_REVISION_IS_DWC31) + + u32 version_type; + +-- +cgit 1.2-0.3.lf.el7 + diff --git a/iwlwifi-fw-don-t-send-GEO_TX_POWER_LIMIT-command-to-FW-version-36.patch b/iwlwifi-fw-don-t-send-GEO_TX_POWER_LIMIT-command-to-FW-version-36.patch new file mode 100644 index 000000000..f583a5b2d --- /dev/null +++ b/iwlwifi-fw-don-t-send-GEO_TX_POWER_LIMIT-command-to-FW-version-36.patch @@ -0,0 +1,87 @@ +From patchwork Tue Sep 24 10:30:57 2019 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Luca Coelho +X-Patchwork-Id: 11158395 +X-Patchwork-Delegate: kvalo@adurom.com +Return-Path: +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 62FF3112B + for ; + Tue, 24 Sep 2019 10:31:06 +0000 (UTC) +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by mail.kernel.org (Postfix) with ESMTP id 4AA4E214D9 + for ; + Tue, 24 Sep 2019 10:31:06 +0000 (UTC) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S2409468AbfIXKbF (ORCPT + ); + Tue, 24 Sep 2019 06:31:05 -0400 +Received: from paleale.coelho.fi ([176.9.41.70]:44742 "EHLO + farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org + with ESMTP id S2387644AbfIXKbF (ORCPT + ); + Tue, 24 Sep 2019 06:31:05 -0400 +Received: from [91.156.6.193] (helo=redipa.ger.corp.intel.com) + by farmhouse.coelho.fi with esmtpsa + (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) + (Exim 4.92) + (envelope-from ) + id 1iCi63-0005Je-8E; Tue, 24 Sep 2019 13:31:03 +0300 +From: Luca Coelho +To: kvalo@codeaurora.org +Cc: linux-wireless@vger.kernel.org +Date: Tue, 24 Sep 2019 13:30:57 +0300 +Message-Id: <20190924103057.17147-1-luca@coelho.fi> +X-Mailer: git-send-email 2.23.0 +MIME-Version: 1.0 +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on farmhouse.coelho.fi +X-Spam-Level: +X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, + URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 +Subject: [PATCH v5.4] iwlwifi: fw: don't send GEO_TX_POWER_LIMIT command to FW + version 36 +Sender: linux-wireless-owner@vger.kernel.org +Precedence: bulk +List-ID: +X-Mailing-List: linux-wireless@vger.kernel.org + +From: Luca Coelho + +The intention was to have the GEO_TX_POWER_LIMIT command in FW version +36 as well, but not all 8000 family got this feature enabled. The +8000 family is the only one using version 36, so skip this version +entirely. If we try to send this command to the firmwares that do not +support it, we get a BAD_COMMAND response from the firmware. + +This fixes https://bugzilla.kernel.org/show_bug.cgi?id=204151. + +Cc: stable@vger.kernel.org # 4.19+ +Signed-off-by: Luca Coelho +--- + drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +index 014eca6596e2..32a5e4e5461f 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +@@ -889,11 +889,13 @@ static bool iwl_mvm_sar_geo_support(struct iwl_mvm *mvm) + * firmware versions. Unfortunately, we don't have a TLV API + * flag to rely on, so rely on the major version which is in + * the first byte of ucode_ver. This was implemented +- * initially on version 38 and then backported to 36, 29 and +- * 17. ++ * initially on version 38 and then backported to29 and 17. ++ * The intention was to have it in 36 as well, but not all ++ * 8000 family got this feature enabled. The 8000 family is ++ * the only one using version 36, so skip this version ++ * entirely. + */ + return IWL_UCODE_SERIAL(mvm->fw->ucode_ver) >= 38 || +- IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 36 || + IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 29 || + IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17; + } diff --git a/kernel.spec b/kernel.spec index 60ab1ce86..70cc9b179 100644 --- a/kernel.spec +++ b/kernel.spec @@ -44,7 +44,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 1 +%global baserelease 300 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -56,7 +56,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 0 +%define stable_update 1 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -584,11 +584,20 @@ Patch332: arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch Patch501: input-rmi4-remove-the-need-for-artifical-IRQ.patch # gcc9 fixes -Patch507: 0001-Drop-that-for-now.patch +Patch502: 0001-Drop-that-for-now.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1701096 # Submitted upstream at https://lkml.org/lkml/2019/4/23/89 -Patch508: KEYS-Make-use-of-platform-keyring-for-module-signature.patch +Patch503: KEYS-Make-use-of-platform-keyring-for-module-signature.patch + +# rhbz 1753099 +Patch504: dwc3-fix.patch + +# https://patchwork.kernel.org/patch/11158395/ +Patch505: iwlwifi-fw-don-t-send-GEO_TX_POWER_LIMIT-command-to-FW-version-36.patch + +# new ids +Patch506: 0001-x86-amd_nb-Add-PCI-device-IDs-for-family-17h-model-7.patch # RISC-V SECCOMP support v2 (posted on linux-riscv) # http://lists.infradead.org/pipermail/linux-riscv/2019-August/006235.html @@ -1800,6 +1809,15 @@ fi # # %changelog +* Mon Sep 23 2019 Peter Robinson 5.3.1-300 +- Upstream patch for iwlwifi 8000 series FW issues (rhbz: 1749949) + +* Mon Sep 23 2019 Laura Abbott - 5.3.1-100 +- Linux v5.3.1 + +* Thu Sep 19 2019 Laura Abbott +- Fix for dwc3 (rhbz 1753099) + * Mon Sep 16 2019 Laura Abbott - 5.3.0-1 - Linux v5.3 diff --git a/scripts/stable-update.sh b/scripts/stable-update.sh index 2ea5fb78b..259a338c1 100755 --- a/scripts/stable-update.sh +++ b/scripts/stable-update.sh @@ -35,27 +35,29 @@ if [ -z $VERSION ]; then fi if [ ! -f patch-$1.xz ]; then - wget https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-$1.xz + wget https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-$1.xz if [ ! $? -eq 0 ]; then echo "Download fail" exit 1 fi fi -if [ ! -f "patch-$1.sign" ]; then - wget "https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-$1.sign" - if [ ! $? -eq 0 ]; then - echo "Signature download failed" - exit 1 - fi -fi +# This all needs to be updated for the new generation system +# +# if [ ! -f "patch-$1.sign" ]; then +# wget "https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-$1.sign" +# if [ ! $? -eq 0 ]; then +# echo "Signature download failed" +# exit 1 +# fi +# fi -xzcat "patch-$1.xz" | gpg2 --verify "patch-$1.sign" - -if [ ! $? -eq 0 ]; then - echo "Patch file has invalid or untrusted signature!" - echo "See https://www.kernel.org/category/signatures.html" - exit 1 -fi +# xzcat "patch-$1.xz" | gpg2 --verify "patch-$1.sign" - +# if [ ! $? -eq 0 ]; then +# echo "Patch file has invalid or untrusted signature!" +# echo "See https://www.kernel.org/category/signatures.html" +# exit 1 +# fi grep $1 sources &> /dev/null if [ ! $? -eq 0 ]; then diff --git a/sources b/sources index 147e64fc4..04bf19e31 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (linux-5.3.tar.xz) = 6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d +SHA512 (patch-5.3.1.xz) = 7145c90530c49635a6270d3021f423b34f57d2058a3083f1d11b9ed1ab72cb4e5a30a3794bc490304d14423bd7e74b296f4027ade844f09d861d830449edc198