powerpc/vas: Move VAS API to book3s common platform
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. Signed-off-by: Haren Myneni <haren@linux.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/e05c8db17b9eabe3545b902d034238e4c6c08180.camel@linux.ibm.com
This commit is contained in:
parent
91cdbb955a
commit
413d6ed3ea
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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/
|
||||
|
15
arch/powerpc/platforms/book3s/Kconfig
Normal file
15
arch/powerpc/platforms/book3s/Kconfig
Normal file
@ -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".
|
2
arch/powerpc/platforms/book3s/Makefile
Normal file
2
arch/powerpc/platforms/book3s/Makefile
Normal file
@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
obj-$(CONFIG_PPC_VAS) += vas-api.o
|
@ -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:
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -438,8 +438,6 @@ extern irqreturn_t vas_fault_handler(int irq, void *dev_id);
|
||||
extern void vas_return_credit(struct vas_window *window, bool tx);
|
||||
extern struct vas_window *vas_pswid_to_window(struct vas_instance *vinst,
|
||||
uint32_t pswid);
|
||||
extern void vas_win_paste_addr(struct vas_window *window, u64 *addr,
|
||||
int *len);
|
||||
|
||||
static inline int vas_window_pid(struct vas_window *window)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user