kernel-release 5.7.11-2 (znver1;x86_64) 2020-12060
0

Submitter benbullard79 [@T] cox.net
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/811187
Packages
bpftool-5.7.11-2.znver1.binary
cpupower-5.7.11-2.znver1.binary
cpupower-devel-5.7.11-2.znver1.binary
cross-aarch64-openmandriva-linux-android-kernel-release-headers-5.7.11-2.znver1.binary
cross-aarch64-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.znver1.binary
cross-aarch64-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.znver1.binary
cross-aarch64-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.znver1.binary
cross-armv7hnl-openmandriva-linux-gnueabihf-kernel-release-headers-5.7.11-2.znver1.binary
cross-armv7hnl-openmandriva-linux-musleabihf-kernel-release-headers-5.7.11-2.znver1.binary
cross-armv7hnl-openmandriva-linux-uclibceabihf-kernel-release-headers-5.7.11-2.znver1.binary
cross-armv7l-openmandriva-linux-androideabi-kernel-release-headers-5.7.11-2.znver1.binary
cross-armv8l-openmandriva-linux-androideabi-kernel-release-headers-5.7.11-2.znver1.binary
cross-i686-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.znver1.binary
cross-i686-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.znver1.binary
cross-i686-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.znver1.binary
cross-riscv32-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.znver1.binary
cross-riscv32-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.znver1.binary
cross-riscv32-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.znver1.binary
cross-riscv64-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.znver1.binary
cross-riscv64-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.znver1.binary
cross-riscv64-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.znver1.binary
cross-x86_64-openmandriva-linux-android-kernel-release-headers-5.7.11-2.znver1.binary
cross-x86_64-openmandriva-linux-gnux32-kernel-release-headers-5.7.11-2.znver1.binary
cross-x86_64-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.znver1.binary
cross-x86_64-openmandriva-linux-muslx32-kernel-release-headers-5.7.11-2.znver1.binary
cross-x86_64-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.znver1.binary
cross-x86_64-openmandriva-linux-uclibcx32-kernel-release-headers-5.7.11-2.znver1.binary
kernel-release-5.7.11-2.znver1.source
kernel-release-desktop-5.7.11-2.znver1.binary
kernel-release-desktop-devel-5.7.11-2.znver1.binary
kernel-release-headers-1:5.7.11-2.znver1.binary
kernel-release-server-5.7.11-2.znver1.binary
kernel-release-server-devel-5.7.11-2.znver1.binary
kernel-release-source-5.7.11-2.znver1.binary
lib64bpf0-5.7.11-2.znver1.binary
lib64bpf-devel-5.7.11-2.znver1.binary
turbostat-5.7.11-2.znver1.binary
x86_energy_perf_policy-5.7.11-2.znver1.binary
bpftool-5.7.11-2.x86_64.binary
cpupower-5.7.11-2.x86_64.binary
cpupower-devel-5.7.11-2.x86_64.binary
cross-aarch64-openmandriva-linux-android-kernel-release-headers-5.7.11-2.x86_64.binary
cross-aarch64-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.x86_64.binary
cross-aarch64-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.x86_64.binary
cross-aarch64-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.x86_64.binary
cross-armv7hnl-openmandriva-linux-gnueabihf-kernel-release-headers-5.7.11-2.x86_64.binary
cross-armv7hnl-openmandriva-linux-musleabihf-kernel-release-headers-5.7.11-2.x86_64.binary
cross-armv7hnl-openmandriva-linux-uclibceabihf-kernel-release-headers-5.7.11-2.x86_64.binary
cross-armv7l-openmandriva-linux-androideabi-kernel-release-headers-5.7.11-2.x86_64.binary
cross-armv8l-openmandriva-linux-androideabi-kernel-release-headers-5.7.11-2.x86_64.binary
cross-i686-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.x86_64.binary
cross-i686-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.x86_64.binary
cross-i686-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.x86_64.binary
cross-riscv32-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.x86_64.binary
cross-riscv32-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.x86_64.binary
cross-riscv32-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.x86_64.binary
cross-riscv64-openmandriva-linux-gnu-kernel-release-headers-5.7.11-2.x86_64.binary
cross-riscv64-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.x86_64.binary
cross-riscv64-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.x86_64.binary
cross-x86_64-openmandriva-linux-android-kernel-release-headers-5.7.11-2.x86_64.binary
cross-x86_64-openmandriva-linux-gnux32-kernel-release-headers-5.7.11-2.x86_64.binary
cross-x86_64-openmandriva-linux-musl-kernel-release-headers-5.7.11-2.x86_64.binary
cross-x86_64-openmandriva-linux-muslx32-kernel-release-headers-5.7.11-2.x86_64.binary
cross-x86_64-openmandriva-linux-uclibc-kernel-release-headers-5.7.11-2.x86_64.binary
cross-x86_64-openmandriva-linux-uclibcx32-kernel-release-headers-5.7.11-2.x86_64.binary
kernel-release-5.7.11-2.x86_64.source
kernel-release-desktop-5.7.11-2.x86_64.binary
kernel-release-desktop-devel-5.7.11-2.x86_64.binary
kernel-release-headers-1:5.7.11-2.x86_64.binary
kernel-release-server-5.7.11-2.x86_64.binary
kernel-release-server-devel-5.7.11-2.x86_64.binary
kernel-release-source-5.7.11-2.x86_64.binary
lib64bpf0-5.7.11-2.x86_64.binary
lib64bpf-devel-5.7.11-2.x86_64.binary
turbostat-5.7.11-2.x86_64.binary
x86_energy_perf_policy-5.7.11-2.x86_64.binary
Build Date 2020-07-31 03:07:34 +0000 UTC
Last Updated 2020-07-31 14:45:17.641764111 +0000 UTC
$ git diff --patch-with-stat --summary 0e10554979e83835aacdcb61b66d20304a69fd20..8b71359564ed514682b6057824394ec385a64627

 .abf.yml                                           |  2 +-
 7a8b64d17e35810dc3176fe61208b45c15d25402.patch     | 77 ++++++++++++++++++++++
 9d55bebd9816903b821a403a69a94190442ac043.patch     | 68 +++++++++++++++++++
 arm64-common.config                                |  6 ++
 common.config                                      |  3 +-
 ...l-5.7-fewer-conditions-for-ARM64_PTR_AUTH.patch | 27 ++++++++
 ...l-5.8-nouveau-write-combining-only-on-x86.patch | 72 ++++++++++++++++++++
 kernel-release.spec                                | 23 ++++++-
 8 files changed, 273 insertions(+), 5 deletions(-)
 create mode 100644 7a8b64d17e35810dc3176fe61208b45c15d25402.patch
 create mode 100644 9d55bebd9816903b821a403a69a94190442ac043.patch
 create mode 100644 kernel-5.7-fewer-conditions-for-ARM64_PTR_AUTH.patch
 create mode 100644 kernel-5.8-nouveau-write-combining-only-on-x86.patch

diff --git a/.abf.yml b/.abf.yml
index fc4608a..cef6999 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -3,4 +3,4 @@ sources:
   saa716x-driver.tar.xz: f9b6ef1cd6f1f71f53d9a8aadfba2cf6b5c3d7b6
   linux-5.7.tar.xz: 07e40057b78f1c9dd2b042056325d99fcf9f8a08
   linux-5.7.tar.sign: 9bdcc9e48ee0eca0baa8118b9a10ba2eda64363e
-  patch-5.7.10.xz: 35ee89c00fc7ee52c12f6d8003c503a906d504dd
+  patch-5.7.11.xz: 22e11d00f94d641f0167db08f61a8feb2f231a25
diff --git a/7a8b64d17e35810dc3176fe61208b45c15d25402.patch b/7a8b64d17e35810dc3176fe61208b45c15d25402.patch
new file mode 100644
index 0000000..efa63b9
--- /dev/null
+++ b/7a8b64d17e35810dc3176fe61208b45c15d25402.patch
@@ -0,0 +1,77 @@
+commit 7a8b64d17e35810dc3176fe61208b45c15d25402
+Author: Rob Herring <robh@kernel.org>
+Date:   Thu Feb 6 14:02:30 2020 +0000
+
+    of/address: use range parser for of_dma_get_range
+    
+    of_dma_get_range() does the same ranges parsing as
+    of_pci_range_parser_one(), so let's refactor of_dma_get_range() to use
+    it instead.
+    
+    This commit is no functional change. Subsequent commits will parse more
+    than the 1st dma-ranges entry.
+    
+    Signed-off-by: Rob Herring <robh@kernel.org>
+
+diff --git a/drivers/of/address.c b/drivers/of/address.c
+index 6d33f849f11440..a2c45812a50e52 100644
+--- a/drivers/of/address.c
++++ b/drivers/of/address.c
+@@ -939,10 +939,11 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz
+ {
+ 	struct device_node *node = of_node_get(np);
+ 	const __be32 *ranges = NULL;
+-	int len, naddr, nsize, pna;
++	int len;
+ 	int ret = 0;
+ 	bool found_dma_ranges = false;
+-	u64 dmaaddr;
++	struct of_range_parser parser;
++	struct of_range range;
+ 
+ 	while (node) {
+ 		ranges = of_get_property(node, "dma-ranges", &len);
+@@ -967,33 +968,20 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz
+ 		goto out;
+ 	}
+ 
+-	naddr = of_bus_n_addr_cells(node);
+-	nsize = of_bus_n_size_cells(node);
+-	pna = of_n_addr_cells(node);
+-	if ((len / sizeof(__be32)) % (pna + naddr + nsize)) {
+-		ret = -EINVAL;
+-		goto out;
+-	}
++	of_dma_range_parser_init(&parser, node);
++
++	for_each_of_range(&parser, &range) {
++		pr_debug("dma_addr(%llx) cpu_addr(%llx) size(%llx)\n",
++			 range.bus_addr, range.cpu_addr, range.size);
++
++		*dma_addr = range.bus_addr;
++		*paddr = range.cpu_addr;
++		*size = range.size;
+ 
+-	/* dma-ranges format:
+-	 * DMA addr	: naddr cells
+-	 * CPU addr	: pna cells
+-	 * size		: nsize cells
+-	 */
+-	dmaaddr = of_read_number(ranges, naddr);
+-	*paddr = of_translate_dma_address(node, ranges + naddr);
+-	if (*paddr == OF_BAD_ADDR) {
+-		pr_err("translation of DMA address(%llx) to CPU address failed node(%pOF)\n",
+-		       dmaaddr, np);
+-		ret = -EINVAL;
+ 		goto out;
+ 	}
+-	*dma_addr = dmaaddr;
+-
+-	*size = of_read_number(ranges + naddr + pna, nsize);
+ 
+-	pr_debug("dma_addr(%llx) cpu_addr(%llx) size(%llx)\n",
+-		 *dma_addr, *paddr, *size);
++	pr_err("translation of DMA ranges failed on node(%pOF)\n", np);
+ 
+ out:
+ 	of_node_put(node);
diff --git a/9d55bebd9816903b821a403a69a94190442ac043.patch b/9d55bebd9816903b821a403a69a94190442ac043.patch
new file mode 100644
index 0000000..b3ead93
--- /dev/null
+++ b/9d55bebd9816903b821a403a69a94190442ac043.patch
@@ -0,0 +1,68 @@
+commit 9d55bebd9816903b821a403a69a94190442ac043
+Author: Rob Herring <robh@kernel.org>
+Date:   Thu Feb 6 14:26:40 2020 +0000
+
+    of/address: Support multiple 'dma-ranges' entries
+    
+    Currently, the DMA offset and mask for a device are set based only on the
+    first 'dma-ranges' entry. We should really be using all the entries. The
+    kernel doesn't yet support multiple offsets and sizes, so the best we can
+    do is to find the biggest size for a single offset. The algorithm is
+    copied from acpi_dma_get_range().
+    
+    If there's different offsets from the first entry, then we warn and
+    continue. It really should be an error, but this will likely break
+    existing DTs.
+    
+    Signed-off-by: Rob Herring <robh@kernel.org>
+
+diff --git a/drivers/of/address.c b/drivers/of/address.c
+index a2c45812a50e52..8eea3f6e29a441 100644
+--- a/drivers/of/address.c
++++ b/drivers/of/address.c
+@@ -944,6 +944,7 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz
+ 	bool found_dma_ranges = false;
+ 	struct of_range_parser parser;
+ 	struct of_range range;
++	u64 dma_start = U64_MAX, dma_end = 0, dma_offset = 0;
+ 
+ 	while (node) {
+ 		ranges = of_get_property(node, "dma-ranges", &len);
+@@ -974,14 +975,33 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz
+ 		pr_debug("dma_addr(%llx) cpu_addr(%llx) size(%llx)\n",
+ 			 range.bus_addr, range.cpu_addr, range.size);
+ 
+-		*dma_addr = range.bus_addr;
+-		*paddr = range.cpu_addr;
+-		*size = range.size;
++		if (dma_offset && range.cpu_addr - range.bus_addr != dma_offset) {
++			pr_warn("Can't handle multiple dma-ranges with different offsets on node(%pOF)\n", node);
++			/* Don't error out as we'd break some existing DTs */
++			continue;
++		}
++		dma_offset = range.cpu_addr - range.bus_addr;
++
++		/* Take lower and upper limits */
++		if (range.bus_addr < dma_start)
++			dma_start = range.bus_addr;
++		if (range.bus_addr + range.size > dma_end)
++			dma_end = range.bus_addr + range.size;
++	}
+ 
++	if (dma_start >= dma_end) {
++		ret = -EINVAL;
++		pr_debug("Invalid DMA ranges configuration on node(%pOF)\n",
++			 node);
+ 		goto out;
+ 	}
+ 
+-	pr_err("translation of DMA ranges failed on node(%pOF)\n", np);
++	*dma_addr = dma_start;
++	*size = dma_end - dma_start;
++	*paddr = dma_start + dma_offset;
++
++	pr_debug("final: dma_addr(%llx) cpu_addr(%llx) size(%llx)\n",
++		 *dma_addr, *paddr, *size);
+ 
+ out:
+ 	of_node_put(node);
diff --git a/arm64-common.config b/arm64-common.config
index c444a48..3a6539a 100644
--- a/arm64-common.config
+++ b/arm64-common.config
@@ -1029,3 +1029,9 @@ CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT=m
 CONFIG_ARM64_PTDUMP_CORE=y
 CONFIG_ARM64_PTDUMP_DEBUGFS=y
 CONFIG_ARM64_RELOC_TEST=m
+CONFIG_GOOGLE_FIRMWARE=y
+CONFIG_GOOGLE_COREBOOT_TABLE=m
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
+CONFIG_GOOGLE_VPD=m
+CONFIG_IMX_DSP=m
diff --git a/common.config b/common.config
index ca23a50..28c1ebe 100644
--- a/common.config
+++ b/common.config
@@ -132,6 +132,7 @@ CONFIG_ACPI_PCI_SLOT=y
 CONFIG_ACPI_HOTPLUG_MEMORY=y
 CONFIG_ACPI_CUSTOM_METHOD=m
 CONFIG_ACPI_NFIT=m
+CONFIG_ACPI_HMAT=m
 CONFIG_DPTF_POWER=m
 CONFIG_ACPI_WATCHDOG=y
 CONFIG_ACPI_EXTLOG=m
@@ -221,7 +222,7 @@ CONFIG_FW_CFG_SYSFS=m
 CONFIG_FW_CFG_SYSFS_CMDLINE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_EFI_VARS is not set
+CONFIG_EFI_VARS=m
 CONFIG_EFI_CAPSULE_LOADER=m
 CONFIG_EFI_TEST=m
 CONFIG_APPLE_PROPERTIES=y
diff --git a/kernel-5.7-fewer-conditions-for-ARM64_PTR_AUTH.patch b/kernel-5.7-fewer-conditions-for-ARM64_PTR_AUTH.patch
new file mode 100644
index 0000000..63ed69a
--- /dev/null
+++ b/kernel-5.7-fewer-conditions-for-ARM64_PTR_AUTH.patch
@@ -0,0 +1,27 @@
+This is wrong and should never go upstream.
+
+It is needed nevertheless: Without this patch, the config builder doesn't emit
+any value for ARM64_PTR_AUTH because the preconditions aren't met.
+Then on "real" make, it knows more about the toolchain, sees it can be
+enabled, and "make syncconfig" hangs prompting for the value.
+
+Given our toolchain is known good (we'll always have binutils >= 2.33.1 and
+current versions of gcc and clang), inside our package disabling those
+preconditions doesn't do any harm.
+
+diff -up linux-5.7/arch/arm64/Kconfig.omv~ linux-5.7/arch/arm64/Kconfig
+--- linux-5.7/arch/arm64/Kconfig.omv~	2020-07-25 23:31:02.229462957 +0000
++++ linux-5.7/arch/arm64/Kconfig	2020-07-25 23:31:12.161907200 +0000
+@@ -1502,12 +1502,6 @@ config ARM64_PTR_AUTH
+ 	bool "Enable support for pointer authentication"
+ 	default y
+ 	depends on !KVM || ARM64_VHE
+-	depends on (CC_HAS_SIGN_RETURN_ADDRESS || CC_HAS_BRANCH_PROT_PAC_RET) && AS_HAS_PAC
+-	# GCC 9.1 and later inserts a .note.gnu.property section note for PAC
+-	# which is only understood by binutils starting with version 2.33.1.
+-	depends on !CC_IS_GCC || GCC_VERSION < 90100 || LD_VERSION >= 233010000
+-	depends on !CC_IS_CLANG || AS_HAS_CFI_NEGATE_RA_STATE
+-	depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS)
+ 	help
+ 	  Pointer authentication (part of the ARMv8.3 Extensions) provides
+ 	  instructions for signing and authenticating pointers against secret
diff --git a/kernel-5.8-nouveau-write-combining-only-on-x86.patch b/kernel-5.8-nouveau-write-combining-only-on-x86.patch
new file mode 100644
index 0000000..41aa007
--- /dev/null
+++ b/kernel-5.8-nouveau-write-combining-only-on-x86.patch
@@ -0,0 +1,72 @@
+commit bb14834cef399ae99771f0f33fe6b57a68165370
+Author: Bernhard Rosenkränzer <bero@lindev.ch>
+Date:   Tue Jul 21 15:45:49 2020 +0200
+
+    nouveau: avoid write-combine mappings for VRAM and IO space
+    
+    NOUPSTREAM
+    
+    Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+    Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
+    Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
+    [daniel.thompson@linaro.org:
+      Updated to undo changes to the bar2 mapping in v4.15-rc1, see
+      dfcbd5506817 ("drm/nouveau/imem/nv50: map bar2 write-combined")
+      and b807270cbd87 ("drm/nouveau/imem/nv40: map bar2
+      write-combined") for more details]
+    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
+
+diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
+index c40f127de3d0b2..525b2dc1ed91af 100644
+--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
++++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
+@@ -662,9 +662,14 @@ nouveau_bo_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
+ 	case TTM_PL_VRAM:
+ 		man->flags = TTM_MEMTYPE_FLAG_FIXED |
+ 			     TTM_MEMTYPE_FLAG_MAPPABLE;
++#ifdef CONFIG_X86
+ 		man->available_caching = TTM_PL_FLAG_UNCACHED |
+ 					 TTM_PL_FLAG_WC;
+ 		man->default_caching = TTM_PL_FLAG_WC;
++#else
++		man->available_caching = TTM_PL_FLAG_UNCACHED;
++		man->default_caching = TTM_PL_FLAG_UNCACHED;
++#endif
+ 
+ 		if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA) {
+ 			/* Some BARs do not support being ioremapped WC */
+diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.c
+index 086c118488ef5f..d7e4c0e325afb1 100644
+--- a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.c
++++ b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.c
+@@ -253,8 +253,13 @@ nv40_instmem_new(struct nvkm_device *device, int index,
+ 	else
+ 		bar = 3;
+ 
++#ifdef CONFIG_X86
+	imem->iomem = ioremap_wc(device->func->resource_addr(device, bar),
+				 device->func->resource_size(device, bar));
++#else
++	imem->iomem = ioremap(device->func->resource_addr(device, bar),
++			      device->func->resource_size(device, bar));
++#endif
+ 	if (!imem->iomem) {
+ 		nvkm_error(&imem->base.subdev, "unable to map PRAMIN BAR\n");
+ 		return -EFAULT;
+diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c
+index 02c4eb28cef44d..80a28164c15041 100644
+--- a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c
++++ b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c
+@@ -171,7 +171,11 @@ nv50_instobj_kmap(struct nv50_instobj *iobj, struct nvkm_vmm *vmm)
+ 
+ 	/* Make the mapping visible to the host. */
+ 	iobj->bar = bar;
++#ifdef CONFIG_X86
+ 	iobj->map = ioremap_wc(device->func->resource_addr(device, 3) +
++#else
++	iobj->map = ioremap(device->func->resource_addr(device, 3) +
++#endif
+ 			       (u32)iobj->bar->addr, size);
+ 	if (!iobj->map) {
+ 		nvkm_warn(subdev, "PRAMIN ioremap failed\n");
diff --git a/kernel-release.spec b/kernel-release.spec
index bfa5971..fe33307 100644
--- a/kernel-release.spec
+++ b/kernel-release.spec
@@ -18,7 +18,7 @@
 # compose tar.xz name and release
 %define kernelversion	5
 %define patchlevel	7
-%define sublevel	10
+%define sublevel	11
 %define relc		%{nil}
 # Only ever wrong on x.0 releases...
 %define previous	%{kernelversion}.%(echo $((%{patchlevel}-1)))
@@ -32,7 +32,7 @@
 %define rpmrel		0.rc%{relc}.1
 %define tar_ver		%{kernelversion}.%{patchlevel}-rc%{relc}
 %else
-%define rpmrel		1
+%define rpmrel		2
 %define tar_ver		%{kernelversion}.%{patchlevel}
 %endif
 %define buildrpmrel	%{rpmrel}%{rpmtag}
@@ -238,6 +238,17 @@ Patch6:		linux-5.2.9-riscv-compile.patch
 Patch7:		aacraid-dont-freak-out-dependency-generator.patch
 # Make uClibc-ng happy
 Patch8:		socket.h-include-bitsperlong.h.patch
+# Make Nouveau work on SynQuacer (and probably all other non-x86 boards)
+Patch9:		kernel-5.8-nouveau-write-combining-only-on-x86.patch
+Patch10:	kernel-5.7-fewer-conditions-for-ARM64_PTR_AUTH.patch
+
+# FIXME git bisect shows upstream commit
+# 7a8b64d17e35810dc3176fe61208b45c15d25402 breaks
+# booting SynQuacer from USB flash drives.
+# 9d55bebd9816903b821a403a69a94190442ac043 builds on
+# 7a8b64d17e35810dc3176fe61208b45c15d25402.
+Source100:      7a8b64d17e35810dc3176fe61208b45c15d25402.patch
+Source101:      9d55bebd9816903b821a403a69a94190442ac043.patch
 
 # Patches to VirtualBox and other external modules are
 # pulled in as Source: rather than Patch: because it's arch specific
@@ -834,6 +845,12 @@ rm -rf .git
 %endif
 %autopatch -p1
 
+%ifarch %{aarch64}
+# FIXME SynQuacer workaround
+patch -p1 -R <%{S:101}
+patch -p1 -R <%{S:100}
+%endif
+
 # merge SAA716x DVB driver from extra tarball
 sed -i -e '/saa7164/isource "drivers/media/pci/saa716x/Kconfig"' drivers/media/pci/Kconfig
 sed -i -e '/saa7164/iobj-$(CONFIG_SAA716X_CORE) += saa716x/' drivers/media/pci/Makefile
@@ -1478,7 +1495,7 @@ chmod +x tools/power/cpupower/utils/version-gen.sh
 
 %kmake -C tools/lib/bpf CC=clang libbpf.a libbpf.pc libbpf.so.0.0.8
 cd tools/bpf/bpftool
-make CC=clang bpftool
+%kmake CC=clang bpftool
 cd -
 
 ############################################################
Not Available
On your rolling/znver1;x86_64 machine, enable the updates-testing repository for main. Then urpmi.update -a and urpmi the affected packages.
When you're done, you can use urpmi --downgrade to revert back to previous versions.
No opinions... yet.