kernel-5.12.2-0

* Fri May 07 2021 Justin M. Forbes <jforbes@fedoraproject.org> [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 <jforbes@fedoraproject.org>
This commit is contained in:
Justin M. Forbes 2021-05-07 08:56:37 -05:00
commit 400052e6ca
8 changed files with 110 additions and 81 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 <jforbes@fedoraproject.org> [5.12.1-300]
* Fri May 07 2021 Justin M. Forbes <jforbes@fedoraproject.org> [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)

View file

@ -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 <linux/phy/phy.h>
#include <linux/pinctrl/consumer.h>
#include <linux/platform_device.h>
@@ -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 <vidyas@nvidia.com>");
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),

View file

@ -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