Excerpts from Haren Myneni's message of June 13, 2021 8:55 pm: > > Using the same /dev/crypto/nx-gzip interface for both powerNV and > pseries. So this patch creates platforms/book3s/ and moves VAS API > to that directory. The actual functionality is not changed. > > Signed-off-by: Haren Myneni <haren@xxxxxxxxxxxxx> Just a minor nit with the wording of the changelog. The pseries platform will share vas and nx code and interfaces with the powernv platform, so create the arch/powerpc/platforms/book3s/ directory and move VAS API code there. Functionality is not changed. Reviewed-by: Nicholas Piggin <npiggin@xxxxxxxxx> > --- > arch/powerpc/platforms/Kconfig | 1 + > arch/powerpc/platforms/Makefile | 1 + > arch/powerpc/platforms/book3s/Kconfig | 15 +++++++++++++++ > arch/powerpc/platforms/book3s/Makefile | 2 ++ > .../platforms/{powernv => book3s}/vas-api.c | 2 +- > arch/powerpc/platforms/powernv/Kconfig | 14 -------------- > arch/powerpc/platforms/powernv/Makefile | 2 +- > 7 files changed, 21 insertions(+), 16 deletions(-) > create mode 100644 arch/powerpc/platforms/book3s/Kconfig > create mode 100644 arch/powerpc/platforms/book3s/Makefile > rename arch/powerpc/platforms/{powernv => book3s}/vas-api.c (99%) > > diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig > index 7a5e8f4541e3..594544a65b02 100644 > --- a/arch/powerpc/platforms/Kconfig > +++ b/arch/powerpc/platforms/Kconfig > @@ -20,6 +20,7 @@ source "arch/powerpc/platforms/embedded6xx/Kconfig" > source "arch/powerpc/platforms/44x/Kconfig" > source "arch/powerpc/platforms/40x/Kconfig" > source "arch/powerpc/platforms/amigaone/Kconfig" > +source "arch/powerpc/platforms/book3s/Kconfig" > > config KVM_GUEST > bool "KVM Guest support" > diff --git a/arch/powerpc/platforms/Makefile b/arch/powerpc/platforms/Makefile > index 143d4417f6cc..0e75d7df387b 100644 > --- a/arch/powerpc/platforms/Makefile > +++ b/arch/powerpc/platforms/Makefile > @@ -22,3 +22,4 @@ obj-$(CONFIG_PPC_CELL) += cell/ > obj-$(CONFIG_PPC_PS3) += ps3/ > obj-$(CONFIG_EMBEDDED6xx) += embedded6xx/ > obj-$(CONFIG_AMIGAONE) += amigaone/ > +obj-$(CONFIG_PPC_BOOK3S) += book3s/ > diff --git a/arch/powerpc/platforms/book3s/Kconfig b/arch/powerpc/platforms/book3s/Kconfig > new file mode 100644 > index 000000000000..34c931592ef0 > --- /dev/null > +++ b/arch/powerpc/platforms/book3s/Kconfig > @@ -0,0 +1,15 @@ > +# SPDX-License-Identifier: GPL-2.0 > +config PPC_VAS > + bool "IBM Virtual Accelerator Switchboard (VAS)" > + depends on (PPC_POWERNV || PPC_PSERIES) && PPC_64K_PAGES > + default y > + help > + This enables support for IBM Virtual Accelerator Switchboard (VAS). > + > + VAS devices are found in POWER9-based and later systems, they > + provide access to accelerator coprocessors such as NX-GZIP and > + NX-842. This config allows the kernel to use NX-842 accelerators, > + and user-mode APIs for the NX-GZIP accelerator on POWER9 PowerNV > + and POWER10 PowerVM platforms. > + > + If unsure, say "N". > diff --git a/arch/powerpc/platforms/book3s/Makefile b/arch/powerpc/platforms/book3s/Makefile > new file mode 100644 > index 000000000000..e790f1910f61 > --- /dev/null > +++ b/arch/powerpc/platforms/book3s/Makefile > @@ -0,0 +1,2 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +obj-$(CONFIG_PPC_VAS) += vas-api.o > diff --git a/arch/powerpc/platforms/powernv/vas-api.c b/arch/powerpc/platforms/book3s/vas-api.c > similarity index 99% > rename from arch/powerpc/platforms/powernv/vas-api.c > rename to arch/powerpc/platforms/book3s/vas-api.c > index 98ed5d8c5441..cfc9d7dd65ab 100644 > --- a/arch/powerpc/platforms/powernv/vas-api.c > +++ b/arch/powerpc/platforms/book3s/vas-api.c > @@ -10,9 +10,9 @@ > #include <linux/fs.h> > #include <linux/slab.h> > #include <linux/uaccess.h> > +#include <linux/io.h> > #include <asm/vas.h> > #include <uapi/asm/vas-api.h> > -#include "vas.h" > > /* > * The driver creates the device node that can be used as follows: > diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig > index 619b093a0657..043eefbbdd28 100644 > --- a/arch/powerpc/platforms/powernv/Kconfig > +++ b/arch/powerpc/platforms/powernv/Kconfig > @@ -33,20 +33,6 @@ config PPC_MEMTRACE > Enabling this option allows for runtime allocation of memory (RAM) > for hardware tracing. > > -config PPC_VAS > - bool "IBM Virtual Accelerator Switchboard (VAS)" > - depends on PPC_POWERNV && PPC_64K_PAGES > - default y > - help > - This enables support for IBM Virtual Accelerator Switchboard (VAS). > - > - VAS allows accelerators in co-processors like NX-GZIP and NX-842 > - to be accessible to kernel subsystems and user processes. > - > - VAS adapters are found in POWER9 based systems. > - > - If unsure, say N. > - > config SCOM_DEBUGFS > bool "Expose SCOM controllers via debugfs" > depends on DEBUG_FS > diff --git a/arch/powerpc/platforms/powernv/Makefile b/arch/powerpc/platforms/powernv/Makefile > index be2546b96816..dc7b37c23b60 100644 > --- a/arch/powerpc/platforms/powernv/Makefile > +++ b/arch/powerpc/platforms/powernv/Makefile > @@ -18,7 +18,7 @@ obj-$(CONFIG_MEMORY_FAILURE) += opal-memory-errors.o > obj-$(CONFIG_OPAL_PRD) += opal-prd.o > obj-$(CONFIG_PERF_EVENTS) += opal-imc.o > obj-$(CONFIG_PPC_MEMTRACE) += memtrace.o > -obj-$(CONFIG_PPC_VAS) += vas.o vas-window.o vas-debug.o vas-fault.o vas-api.o > +obj-$(CONFIG_PPC_VAS) += vas.o vas-window.o vas-debug.o vas-fault.o > obj-$(CONFIG_OCXL_BASE) += ocxl.o > obj-$(CONFIG_SCOM_DEBUGFS) += opal-xscom.o > obj-$(CONFIG_PPC_SECURE_BOOT) += opal-secvar.o > -- > 2.18.2 > > >