From 839d783d52c88e8999994d87725351d24a192d9e Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 8 Oct 2019 14:51:07 +0100 Subject: [PATCH 1/9] arm: disable omap crytpo offload drivers as they currently cause issues on BeagleBone and related HW --- .../fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP | 2 +- .../generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES | 2 +- .../generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES | 2 +- .../generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM | 2 +- kernel-armv7hl-debug.config | 8 ++++---- kernel-armv7hl.config | 8 ++++---- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP index 98ff565f8..df6a929e2 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP @@ -1 +1 @@ -CONFIG_CRYPTO_DEV_OMAP=m +# CONFIG_CRYPTO_DEV_OMAP is not set diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES index 1b126b18e..eb6803b74 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES @@ -1 +1 @@ -CONFIG_CRYPTO_DEV_OMAP_AES=m +# CONFIG_CRYPTO_DEV_OMAP_AES is not set diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES index b359a5c3f..952a6e247 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES @@ -1 +1 @@ -CONFIG_CRYPTO_DEV_OMAP_DES=m +# CONFIG_CRYPTO_DEV_OMAP_DES is not set diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM index 58d162aba..2997e8fc1 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM @@ -1 +1 @@ -CONFIG_CRYPTO_DEV_OMAP_SHAM=m +# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index ea7b2d2b8..4a105466d 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -1142,10 +1142,10 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MXS_DCP=m # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -CONFIG_CRYPTO_DEV_OMAP_AES=m -CONFIG_CRYPTO_DEV_OMAP_DES=m -CONFIG_CRYPTO_DEV_OMAP=m -CONFIG_CRYPTO_DEV_OMAP_SHAM=m +# CONFIG_CRYPTO_DEV_OMAP_AES is not set +# CONFIG_CRYPTO_DEV_OMAP_DES is not set +# CONFIG_CRYPTO_DEV_OMAP is not set +# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index 3f41496ef..614d53a6c 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -1142,10 +1142,10 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MXS_DCP=m # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -CONFIG_CRYPTO_DEV_OMAP_AES=m -CONFIG_CRYPTO_DEV_OMAP_DES=m -CONFIG_CRYPTO_DEV_OMAP=m -CONFIG_CRYPTO_DEV_OMAP_SHAM=m +# CONFIG_CRYPTO_DEV_OMAP_AES is not set +# CONFIG_CRYPTO_DEV_OMAP_DES is not set +# CONFIG_CRYPTO_DEV_OMAP is not set +# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m From 30675b84bb5e82190342091a49f81e86df95a2c6 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 11 Oct 2019 17:19:22 +0100 Subject: [PATCH 2/9] arm64: enable spi flash memory on aarch64 too --- configs/fedora/generic/arm/CONFIG_MTD_M25P80 | 1 + configs/fedora/generic/arm/{armv7 => }/CONFIG_MTD_SPI_NOR | 0 .../arm/{armv7 => }/CONFIG_MTD_SPI_NOR_USE_4K_SECTORS | 0 configs/fedora/generic/arm/CONFIG_SPI_CADENCE_QUADSPI | 1 + kernel-aarch64-debug.config | 6 +++++- kernel-aarch64.config | 6 +++++- 6 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 configs/fedora/generic/arm/CONFIG_MTD_M25P80 rename configs/fedora/generic/arm/{armv7 => }/CONFIG_MTD_SPI_NOR (100%) rename configs/fedora/generic/arm/{armv7 => }/CONFIG_MTD_SPI_NOR_USE_4K_SECTORS (100%) create mode 100644 configs/fedora/generic/arm/CONFIG_SPI_CADENCE_QUADSPI diff --git a/configs/fedora/generic/arm/CONFIG_MTD_M25P80 b/configs/fedora/generic/arm/CONFIG_MTD_M25P80 new file mode 100644 index 000000000..9e4ab3f0b --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MTD_M25P80 @@ -0,0 +1 @@ +CONFIG_MTD_M25P80=m diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_SPI_NOR b/configs/fedora/generic/arm/CONFIG_MTD_SPI_NOR similarity index 100% rename from configs/fedora/generic/arm/armv7/CONFIG_MTD_SPI_NOR rename to configs/fedora/generic/arm/CONFIG_MTD_SPI_NOR diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_SPI_NOR_USE_4K_SECTORS b/configs/fedora/generic/arm/CONFIG_MTD_SPI_NOR_USE_4K_SECTORS similarity index 100% rename from configs/fedora/generic/arm/armv7/CONFIG_MTD_SPI_NOR_USE_4K_SECTORS rename to configs/fedora/generic/arm/CONFIG_MTD_SPI_NOR_USE_4K_SECTORS diff --git a/configs/fedora/generic/arm/CONFIG_SPI_CADENCE_QUADSPI b/configs/fedora/generic/arm/CONFIG_SPI_CADENCE_QUADSPI new file mode 100644 index 000000000..7c242fd0d --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SPI_CADENCE_QUADSPI @@ -0,0 +1 @@ +# CONFIG_SPI_CADENCE_QUADSPI is not set diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config index 708e79178..be66d4230 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug.config @@ -3577,6 +3577,7 @@ CONFIG_MTD_CFI_STAA=m # CONFIG_MTD_LPDDR2_NVM is not set # CONFIG_MTD_LPDDR is not set CONFIG_MTD=m +CONFIG_MTD_M25P80=m CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y @@ -3620,7 +3621,8 @@ CONFIG_MTD_RAW_NAND=m # CONFIG_MTD_SHARPSL_PARTS is not set # CONFIG_MTD_SLRAM is not set CONFIG_MTD_SPI_NAND=m -# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_SPI_NOR=m +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set # CONFIG_MTD_SST25L is not set # CONFIG_MTD_SWAP is not set # CONFIG_MTD_TESTS is not set @@ -6041,6 +6043,7 @@ CONFIG_SPI_BCM2835=m CONFIG_SPI_BITBANG=m # CONFIG_SPI_BUTTERFLY is not set CONFIG_SPI_CADENCE=m +# CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_DEBUG is not set CONFIG_SPI_DESIGNWARE=m # CONFIG_SPI_DW_MID_DMA is not set @@ -6051,6 +6054,7 @@ CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m # CONFIG_SPI_FSL_SPI is not set CONFIG_SPI_GPIO=m +CONFIG_SPI_HISI_SFC=m CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set diff --git a/kernel-aarch64.config b/kernel-aarch64.config index 15cfed8ee..2219b41b1 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64.config @@ -3557,6 +3557,7 @@ CONFIG_MTD_CFI_STAA=m # CONFIG_MTD_LPDDR2_NVM is not set # CONFIG_MTD_LPDDR is not set CONFIG_MTD=m +CONFIG_MTD_M25P80=m CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y @@ -3600,7 +3601,8 @@ CONFIG_MTD_RAW_NAND=m # CONFIG_MTD_SHARPSL_PARTS is not set # CONFIG_MTD_SLRAM is not set CONFIG_MTD_SPI_NAND=m -# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_SPI_NOR=m +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set # CONFIG_MTD_SST25L is not set # CONFIG_MTD_SWAP is not set # CONFIG_MTD_TESTS is not set @@ -6019,6 +6021,7 @@ CONFIG_SPI_BCM2835=m CONFIG_SPI_BITBANG=m # CONFIG_SPI_BUTTERFLY is not set CONFIG_SPI_CADENCE=m +# CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_DEBUG is not set CONFIG_SPI_DESIGNWARE=m # CONFIG_SPI_DW_MID_DMA is not set @@ -6029,6 +6032,7 @@ CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m # CONFIG_SPI_FSL_SPI is not set CONFIG_SPI_GPIO=m +CONFIG_SPI_HISI_SFC=m CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set From 176603ba7ce4ce7d068ac5187b79450907f9ae71 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 11 Oct 2019 19:22:04 +0100 Subject: [PATCH 3/9] hopefully the final fix for Intel's dodgy iwlwifi firmware 'update' so should finally close out rhbz 1733369 \o/ --- ...ifi-exclude-GEO-SAR-support-for-3168.patch | 47 +++ ...h-jf-devices-to-use-qu-configuration.patch | 325 ++++++++++++++++++ kernel.spec | 6 + 3 files changed, 378 insertions(+) create mode 100644 iwlwifi-exclude-GEO-SAR-support-for-3168.patch create mode 100644 iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch diff --git a/iwlwifi-exclude-GEO-SAR-support-for-3168.patch b/iwlwifi-exclude-GEO-SAR-support-for-3168.patch new file mode 100644 index 000000000..7578695a8 --- /dev/null +++ b/iwlwifi-exclude-GEO-SAR-support-for-3168.patch @@ -0,0 +1,47 @@ +From 12e36d98d3e5acf5fc57774e0a15906d55f30cb9 Mon Sep 17 00:00:00 2001 +From: Luca Coelho +Date: Tue, 8 Oct 2019 13:10:53 +0300 +Subject: iwlwifi: exclude GEO SAR support for 3168 + +We currently support two NICs in FW version 29, namely 7265D and 3168. +Out of these, only 7265D supports GEO SAR, so adjust the function that +checks for it accordingly. + +Signed-off-by: Luca Coelho +Fixes: f5a47fae6aa3 ("iwlwifi: mvm: fix version check for GEO_TX_POWER_LIMIT support") +Signed-off-by: Luca Coelho +--- + drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +index 0d2229319261..d9eb2b286438 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +@@ -899,15 +899,17 @@ 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 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. ++ * initially on version 38 and then backported to 17. It was ++ * also backported to 29, but only for 7265D devices. 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) == 29 || +- IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17; ++ IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17 || ++ (IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 29 && ++ ((mvm->trans->hw_rev & CSR_HW_REV_TYPE_MSK) == ++ CSR_HW_REV_TYPE_7265D)); + } + + int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm) +-- +cgit 1.2-0.3.lf.el7 diff --git a/iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch b/iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch new file mode 100644 index 000000000..e12b50c01 --- /dev/null +++ b/iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch @@ -0,0 +1,325 @@ +From aa0cc7dde17bb6b8cc533bbcfe3f53d70e0dd269 Mon Sep 17 00:00:00 2001 +From: Luca Coelho +Date: Tue, 8 Oct 2019 13:21:02 +0300 +Subject: iwlwifi: pcie: change qu with jf devices to use qu configuration + +There were a bunch of devices with qu and jf that were loading the +configuration with pu and jf, which is wrong. Fix them all +accordingly. Additionally, remove 0x1010 and 0x1210 subsytem IDs from +the list, since they are obviously wrong, and 0x0044 and 0x0244, which +were duplicate. + +Cc: stable@vger.kernel.org # 5.1+ +Signed-off-by: Luca Coelho +--- + drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 274 +++++++++++++------------- + 1 file changed, 137 insertions(+), 137 deletions(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +index e29c47744ef5..6f4bb7ce71a5 100644 +--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c ++++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +@@ -513,31 +513,33 @@ static const struct pci_device_id iwl_hw_card_ids[] = { + {IWL_PCI_DEVICE(0x24FD, 0x9074, iwl8265_2ac_cfg)}, + + /* 9000 Series */ +- {IWL_PCI_DEVICE(0x02F0, 0x0030, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0034, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0038, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x003C, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0060, iwl9461_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0064, iwl9461_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x00A0, iwl9462_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x00A4, iwl9462_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0230, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0234, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0238, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x023C, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0260, iwl9461_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x0264, iwl9461_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x02A0, iwl9462_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x02A4, iwl9462_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x1551, iwl9560_killer_s_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x1552, iwl9560_killer_i_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x2030, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x2034, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x4030, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x4034, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x40A4, iwl9462_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x4234, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, +- {IWL_PCI_DEVICE(0x02F0, 0x42A4, iwl9462_2ac_cfg_quz_a0_jf_b0_soc)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0034, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0038, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x003C, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0060, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0064, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x00A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x00A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0230, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0238, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x023C, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0260, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x0264, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x02A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x02A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x1030, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x1551, killer1550s_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x1552, killer1550i_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x2030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x2034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x4030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x4034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x40A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x4234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x02F0, 0x42A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ + {IWL_PCI_DEVICE(0x06F0, 0x0030, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, + {IWL_PCI_DEVICE(0x06F0, 0x0034, iwl9560_2ac_cfg_quz_a0_jf_b0_soc)}, + {IWL_PCI_DEVICE(0x06F0, 0x0038, iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc)}, +@@ -643,34 +645,34 @@ static const struct pci_device_id iwl_hw_card_ids[] = { + {IWL_PCI_DEVICE(0x2720, 0x40A4, iwl9462_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0x2720, 0x4234, iwl9560_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0x2720, 0x42A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0034, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0038, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x003C, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0060, iwl9460_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0064, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x00A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x00A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0230, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0238, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x023C, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0260, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x0264, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x02A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x02A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x1010, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0x30DC, 0x1030, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x1210, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0x30DC, 0x1551, iwl9560_killer_s_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x1552, iwl9560_killer_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x2030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x2034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x4030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x4034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x40A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x4234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x30DC, 0x42A4, iwl9462_2ac_cfg_soc)}, ++ ++ {IWL_PCI_DEVICE(0x30DC, 0x0030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0034, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0038, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x003C, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0060, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0064, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x00A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x00A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0230, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0238, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x023C, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0260, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x0264, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x02A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x02A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x1030, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x1551, killer1550s_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x1552, killer1550i_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x2030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x2034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x4030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x4034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x40A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x4234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x30DC, 0x42A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ + {IWL_PCI_DEVICE(0x31DC, 0x0030, iwl9560_2ac_160_cfg_shared_clk)}, + {IWL_PCI_DEVICE(0x31DC, 0x0034, iwl9560_2ac_cfg_shared_clk)}, + {IWL_PCI_DEVICE(0x31DC, 0x0038, iwl9560_2ac_160_cfg_shared_clk)}, +@@ -726,62 +728,60 @@ static const struct pci_device_id iwl_hw_card_ids[] = { + {IWL_PCI_DEVICE(0x34F0, 0x4234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, + {IWL_PCI_DEVICE(0x34F0, 0x42A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, + +- {IWL_PCI_DEVICE(0x3DF0, 0x0030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0034, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0038, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x003C, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0060, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0064, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x00A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x00A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0230, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0238, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x023C, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0260, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x0264, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x02A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x02A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x1010, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x1030, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x1210, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x1551, iwl9560_killer_s_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x1552, iwl9560_killer_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x2030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x2034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x4030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x4034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x40A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x4234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x3DF0, 0x42A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0034, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0038, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x003C, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0060, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0064, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x00A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x00A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0230, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0238, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x023C, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0260, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x0264, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x02A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x02A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x1010, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0x43F0, 0x1030, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x1210, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0x43F0, 0x1551, iwl9560_killer_s_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x1552, iwl9560_killer_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x2030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x2034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x4030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x4034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x40A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x4234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0x43F0, 0x42A4, iwl9462_2ac_cfg_soc)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0034, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0038, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x003C, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0060, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0064, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x00A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x00A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0230, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0238, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x023C, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0260, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x0264, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x02A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x02A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x1030, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x1551, killer1550s_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x1552, killer1550i_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x2030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x2034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x4030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x4034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x40A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x4234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x3DF0, 0x42A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ ++ {IWL_PCI_DEVICE(0x43F0, 0x0030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0034, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0038, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x003C, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0060, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0064, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x00A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x00A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0230, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0238, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x023C, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0260, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x0264, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x02A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x02A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x1030, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x1551, killer1550s_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x1552, killer1550i_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x2030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x2034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x4030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x4034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x40A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x4234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0x43F0, 0x42A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ + {IWL_PCI_DEVICE(0x9DF0, 0x0000, iwl9460_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0x9DF0, 0x0010, iwl9460_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0x9DF0, 0x0030, iwl9560_2ac_160_cfg_soc)}, +@@ -821,34 +821,34 @@ static const struct pci_device_id iwl_hw_card_ids[] = { + {IWL_PCI_DEVICE(0x9DF0, 0x40A4, iwl9462_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0x9DF0, 0x4234, iwl9560_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0x9DF0, 0x42A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0034, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0038, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x003C, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0060, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0064, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x00A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x00A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0230, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0238, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x023C, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0260, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x0264, iwl9461_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x02A0, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x02A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x1010, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x1030, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x1210, iwl9260_2ac_cfg)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x1551, iwl9560_killer_s_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x1552, iwl9560_killer_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x2030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x2034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x4030, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x4034, iwl9560_2ac_160_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x40A4, iwl9462_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x4234, iwl9560_2ac_cfg_soc)}, +- {IWL_PCI_DEVICE(0xA0F0, 0x42A4, iwl9462_2ac_cfg_soc)}, ++ ++ {IWL_PCI_DEVICE(0xA0F0, 0x0030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0034, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0038, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x003C, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0060, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0064, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x00A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x00A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0230, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0238, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x023C, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0260, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x0264, iwl9461_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x02A0, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x02A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x1030, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x1551, killer1550s_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x1552, killer1550i_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x2030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x2034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x4030, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x4034, iwl9560_2ac_160_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x40A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x4234, iwl9560_2ac_cfg_qu_b0_jf_b0)}, ++ {IWL_PCI_DEVICE(0xA0F0, 0x42A4, iwl9462_2ac_cfg_qu_b0_jf_b0)}, ++ + {IWL_PCI_DEVICE(0xA370, 0x0030, iwl9560_2ac_160_cfg_soc)}, + {IWL_PCI_DEVICE(0xA370, 0x0034, iwl9560_2ac_cfg_soc)}, + {IWL_PCI_DEVICE(0xA370, 0x0038, iwl9560_2ac_160_cfg_soc)}, +-- +cgit 1.2-0.3.lf.el7 diff --git a/kernel.spec b/kernel.spec index f7ee10ce2..c902bbca6 100644 --- a/kernel.spec +++ b/kernel.spec @@ -598,6 +598,9 @@ Patch508: v3-tpm-only-set-efi_tpm_final_log_size-after-successful-event-log-pars Patch509: PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch +Patch510: iwlwifi-exclude-GEO-SAR-support-for-3168.patch +Patch511: iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch + # END OF PATCH DEFINITIONS %endif @@ -1799,6 +1802,9 @@ fi # # %changelog +* Fri Oct 11 2019 Peter Robinson +- Last iwlwifi fix for the recent firmware issues (rhbz 1733369) + * Tue Oct 08 2019 Laura Abbott - 5.3.5-300 - Linux v5.3.5 From 4bba71a8783e6fe0db4ae90a6cea56230cf53f43 Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Fri, 11 Oct 2019 15:52:45 -0400 Subject: [PATCH 4/9] Fix disappearching cursor issue (rhbz 1738614) --- ...k-contents-as-dirty-on-a-write-fault.patch | 54 +++++++++++++++++++ kernel.spec | 6 +++ 2 files changed, 60 insertions(+) create mode 100644 drm-i915-Mark-contents-as-dirty-on-a-write-fault.patch diff --git a/drm-i915-Mark-contents-as-dirty-on-a-write-fault.patch b/drm-i915-Mark-contents-as-dirty-on-a-write-fault.patch new file mode 100644 index 000000000..fd85fd874 --- /dev/null +++ b/drm-i915-Mark-contents-as-dirty-on-a-write-fault.patch @@ -0,0 +1,54 @@ +From 7a78f4f0497f903756183f8b227f6fddaba8cdb0 Mon Sep 17 00:00:00 2001 +From: Chris Wilson +Date: Fri, 20 Sep 2019 13:18:21 +0100 +Subject: [PATCH] drm/i915: Mark contents as dirty on a write fault +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since dropping the set-to-gtt-domain in commit a679f58d0510 ("drm/i915: +Flush pages on acquisition"), we no longer mark the contents as dirty on +a write fault. This has the issue of us then not marking the pages as +dirty on releasing the buffer, which means the contents are not written +out to the swap device (should we ever pick that buffer as a victim). +Notably, this is visible in the dumb buffer interface used for cursors. +Having updated the cursor contents via mmap, and swapped away, if the +shrinker should evict the old cursor, upon next reuse, the cursor would +be invisible. + +E.g. echo 80 > /proc/sys/kernel/sysrq ; echo f > /proc/sysrq-trigger + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111541 +Fixes: a679f58d0510 ("drm/i915: Flush pages on acquisition") +Signed-off-by: Chris Wilson +Cc: Matthew Auld +Cc: Ville Syrjälä +Cc: # v5.2+ +Reviewed-by: Matthew Auld +Link: https://patchwork.freedesktop.org/patch/msgid/20190920121821.7223-1-chris@chris-wilson.co.uk +(cherry picked from commit 5028851cdfdf78dc22eacbc44a0ab0b3f599ee4a) +Signed-off-by: Rodrigo Vivi +--- + drivers/gpu/drm/i915/gem/i915_gem_mman.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c +index 39a661927d8e..c201289039fe 100644 +--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c ++++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c +@@ -317,7 +317,11 @@ vm_fault_t i915_gem_fault(struct vm_fault *vmf) + msecs_to_jiffies_timeout(CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND)); + GEM_BUG_ON(!obj->userfault_count); + +- i915_vma_set_ggtt_write(vma); ++ if (write) { ++ GEM_BUG_ON(!i915_gem_object_has_pinned_pages(obj)); ++ i915_vma_set_ggtt_write(vma); ++ obj->mm.dirty = true; ++ } + + err_fence: + i915_vma_unpin_fence(vma); +-- +2.21.0 + diff --git a/kernel.spec b/kernel.spec index c902bbca6..2ebebdff4 100644 --- a/kernel.spec +++ b/kernel.spec @@ -601,6 +601,9 @@ Patch509: PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch Patch510: iwlwifi-exclude-GEO-SAR-support-for-3168.patch Patch511: iwlwifi-pcie-change-qu-with-jf-devices-to-use-qu-configuration.patch +# rhbz 1738614 +Patch512: drm-i915-Mark-contents-as-dirty-on-a-write-fault.patch + # END OF PATCH DEFINITIONS %endif @@ -1802,6 +1805,9 @@ fi # # %changelog +* Fri Oct 11 2019 Laura Abbott +- Fix disappearing cursor issue (rhbz 1738614) + * Fri Oct 11 2019 Peter Robinson - Last iwlwifi fix for the recent firmware issues (rhbz 1733369) From cda78490b383861b0fb5570b5e8c02a53cef1dbd Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 12 Oct 2019 15:06:00 +0100 Subject: [PATCH 5/9] arm: be less harsh on the omap/am33xx disable, it's just CRYPTO_DEV_OMAP_AES that's broken --- .../fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP | 2 +- .../generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES | 2 +- .../generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM | 2 +- kernel-armv7hl-debug.config | 6 +++--- kernel-armv7hl.config | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP index df6a929e2..98ff565f8 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP @@ -1 +1 @@ -# CONFIG_CRYPTO_DEV_OMAP is not set +CONFIG_CRYPTO_DEV_OMAP=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES index 952a6e247..b359a5c3f 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES @@ -1 +1 @@ -# CONFIG_CRYPTO_DEV_OMAP_DES is not set +CONFIG_CRYPTO_DEV_OMAP_DES=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM index 2997e8fc1..58d162aba 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM @@ -1 +1 @@ -# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set +CONFIG_CRYPTO_DEV_OMAP_SHAM=m diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index 4a105466d..2d1deebad 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -1143,9 +1143,9 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MXS_DCP=m # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set # CONFIG_CRYPTO_DEV_OMAP_AES is not set -# CONFIG_CRYPTO_DEV_OMAP_DES is not set -# CONFIG_CRYPTO_DEV_OMAP is not set -# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set +CONFIG_CRYPTO_DEV_OMAP_DES=m +CONFIG_CRYPTO_DEV_OMAP=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index 614d53a6c..c1b3537de 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -1143,9 +1143,9 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MXS_DCP=m # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set # CONFIG_CRYPTO_DEV_OMAP_AES is not set -# CONFIG_CRYPTO_DEV_OMAP_DES is not set -# CONFIG_CRYPTO_DEV_OMAP is not set -# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set +CONFIG_CRYPTO_DEV_OMAP_DES=m +CONFIG_CRYPTO_DEV_OMAP=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m From aec7c803933d2a4ece80e2c6c4ffc177e85ea006 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 12 Oct 2019 15:17:53 +0100 Subject: [PATCH 6/9] add forgotten hisi SPI config --- configs/fedora/generic/arm/aarch64/CONFIG_SPI_HISI_SFC | 1 + 1 file changed, 1 insertion(+) create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_SPI_HISI_SFC diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SPI_HISI_SFC b/configs/fedora/generic/arm/aarch64/CONFIG_SPI_HISI_SFC new file mode 100644 index 000000000..79cccec1d --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_SPI_HISI_SFC @@ -0,0 +1 @@ +CONFIG_SPI_HISI_SFC=m From 6bd74d76febce15a6a6e83f145d5ca8929dfc131 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 13 Oct 2019 10:45:21 +0100 Subject: [PATCH 7/9] bcm2835: hdmi audio regression fix --- ...dio-Fix-draining-behavior-regression.patch | 64 +++++++++++++++++++ kernel.spec | 2 + 2 files changed, 66 insertions(+) create mode 100644 bcm2835-audio-Fix-draining-behavior-regression.patch diff --git a/bcm2835-audio-Fix-draining-behavior-regression.patch b/bcm2835-audio-Fix-draining-behavior-regression.patch new file mode 100644 index 000000000..6d63db3f8 --- /dev/null +++ b/bcm2835-audio-Fix-draining-behavior-regression.patch @@ -0,0 +1,64 @@ +From 2eed19b99c8e95ff87afe6c140ed895c3fac5937 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Sat, 14 Sep 2019 17:24:05 +0200 +Subject: staging: bcm2835-audio: Fix draining behavior regression + +The PCM draining behavior got broken since the recent refactoring, and +this turned out to be the incorrect expectation of the firmware +behavior regarding "draining". While I expected the "drain" flag at +the stop operation would do processing the queued samples, it seems +rather dropping the samples. + +As a quick fix, just drop the SNDRV_PCM_INFO_DRAIN_TRIGGER flag, so +that the driver uses the normal PCM draining procedure. Also, put +some caution comment to the function for future readers not to fall +into the same pitfall. + +Fixes: d7ca3a71545b ("staging: bcm2835-audio: Operate non-atomic PCM ops") +BugLink: https://github.com/raspberrypi/linux/issues/2983 +Cc: stable@vger.kernel.org +Signed-off-by: Takashi Iwai +Acked-by: Stefan Wahren +Link: https://lore.kernel.org/r/20190914152405.7416-1-tiwai@suse.de +Signed-off-by: Greg Kroah-Hartman +--- + drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c | 4 ++-- + drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c | 1 + + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c +index bc1eaa3a0773..826016c3431a 100644 +--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c ++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c +@@ -12,7 +12,7 @@ + static const struct snd_pcm_hardware snd_bcm2835_playback_hw = { + .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | +- SNDRV_PCM_INFO_DRAIN_TRIGGER | SNDRV_PCM_INFO_SYNC_APPLPTR), ++ SNDRV_PCM_INFO_SYNC_APPLPTR), + .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, + .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000, + .rate_min = 8000, +@@ -29,7 +29,7 @@ static const struct snd_pcm_hardware snd_bcm2835_playback_hw = { + static const struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = { + .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | +- SNDRV_PCM_INFO_DRAIN_TRIGGER | SNDRV_PCM_INFO_SYNC_APPLPTR), ++ SNDRV_PCM_INFO_SYNC_APPLPTR), + .formats = SNDRV_PCM_FMTBIT_S16_LE, + .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 | + SNDRV_PCM_RATE_48000, +diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c +index 23fba01107b9..c6f9cf1913d2 100644 +--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c ++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c +@@ -289,6 +289,7 @@ int bcm2835_audio_stop(struct bcm2835_alsa_stream *alsa_stream) + VC_AUDIO_MSG_TYPE_STOP, false); + } + ++/* FIXME: this doesn't seem working as expected for "draining" */ + int bcm2835_audio_drain(struct bcm2835_alsa_stream *alsa_stream) + { + struct vc_audio_msg m = { +-- +cgit 1.2-0.3.lf.el7 diff --git a/kernel.spec b/kernel.spec index 2ebebdff4..f94ed88f0 100644 --- a/kernel.spec +++ b/kernel.spec @@ -559,6 +559,8 @@ Patch307: arm64-dts-rockchip-fix-RockPro64-vdd-log-regulator-settings.patch # https://patchwork.kernel.org/patch/11155461/ Patch308: arm64-dts-rockchip-fix-Rockpro64-RK808-interrupt-line.patch +Patch309: bcm2835-audio-Fix-draining-behavior-regression.patch + # Tegra bits Patch320: arm64-tegra-jetson-tx1-fixes.patch # https://www.spinics.net/lists/linux-tegra/msg43110.html From 7fa6a6fed5a2922b2df19b8424cb5eb6b9d9b22d Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 13 Oct 2019 14:52:53 +0100 Subject: [PATCH 8/9] raspberry pi: fix regression in display output due to new power driver --- ...ng-the-PM-driver-instead-of-firmware.patch | 78 +++++++++++++++++++ kernel.spec | 9 ++- 2 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch diff --git a/Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch b/Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch new file mode 100644 index 000000000..8627b6087 --- /dev/null +++ b/Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch @@ -0,0 +1,78 @@ +From 9d1a8ad3c56f4e84a0ec46246b4c08a6d139f638 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 13 Oct 2019 14:33:23 +0100 +Subject: [PATCH] Revert "ARM: bcm283x: Switch V3D over to using the PM driver + instead of firmware." + +Since release of the new BCM2835 PM driver there has been several reports +of V3D probing issues. This is caused by timeouts during powering-up the +GRAFX PM domain: + + bcm2835-power: Timeout waiting for grafx power OK + +I was able to reproduce this reliable on my Raspberry Pi 3B+ after setting +force_turbo=1 in the firmware configuration. Since there are no issues +using the firmware PM driver with the same setup, there must be an issue +in the BCM2835 PM driver. + +Unfortunately there hasn't been much progress in identifying the root cause +since June (mostly in the lack of documentation), so i decided to switch +back until the issue in the BCM2835 PM driver is fixed. + +Link: https://github.com/raspberrypi/linux/issues/3046 +Fixes: e1dc2b2e1bef (" ARM: bcm283x: Switch V3D over to using the PM driver instead of firmware.") +Cc: stable@vger.kernel.org +Signed-off-by: Stefan Wahren +Acked-by: Eric Anholt +--- + a/arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 ++++ + b/arch/arm/boot/dts/bcm283x.dtsi | 4 +--- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi +index 715d50c64529..d136867c317f 100644 +--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi +@@ -90,6 +90,10 @@ + status = "okay"; + }; + ++&v3d { ++ power-domains = <&power RPI_POWER_DOMAIN_V3D>; ++}; ++ + &vec { + power-domains = <&power RPI_POWER_DOMAIN_VEC>; + status = "okay"; +diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi +index 4b21ddb26aa5..0c6a6611f285 100644 +--- a/arch/arm/boot/dts/bcm283x.dtsi ++++ b/arch/arm/boot/dts/bcm283x.dtsi +@@ -3,7 +3,6 @@ + #include + #include + #include +-#include + + /* firmware-provided startup stubs live here, where the secondary CPUs are + * spinning. +@@ -121,7 +120,7 @@ + #interrupt-cells = <2>; + }; + +- pm: watchdog@7e100000 { ++ watchdog@7e100000 { + compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; + #power-domain-cells = <1>; + #reset-cells = <1>; +@@ -641,7 +640,6 @@ + compatible = "brcm,bcm2835-v3d"; + reg = <0x7ec00000 0x1000>; + interrupts = <1 10>; +- power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; + }; + + vc4: gpu { +-- +2.21.0 + diff --git a/kernel.spec b/kernel.spec index f94ed88f0..9af899b8e 100644 --- a/kernel.spec +++ b/kernel.spec @@ -559,8 +559,6 @@ Patch307: arm64-dts-rockchip-fix-RockPro64-vdd-log-regulator-settings.patch # https://patchwork.kernel.org/patch/11155461/ Patch308: arm64-dts-rockchip-fix-Rockpro64-RK808-interrupt-line.patch -Patch309: bcm2835-audio-Fix-draining-behavior-regression.patch - # Tegra bits Patch320: arm64-tegra-jetson-tx1-fixes.patch # https://www.spinics.net/lists/linux-tegra/msg43110.html @@ -578,6 +576,13 @@ Patch330: arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.pat # https://patchwork.kernel.org/patch/11133293/ Patch332: arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch +# Raspberry Pi bits +Patch340: bcm2835-audio-Fix-draining-behavior-regression.patch + +# This is typical rpi, we have a driver but it has problems because ¯\_(ツ)_/¯ but this revert makes pictures work again. +# https://patchwork.kernel.org/patch/11136979/ +Patch341: Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch + # 400 - IBM (ppc/s390x) patches # 500 - Temp fixes/CVEs etc From db2600b8ff76954041abf60ff847b413908e5c8c Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Mon, 14 Oct 2019 07:52:10 -0400 Subject: [PATCH 9/9] Linux v5.3.6 --- ...A-processing-on-the-Lenovo-Yoga-C630.patch | 128 ------------------ kernel.spec | 7 +- sources | 2 +- 3 files changed, 5 insertions(+), 132 deletions(-) delete mode 100644 arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.patch diff --git a/arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.patch b/arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.patch deleted file mode 100644 index a7f7c8f20..000000000 --- a/arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.patch +++ /dev/null @@ -1,128 +0,0 @@ -From patchwork Thu Sep 5 19:24:12 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Lee Jones -X-Patchwork-Id: 11133827 -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 DDFD514ED - for ; - Thu, 5 Sep 2019 19:24:19 +0000 (UTC) -Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) - by mail.kernel.org (Postfix) with ESMTP id D540020870 - for ; - Thu, 5 Sep 2019 19:24:19 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org - header.b="j/6kUy9p" -Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand - id S1727540AbfIETYS (ORCPT - ); - Thu, 5 Sep 2019 15:24:18 -0400 -Received: from mail-wr1-f49.google.com ([209.85.221.49]:36821 "EHLO - mail-wr1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org - with ESMTP id S1726008AbfIETYS (ORCPT - ); - Thu, 5 Sep 2019 15:24:18 -0400 -Received: by mail-wr1-f49.google.com with SMTP id y19so4081592wrd.3 - for ; - Thu, 05 Sep 2019 12:24:16 -0700 (PDT) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=linaro.org; s=google; - h=from:to:cc:subject:date:message-id; - bh=19vbMBbLeKgWt8VsEseKuJu+9+rmeS/Lh0ZhXOFWQYc=; - b=j/6kUy9psCaV+YLvz8j0kAZ3/WrmOU3xyh5rDOj0TwK0TnwjLtaLil9Q+C9KpFvvVG - h4R8p4cZFB0U4b/PAfc9Xt4p4xJNkAIpTzL4QRjM+nkXdDcYyiwUGkr9BRJnJmO0lyZB - zmylqwjRd1oOrTQ1tPvwqUV3OUR5u6WA+rDyhn+A516vskkns0bEICMG787HdDEwjigd - +3SR4L9u7swSDpNhqxtfPsn9UFP36sehUfgx32xUcjUhX3ls4RtX+6HCZU+rkeQuILt5 - 0qlmqliIuKXWkQe+ii/gtrK+ulFQ7lEl76YfDJyqXVo4Z357rIhVFAz+mooVn5qpscmU - E+xA== -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20161025; - h=x-gm-message-state:from:to:cc:subject:date:message-id; - bh=19vbMBbLeKgWt8VsEseKuJu+9+rmeS/Lh0ZhXOFWQYc=; - b=QjFuCunKeBkoabY9fIsWTo3krapsS69k52eNtOIeLBaCd7M1lvCmItn41DcbJ5ykqT - RQ0rnlNq35x9QvKNumPai3fMZp9AWt3KpJpxbpEokltyLbkGUqRWaeYTrOtuV9P9nRmT - Yj72UBVzYj4d/G+FGq8EBesWjRyEFC51+RekvPlbRZ/h1fVW7/XAy5cO1ywnHrtNe8pQ - 7gYQJ3Xh1Y09qkiO0i8iru5PSMTK3U+vPSLWVdFOeqMh+Beins6I9mbKf+UX+xa8ECK3 - mEFjYxY57YVx+SpaKrmBwEmu9YXLgXqEif1OH1FHFiKZVQ4ABPp19D4+5JOXEV1tCwUS - B6Qw== -X-Gm-Message-State: APjAAAUM7yEkrkGZ+mbleFtCMQGsXfLQSXt2Bd+K6leuP2oAs8Vj1j9k - 4bsoJvF042q/z9+6bnLlGShjoA== -X-Google-Smtp-Source: - APXvYqyThx0kWliMdrjc7dedZ/+AhabFi7TIc04exnxhWAEkAOh7foRP8Cz8ZjjhxGJCvUyUPA4lFg== -X-Received: by 2002:adf:ea0c:: with SMTP id q12mr4172788wrm.172.1567711455933; - Thu, 05 Sep 2019 12:24:15 -0700 (PDT) -Received: from localhost.localdomain ([95.147.198.36]) - by smtp.gmail.com with ESMTPSA id - q24sm7942378wmc.3.2019.09.05.12.24.14 - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Thu, 05 Sep 2019 12:24:14 -0700 (PDT) -From: Lee Jones -To: alokc@codeaurora.org, agross@kernel.org, robh+dt@kernel.org, - mark.rutland@arm.com, bjorn.andersson@linaro.org, vkoul@kernel.org, - wsa@the-dreams.de -Cc: linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org, - devicetree@vger.kernel.org, Lee Jones -Subject: [RESEND v3 1/1] i2c: qcom-geni: Disable DMA processing on the Lenovo - Yoga C630 -Date: Thu, 5 Sep 2019 20:24:12 +0100 -Message-Id: <20190905192412.23116-1-lee.jones@linaro.org> -X-Mailer: git-send-email 2.17.1 -Sender: linux-arm-msm-owner@vger.kernel.org -Precedence: bulk -List-ID: -X-Mailing-List: linux-arm-msm@vger.kernel.org - -We have a production-level laptop (Lenovo Yoga C630) which is exhibiting -a rather horrific bug. When I2C HID devices are being scanned for at -boot-time the QCom Geni based I2C (Serial Engine) attempts to use DMA. -When it does, the laptop reboots and the user never sees the OS. - -Attempts are being made to debug the reason for the spontaneous reboot. -No luck so far, hence the requirement for this hot-fix. This workaround -will be removed once we have a viable fix. - -Signed-off-by: Lee Jones ---- - drivers/i2c/busses/i2c-qcom-geni.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c -index a89bfce5388e..17abf60c94ae 100644 ---- a/drivers/i2c/busses/i2c-qcom-geni.c -+++ b/drivers/i2c/busses/i2c-qcom-geni.c -@@ -355,11 +355,13 @@ static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, - { - dma_addr_t rx_dma; - unsigned long time_left; -- void *dma_buf; -+ void *dma_buf = NULL; - struct geni_se *se = &gi2c->se; - size_t len = msg->len; - -- dma_buf = i2c_get_dma_safe_msg_buf(msg, 32); -+ if (!of_machine_is_compatible("lenovo,yoga-c630")) -+ dma_buf = i2c_get_dma_safe_msg_buf(msg, 32); -+ - if (dma_buf) - geni_se_select_mode(se, GENI_SE_DMA); - else -@@ -394,11 +396,13 @@ static int geni_i2c_tx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg, - { - dma_addr_t tx_dma; - unsigned long time_left; -- void *dma_buf; -+ void *dma_buf = NULL; - struct geni_se *se = &gi2c->se; - size_t len = msg->len; - -- dma_buf = i2c_get_dma_safe_msg_buf(msg, 32); -+ if (!of_machine_is_compatible("lenovo,yoga-c630")) -+ dma_buf = i2c_get_dma_safe_msg_buf(msg, 32); -+ - if (dma_buf) - geni_se_select_mode(se, GENI_SE_DMA); - else diff --git a/kernel.spec b/kernel.spec index 9af899b8e..b1a828173 100644 --- a/kernel.spec +++ b/kernel.spec @@ -56,7 +56,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 5 +%define stable_update 6 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -571,8 +571,6 @@ Patch323: gpio-max77620-Use-correct-unit-for-debounce-times.patch Patch325: arm64-tegra186-enable-USB-on-Jetson-TX2.patch # QCom laptop bits -# https://patchwork.kernel.org/patch/11133827/ -Patch330: arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.patch # https://patchwork.kernel.org/patch/11133293/ Patch332: arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch @@ -1812,6 +1810,9 @@ fi # # %changelog +* Mon Oct 14 2019 Laura Abbott - 5.3.6-300 +- Linux v5.3.6 + * Fri Oct 11 2019 Laura Abbott - Fix disappearing cursor issue (rhbz 1738614) diff --git a/sources b/sources index 43a5f5d42..409d113b2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (linux-5.3.tar.xz) = 6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d -SHA512 (patch-5.3.5.xz) = 70555da6275237bd6fe0514e2e49052f36af87fbae4919a464285dcdc9b84443995264762248496e44291800b2398a45bcf3fa3459a631f162cfdd915b972d9f +SHA512 (patch-5.3.6.xz) = 71ee140d7650189dcc824eb962e78b6f3d790369376b9b32d41babd55f57240ea5620bbeeef62164d0436e857ca772706d6b9202bac94c7ecbce78c3fd9860d2