From 400052e6ca7ece4ede84dcded8d9d54a99d319b5 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Fri, 7 May 2021 08:56:37 -0500 Subject: kernel-5.12.2-0 * Fri May 07 2021 Justin M. Forbes [5.12.2-0] - Fedora-5.12: Make amd_pinctrl module builtin (Hans de Goede) - ALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA (Takashi Iwai) - Fedora 32 will EOL on 5.11 (Justin M. Forbes) - PCI: Add MCFG quirks for Tegra194 host controllers (Vidya Sagar) - Revert "PCI: Add MCFG quirks for Tegra194 host controllers" (Peter Robinson) - nitro_enclaves: Fix stale file descriptors on failed usercopy (Mathias Krause) - Revert "add pci_hw_vendor_status()" (Justin M. Forbes) - fedora: arm: build in Tegra194 PCIe/PHY drivers (Peter Robinson) - PCI: Add MCFG quirks for Tegra194 host controllers (Peter Robinson) - fedora: arm: enaable SUN50I_IOMMU on aarch64 (Peter Robinson) - arm64: dts: rockchip: disable USB type-c DisplayPort (Jian-Hong Pan) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- Patchlist.changelog | 9 +++ kernel-i686-debug-fedora.config | 2 +- kernel-i686-fedora.config | 2 +- kernel-x86_64-debug-fedora.config | 2 +- kernel-x86_64-fedora.config | 2 +- kernel.spec | 15 ++-- patch-5.12-redhat.patch | 153 +++++++++++++++++++++----------------- sources | 6 +- 8 files changed, 110 insertions(+), 81 deletions(-) diff --git a/Patchlist.changelog b/Patchlist.changelog index de4791197..6a6725ad1 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,12 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/2dc491eb51b8100aaa21c294580960342595b3f0 + 2dc491eb51b8100aaa21c294580960342595b3f0 ALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA + +https://gitlab.com/cki-project/kernel-ark/-/commit/a819e506dfa5de71c8484fb4cea7b6c84cea4d3a + a819e506dfa5de71c8484fb4cea7b6c84cea4d3a PCI: Add MCFG quirks for Tegra194 host controllers + +https://gitlab.com/cki-project/kernel-ark/-/commit/c7c67cb075451b4bb46483bb26a06555c448c4cf + c7c67cb075451b4bb46483bb26a06555c448c4cf Revert "PCI: Add MCFG quirks for Tegra194 host controllers" + https://gitlab.com/cki-project/kernel-ark/-/commit/f8cacb0facdfb7915011064320f470b71e674ea0 f8cacb0facdfb7915011064320f470b71e674ea0 nitro_enclaves: Fix stale file descriptors on failed usercopy diff --git a/kernel-i686-debug-fedora.config b/kernel-i686-debug-fedora.config index fe6aa626f..239f5349f 100644 --- a/kernel-i686-debug-fedora.config +++ b/kernel-i686-debug-fedora.config @@ -4628,7 +4628,7 @@ CONFIG_PHYSICAL_START=0x400000 CONFIG_PID_NS=y CONFIG_PINCONF=y CONFIG_PINCTRL_ALDERLAKE=m -CONFIG_PINCTRL_AMD=m +CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_CANNONLAKE=m diff --git a/kernel-i686-fedora.config b/kernel-i686-fedora.config index 781e8e9d6..5c9838ebb 100644 --- a/kernel-i686-fedora.config +++ b/kernel-i686-fedora.config @@ -4606,7 +4606,7 @@ CONFIG_PHYSICAL_START=0x400000 CONFIG_PID_NS=y CONFIG_PINCONF=y CONFIG_PINCTRL_ALDERLAKE=m -CONFIG_PINCTRL_AMD=m +CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_CANNONLAKE=m diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config index 1ef5543fe..5ca2209be 100644 --- a/kernel-x86_64-debug-fedora.config +++ b/kernel-x86_64-debug-fedora.config @@ -4671,7 +4671,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PID_NS=y CONFIG_PINCONF=y CONFIG_PINCTRL_ALDERLAKE=m -CONFIG_PINCTRL_AMD=m +CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_CANNONLAKE=m diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config index 62d596210..871d0e767 100644 --- a/kernel-x86_64-fedora.config +++ b/kernel-x86_64-fedora.config @@ -4649,7 +4649,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PID_NS=y CONFIG_PINCONF=y CONFIG_PINCTRL_ALDERLAKE=m -CONFIG_PINCTRL_AMD=m +CONFIG_PINCTRL_AMD=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_CANNONLAKE=m diff --git a/kernel.spec b/kernel.spec index a17083f97..38aaa6ac5 100755 --- a/kernel.spec +++ b/kernel.spec @@ -106,7 +106,7 @@ Summary: The Linux kernel %define primary_target rhel %endif -%define rpmversion 5.12.1 +%define rpmversion 5.12.2 %define stableversion 5.12 %define pkgrelease 300 @@ -623,7 +623,7 @@ BuildRequires: clang # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id -Source0: linux-5.12.1.tar.xz +Source0: linux-5.12.2.tar.xz Source1: Makefile.rhelver @@ -1277,8 +1277,8 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.12.1 -c -mv linux-5.12.1 linux-%{KVERREL} +%setup -q -n kernel-5.12.2 -c +mv linux-5.12.2 linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . @@ -2792,7 +2792,12 @@ fi # # %changelog -* Mon May 03 2021 Justin M. Forbes [5.12.1-300] +* Fri May 07 2021 Justin M. Forbes [5.12.2-0] +- Fedora-5.12: Make amd_pinctrl module builtin (Hans de Goede) +- ALSA: hda/realtek: Fix silent headphone output on ASUS UX430UA (Takashi Iwai) +- Fedora 32 will EOL on 5.11 (Justin M. Forbes) +- PCI: Add MCFG quirks for Tegra194 host controllers (Vidya Sagar) +- Revert "PCI: Add MCFG quirks for Tegra194 host controllers" (Peter Robinson) - nitro_enclaves: Fix stale file descriptors on failed usercopy (Mathias Krause) - Revert "add pci_hw_vendor_status()" (Justin M. Forbes) - fedora: arm: build in Tegra194 PCIe/PHY drivers (Peter Robinson) diff --git a/patch-5.12-redhat.patch b/patch-5.12-redhat.patch index 0fef738b6..fc7c33d00 100644 --- a/patch-5.12-redhat.patch +++ b/patch-5.12-redhat.patch @@ -23,9 +23,8 @@ drivers/iommu/iommu.c | 22 ++++ drivers/net/ethernet/sfc/ef10.c | 3 +- drivers/net/ethernet/sfc/farch.c | 16 +-- - drivers/pci/controller/dwc/Kconfig | 10 +- drivers/pci/controller/dwc/Makefile | 2 +- - drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++ + drivers/pci/controller/dwc/pcie-tegra194.c | 103 +++++++++++++++++ drivers/pci/quirks.c | 24 ++++ drivers/scsi/smartpqi/smartpqi_init.c | 16 +++ drivers/usb/core/hub.c | 7 ++ @@ -42,7 +41,8 @@ security/lockdown/Kconfig | 13 +++ security/lockdown/lockdown.c | 1 + security/security.c | 6 + - 44 files changed, 639 insertions(+), 217 deletions(-) + sound/pci/hda/patch_realtek.c | 18 +++ + 44 files changed, 652 insertions(+), 213 deletions(-) diff --git a/Documentation/admin-guide/kdump/kdump.rst b/Documentation/admin-guide/kdump/kdump.rst index 75a9dd98e76e..3ff3291551f9 100644 @@ -67,7 +67,7 @@ index 75a9dd98e76e..3ff3291551f9 100644 Boot into System Kernel diff --git a/Makefile b/Makefile -index 78b0941f0de4..5a32ebba5b1a 100644 +index 5077411a1874..482c880bebb1 100644 --- a/Makefile +++ b/Makefile @@ -495,6 +495,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE @@ -1045,42 +1045,6 @@ index d75cf5ff5686..49df02ecee91 100644 } } -diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig -index 22c5529e9a65..259ff5ff3f24 100644 ---- a/drivers/pci/controller/dwc/Kconfig -+++ b/drivers/pci/controller/dwc/Kconfig -@@ -254,25 +254,27 @@ config PCI_MESON - implement the driver. - - config PCIE_TEGRA194 -- tristate -+ bool - - config PCIE_TEGRA194_HOST -- tristate "NVIDIA Tegra194 (and later) PCIe controller - Host Mode" -+ bool "NVIDIA Tegra194 (and later) PCIe controller - Host Mode" - depends on ARCH_TEGRA_194_SOC || COMPILE_TEST - depends on PCI_MSI_IRQ_DOMAIN - select PCIE_DW_HOST - select PHY_TEGRA194_P2U - select PCIE_TEGRA194 -+ default y if ARCH_TEGRA_194_SOC - help - Enables support for the PCIe controller in the NVIDIA Tegra194 SoC to - work in host mode. There are two instances of PCIe controllers in - Tegra194. This controller can work either as EP or RC. In order to - enable host-specific features PCIE_TEGRA194_HOST must be selected and - in order to enable device-specific features PCIE_TEGRA194_EP must be -- selected. This uses the DesignWare core. -+ selected. This uses the DesignWare core. ACPI platforms with Tegra194 -+ don't need to enable this. - - config PCIE_TEGRA194_EP -- tristate "NVIDIA Tegra194 (and later) PCIe controller - Endpoint Mode" -+ bool "NVIDIA Tegra194 (and later) PCIe controller - Endpoint Mode" - depends on ARCH_TEGRA_194_SOC || COMPILE_TEST - depends on PCI_ENDPOINT - select PCIE_DW_EP diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile index a751553fa0db..dbb981876556 100644 --- a/drivers/pci/controller/dwc/Makefile @@ -1100,7 +1064,7 @@ index a751553fa0db..dbb981876556 100644 +obj-$(CONFIG_ARM64) += pcie-tegra194.o endif diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c -index 6fa216e52d14..0a851de769e8 100644 +index 6fa216e52d14..cb38e94a3033 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -22,6 +22,8 @@ @@ -1112,12 +1076,12 @@ index 6fa216e52d14..0a851de769e8 100644 #include #include #include -@@ -311,6 +313,103 @@ struct tegra_pcie_dw_of_data { +@@ -311,6 +313,104 @@ struct tegra_pcie_dw_of_data { enum dw_pcie_device_mode mode; }; +#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) -+struct tegra194_pcie_acpi { ++struct tegra194_pcie_ecam { + void __iomem *config_base; + void __iomem *iatu_base; + void __iomem *dbi_base; @@ -1126,50 +1090,51 @@ index 6fa216e52d14..0a851de769e8 100644 +static int tegra194_acpi_init(struct pci_config_window *cfg) +{ + struct device *dev = cfg->parent; -+ struct tegra194_pcie_acpi *pcie; ++ struct tegra194_pcie_ecam *pcie_ecam; + -+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); -+ if (!pcie) ++ pcie_ecam = devm_kzalloc(dev, sizeof(*pcie_ecam), GFP_KERNEL); ++ if (!pcie_ecam) + return -ENOMEM; + -+ pcie->config_base = cfg->win; -+ pcie->iatu_base = cfg->win + SZ_256K; -+ pcie->dbi_base = cfg->win + SZ_512K; -+ cfg->priv = pcie; ++ pcie_ecam->config_base = cfg->win; ++ pcie_ecam->iatu_base = cfg->win + SZ_256K; ++ pcie_ecam->dbi_base = cfg->win + SZ_512K; ++ cfg->priv = pcie_ecam; + + return 0; +} + -+static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index, -+ u32 val, u32 reg) ++static void atu_reg_write(struct tegra194_pcie_ecam *pcie_ecam, int index, ++ u32 val, u32 reg) +{ + u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index); + -+ writel(val, pcie->iatu_base + offset + reg); ++ writel(val, pcie_ecam->iatu_base + offset + reg); +} + -+static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index, -+ int type, u64 cpu_addr, u64 pci_addr, u64 size) ++static void program_outbound_atu(struct tegra194_pcie_ecam *pcie_ecam, ++ int index, int type, u64 cpu_addr, ++ u64 pci_addr, u64 size) +{ -+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr), ++ atu_reg_write(pcie_ecam, index, lower_32_bits(cpu_addr), + PCIE_ATU_LOWER_BASE); -+ atu_reg_write(pcie, index, upper_32_bits(cpu_addr), ++ atu_reg_write(pcie_ecam, index, upper_32_bits(cpu_addr), + PCIE_ATU_UPPER_BASE); -+ atu_reg_write(pcie, index, lower_32_bits(pci_addr), ++ atu_reg_write(pcie_ecam, index, lower_32_bits(pci_addr), + PCIE_ATU_LOWER_TARGET); -+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1), ++ atu_reg_write(pcie_ecam, index, lower_32_bits(cpu_addr + size - 1), + PCIE_ATU_LIMIT); -+ atu_reg_write(pcie, index, upper_32_bits(pci_addr), ++ atu_reg_write(pcie_ecam, index, upper_32_bits(pci_addr), + PCIE_ATU_UPPER_TARGET); -+ atu_reg_write(pcie, index, type, PCIE_ATU_CR1); -+ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2); ++ atu_reg_write(pcie_ecam, index, type, PCIE_ATU_CR1); ++ atu_reg_write(pcie_ecam, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2); +} + +static void __iomem *tegra194_map_bus(struct pci_bus *bus, + unsigned int devfn, int where) +{ + struct pci_config_window *cfg = bus->sysdata; -+ struct tegra194_pcie_acpi *pcie = cfg->priv; ++ struct tegra194_pcie_ecam *pcie_ecam = cfg->priv; + u32 busdev; + int type; + @@ -1178,7 +1143,7 @@ index 6fa216e52d14..0a851de769e8 100644 + + if (bus->number == cfg->busr.start) { + if (PCI_SLOT(devfn) == 0) -+ return pcie->dbi_base + where; ++ return pcie_ecam->dbi_base + where; + else + return NULL; + } @@ -1195,13 +1160,13 @@ index 6fa216e52d14..0a851de769e8 100644 + type = PCIE_ATU_TYPE_CFG1; + } + -+ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type, -+ cfg->res.start, busdev, SZ_256K); -+ return (void __iomem *)(pcie->config_base + where); ++ program_outbound_atu(pcie_ecam, 0, type, cfg->res.start, busdev, ++ SZ_256K); ++ ++ return pcie_ecam->config_base + where; +} + +const struct pci_ecam_ops tegra194_pcie_ops = { -+ .bus_shift = 20, + .init = tegra194_acpi_init, + .pci_ops = { + .map_bus = tegra194_map_bus, @@ -1216,7 +1181,7 @@ index 6fa216e52d14..0a851de769e8 100644 static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci) { return container_of(pci, struct tegra_pcie_dw, pci); -@@ -2311,3 +2410,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match); +@@ -2311,3 +2411,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match); MODULE_AUTHOR("Vidya Sagar "); MODULE_DESCRIPTION("NVIDIA PCIe host controller driver"); MODULE_LICENSE("GPL v2"); @@ -1698,3 +1663,53 @@ index 5ac96b16f8fa..fc47d6de57ee 100644 #ifdef CONFIG_PERF_EVENTS int security_perf_event_open(struct perf_event_attr *attr, int type) { +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index a7544b77d3f7..7569fd8c9cff 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -5667,6 +5667,18 @@ static void alc_fixup_tpt470_dacs(struct hda_codec *codec, + spec->gen.preferred_dacs = preferred_pairs; + } + ++static void alc295_fixup_asus_dacs(struct hda_codec *codec, ++ const struct hda_fixup *fix, int action) ++{ ++ static const hda_nid_t preferred_pairs[] = { ++ 0x17, 0x02, 0x21, 0x03, 0 ++ }; ++ struct alc_spec *spec = codec->spec; ++ ++ if (action == HDA_FIXUP_ACT_PRE_PROBE) ++ spec->gen.preferred_dacs = preferred_pairs; ++} ++ + static void alc_shutup_dell_xps13(struct hda_codec *codec) + { + struct alc_spec *spec = codec->spec; +@@ -6427,6 +6439,7 @@ enum { + ALC282_FIXUP_ACER_DISABLE_LINEOUT, + ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST, + ALC256_FIXUP_ACER_HEADSET_MIC, ++ ALC295_FIXUP_ASUS_DACS, + }; + + static const struct hda_fixup alc269_fixups[] = { +@@ -7901,6 +7914,10 @@ static const struct hda_fixup alc269_fixups[] = { + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC + }, ++ [ALC295_FIXUP_ASUS_DACS] = { ++ .type = HDA_FIXUP_FUNC, ++ .v.func = alc295_fixup_asus_dacs, ++ }, + }; + + static const struct snd_pci_quirk alc269_fixup_tbl[] = { +@@ -8096,6 +8113,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), + SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), + SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), ++ SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS), + SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK), + SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), + SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC), diff --git a/sources b/sources index 2b89d0087..ee51f88d9 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (patch-5.10.6.xz) = 54e74994a27b6a753717c778e5a550fd5db0f4acd24095f9b6e6d7cbb5c914be2f914d34865c9453d85a37873f0575fc5af54374ea1fe6e6d313d978e739d58f -SHA512 (linux-5.12.1.tar.xz) = 35230aa682a964661ed68c9d4191915bdb8388dd220e56dd764a02740875fcdb612edd778ef946fa25fc95a47e79ebd213a45a03bac91be12491348c35b75505 -SHA512 (kernel-abi-whitelists-5.12.1-300.tar.bz2) = 4765ee77e1637040b24de3d40e3de1c055b64b92f4ee89a55c8314835d9e96dcf1cff6eb61226ce9bede1aad75c702c8771c7e0d8c7ef01bd321e2fb3ee22d70 -SHA512 (kernel-kabi-dw-5.12.1-300.tar.bz2) = 10e7f20555d1cc2f8d10c9a58f22cb2e189e9bb4286d7d4ee30e58c9b95aff5ee7774bdf34b5e75d5211056b9a393d0d3fb76c610572ca6c04b8068d8ae74399 +SHA512 (linux-5.12.2.tar.xz) = 232294eaadecc6a103b6d5b57c388b17944041938f9d4cf5729ba00bca48e9c89437861c5c00d38d26f2ebd2044fb6f1dbf651e3a26a42478eeaabf60051d4a1 +SHA512 (kernel-abi-whitelists-5.12.2-300.tar.bz2) = 79510a09dd78643ebda8a745d5e3768339b480e01c19f9c045000e7f8eeeb2f12e7e860781ff0334d32a12b728e74fe47c06ce51254788f3f042f32991721750 +SHA512 (kernel-kabi-dw-5.12.2-300.tar.bz2) = 5f44444b048c7eff537756c562008f76af3c2e7b91e84377033e01d88f04c544ba7c8a7290a263ce26b812fd06a719fa291ac492f484de0daf9bfeb8c0274c94 -- cgit