From 82232b3248459d73ae9598303af6f72836fc9ba7 Mon Sep 17 00:00:00 2001 From: Will Springer Date: Tue, 17 Nov 2020 04:16:10 -0800 Subject: [PATCH] linux5.9: provisionally enable VAS on 4k pagesize CONFIG_PPC_VAS depends on 64k pages, but after making a small tweak to the init code, it seems to work fine on 4k pages, allowing use of the NX gzip accelerator on POWER9. --- srcpkgs/linux5.9/files/ppc64le-dotconfig | 8 +++--- srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch | 26 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch diff --git a/srcpkgs/linux5.9/files/ppc64le-dotconfig b/srcpkgs/linux5.9/files/ppc64le-dotconfig index 4ae8c3798e4..1828c5b9b8f 100644 --- a/srcpkgs/linux5.9/files/ppc64le-dotconfig +++ b/srcpkgs/linux5.9/files/ppc64le-dotconfig @@ -1,11 +1,11 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/powerpc 5.9.6 Kernel Configuration +# Linux/powerpc 5.9.8 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="powerpc64le-linux-musl-gcc (GCC) 9.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 9.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=90300 -CONFIG_LD_VERSION=232000000 +CONFIG_LD_VERSION=234000000 CONFIG_CLANG_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y @@ -333,6 +333,7 @@ CONFIG_PPC_XIVE_SPAPR=y CONFIG_PPC_POWERNV=y CONFIG_OPAL_PRD=m CONFIG_PPC_MEMTRACE=y +CONFIG_PPC_VAS=y CONFIG_SCOM_DEBUGFS=y CONFIG_PPC_PSERIES=y CONFIG_PPC_SPLPAR=y @@ -9205,6 +9206,7 @@ CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m +CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set diff --git a/srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch b/srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch new file mode 100644 index 00000000000..1483f2c3917 --- /dev/null +++ b/srcpkgs/linux5.9/patches/ppc-vas-on-4k.patch @@ -0,0 +1,26 @@ +diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig +index 938803eab0ad..40c81b358004 100644 +--- a/arch/powerpc/platforms/powernv/Kconfig ++++ b/arch/powerpc/platforms/powernv/Kconfig +@@ -35,7 +35,7 @@ config PPC_MEMTRACE + + config PPC_VAS + bool "IBM Virtual Accelerator Switchboard (VAS)" +- depends on PPC_POWERNV && PPC_64K_PAGES ++ depends on PPC_POWERNV + default y + help + This enables support for IBM Virtual Accelerator Switchboard (VAS). +diff --git a/arch/powerpc/platforms/powernv/vas.c b/arch/powerpc/platforms/powernv/vas.c +index 598e4cd563fb..d81e55de6db4 100644 +--- a/arch/powerpc/platforms/powernv/vas.c ++++ b/arch/powerpc/platforms/powernv/vas.c +@@ -70,7 +70,7 @@ static int init_vas_instance(struct platform_device *pdev) + return -ENODEV; + } + +- if (pdev->num_resources != 4) { ++ if (pdev->num_resources < 4) { + pr_err("Unexpected DT configuration for [%s, %d]\n", + pdev->name, vasid); + return -ENODEV;