[PATCH v4 01/16] powerpc/vas: Move VAS API to book3s common platform
Haren Myneni
haren at linux.ibm.com
Fri Jun 4 06:23:18 AEST 2021
On Thu, 2021-06-03 at 13:32 +1000, Nicholas Piggin wrote:
> Excerpts from Haren Myneni's message of May 21, 2021 7:28 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 at linux.ibm.com>
> > ---
> > arch/powerpc/include/asm/vas.h | 3 +++
> > arch/powerpc/platforms/Kconfig | 1 +
> > arch/powerpc/platforms/Makefile | 1 +
> > arch/powerpc/platforms/book3s/Kconfig | 15
> > +++++++++++++++
> > arch/powerpc/platforms/book3s/Makefile | 2 ++
>
> If Michael is happy with the new directory structure then fine by me.
>
> > .../platforms/{powernv => book3s}/vas-api.c | 2 +-
> > arch/powerpc/platforms/powernv/Kconfig | 14 ---------
> > -----
> > arch/powerpc/platforms/powernv/Makefile | 2 +-
> > 8 files changed, 24 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/include/asm/vas.h
> > b/arch/powerpc/include/asm/vas.h
> > index e33f80b0ea81..3be76e813e2d 100644
> > --- a/arch/powerpc/include/asm/vas.h
> > +++ b/arch/powerpc/include/asm/vas.h
> > @@ -162,6 +162,9 @@ int vas_copy_crb(void *crb, int offset);
> > */
> > int vas_paste_crb(struct vas_window *win, int offset, bool re);
> >
> > +void vas_win_paste_addr(struct vas_window *window, u64 *addr,
> > + int *len);
> > +
> > /*
> > * Register / unregister coprocessor type to VAS API which will be
> > exported
> > * to user space. Applications can use this API to open / close
> > window
>
> If you do this, then the prototype should be removed from
> arch/powerpc/platforms/powernv/vas.h
Thanks for your review comments.
vas_win_paste_addr() should be PowerNV specific, so will remove from
include/asm/vas.h
>
> > 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..bed21449e8e5
> > --- /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 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 and later based systems.
> > + The user mode NX-GZIP support is added on P9 for powerNV and
> > on
> > + P10 for powerVM.
>
> The changelog has changed. The last sentence is difficult to
> understand
> (also please consistently capitalise PowerNV and PowerVM). Is it
> supposed to say that PPC_VAS will provide user-mode NX-GZIP support
> on
> P9 PowerNV systems and P10 PowerVM systems? If you respin the patch
> for
> the prototype...
>
> 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
> driver allows the kernel to use NX-GZIP and NX-842 accelerators,
> and
> user-mode APIs for the NX-GZIP accelerator on POWER9 PowerNV and
> POWER10 PowerVM platforms. <here is a userspace library you can
> use>
> etc
>
> Thanks,
> Nick
More information about the Linuxppc-dev
mailing list