Home
last modified time | relevance | path

Searched full:vas (Results 1 – 25 of 57) sorted by relevance

123

/linux-6.12.1/Documentation/devicetree/bindings/powerpc/
Dibm,vas.txt1 * IBM Powerpc Virtual Accelerator Switchboard (VAS)
3 VAS is a hardware mechanism that allows kernel subsystems and user processes
8 - compatible : should be "ibm,vas".
9 - ibm,vas-id : A unique identifier for each instance of VAS in the system
17 vas@6019100000000 {
18 compatible = "ibm,vas", "ibm,power9-vas";
20 name = "vas";
21 ibm,vas-id = <0x1>;
/linux-6.12.1/arch/powerpc/platforms/pseries/
Dvas-sysfs.c6 #define pr_fmt(fmt) "vas: " fmt
15 #include "vas.h"
43 * and reconfigure VAS windows (close or reopen depends in update_total_credits_store()
44 * on the credits available) instead of depending on VAS in update_total_credits_store()
77 * /sys/devices/virtual/misc/vas/vas0/gzip/default_capabilities
78 * This directory contains the following VAS GZIP capabilities
80 * /sys/devices/virtual/misc/vas/vas0/gzip/default_capabilities/nr_total_credits
83 * /sys/devices/virtual/misc/vas/vas0/gzip/default_capabilities/nr_used_credits
87 * /sys/devices/virtual/misc/vas/vas0/gzip/qos_capabilities
88 * This directory contains the following VAS GZIP capabilities
[all …]
Dvas.c6 #define pr_fmt(fmt) "vas: " fmt
21 #include <asm/vas.h>
22 #include "vas.h"
71 * Allocate VAS window hcall
106 * Deallocate VAS window hcall.
127 * Modify VAS window.
136 * AMR value is not supported in Linux VAS implementation. in h_modify_vas_window()
162 * Example: H_QUERY_VAS_CAPABILITIES provides VAS GZIP QoS
163 * and VAS GZIP Default capabilities.
177 /* H_FUNCTION means HV does not support VAS so don't print an error */ in h_query_vas_capabilities()
[all …]
DMakefile34 obj-$(CONFIG_PPC_VAS) += vas.o vas-sysfs.o
Dvas.h8 #include <asm/vas.h>
13 * VAS window modify flags
/linux-6.12.1/arch/powerpc/include/asm/
Dvas.h11 #include <uapi/asm/vas-api.h>
15 * (Local FIFO Size Register) of the VAS workbook.
33 * VAS window Linux status bits
36 /* vas mmap() */
64 * User space VAS windows are opened by tasks and take references
78 * Common VAS window struct on PowerNV and PowerVM
119 * if process / thread has any open VAS window (Use in vas_user_win_add_mm_context()
179 * Helper to map a chip id to VAS id.
183 * Return the VAS id or -1 if no matching vasid is found.
194 * Open a VAS receive window for the instance of VAS identified by @vasid
[all …]
/linux-6.12.1/arch/powerpc/platforms/powernv/
Dvas-fault.c3 * VAS Fault handling.
7 #define pr_fmt(fmt) "vas: " fmt
18 #include "vas.h"
22 * (VAS_RX_FIFO_SIZE_MAX). Using 4MB FIFO since each VAS
24 * 8MB FIFO can be used if expects more faults for each VAS
78 * VAS can interrupt with multiple page faults. So process all in vas_fault_thread_fn()
101 * aligned to CRB_ALIGN (256) but the CRB written to by VAS is in vas_fault_thread_fn()
127 pr_devel("VAS[%d] fault_fifo %p, fifo %p, fault_crbs %d\n", in vas_fault_thread_fn()
145 pr_err("VAS[%d] fault_fifo %p, fifo %p, pswid 0x%x, fault_crbs %d bad CRB?\n", in vas_fault_thread_fn()
196 * Fault window is opened per VAS instance. NX pastes fault CRB in fault
[all …]
Dvas.c6 #define pr_fmt(fmt) "vas: " fmt
22 #include "vas.h"
37 pr_err("VAS[%d]: Request IRQ(%d) failed with %d\n", in vas_irq_fault_window_setup()
59 rc = of_property_read_u32(dn, "ibm,vas-id", &vasid); in init_vas_instance()
61 pr_err("No ibm,vas-id property for %s?\n", pdev->name); in init_vas_instance()
81 vinst->name = kasprintf(GFP_KERNEL, "vas-%d", vasid); in init_vas_instance()
220 { .compatible = "ibm,vas",},
226 .name = "vas",
239 for_each_compatible_node(dn, NULL, "ibm,vas") { in vas_init()
Dvas.h10 #include <asm/vas.h>
17 * Overview of Virtual Accelerator Switchboard (VAS).
19 * VAS is a hardware "switchboard" that allows senders and receivers to
30 * VAS in each Power9 chip. Each instance of VAS has 64K windows or ports,
41 * in these registers configure/control/determine the behavior of the VAS
47 * The HVWCs for all windows on a specific instance of VAS are in a contiguous
53 * and available to the kernel in the VAS node's "reg" property in the device
74 * base address" and "paste win id shift" reg properties in the VAS device
111 * VAS Window Context Register Offsets and bitmasks.
112 * See Section 3.1.4 of VAS Work book
[all …]
Dvas-debug.c6 #define pr_fmt(fmt) "vas: " fmt
12 #include <asm/vas.h>
13 #include "vas.h"
156 * Set up the "root" VAS debugfs dir. Return if we already set it up
157 * (or failed to) in an earlier instance of VAS.
167 vas_debugfs = debugfs_create_dir("vas", NULL); in vas_init_dbgdir()
DMakefile30 obj-$(CONFIG_PPC_VAS) += vas.o vas-window.o vas-debug.o vas-fault.o
Dvas-trace.h4 #define TRACE_SYSTEM vas
11 #include <asm/vas.h>
112 #define TRACE_INCLUDE_FILE vas-trace
Dvas-window.c6 #define pr_fmt(fmt) "vas: " fmt
19 #include <asm/vas.h>
20 #include "vas.h"
24 #include "vas-trace.h"
153 * of a window even on another VAS instance but since its not a critical
332 * has enough buffers to reserve. See section 1.3.1.2.1 of VAS workbook.
350 * Cache Register Details) of the VAS workbook although they don't need
399 * NOTE: VAS expects the FIFO address to be copied into the LFIFO_BAR in init_winctx_regs()
402 * VAS ignores the lower 10+ bits in the address anyway, because in init_winctx_regs()
577 * (so both send and receive windows are on the same VAS instance)
[all …]
/linux-6.12.1/Documentation/arch/powerpc/
Dvas-api.rst5 Virtual Accelerator Switchboard (VAS) userspace API
11 Power9 processor introduced Virtual Accelerator Switchboard (VAS) which
38 /dev/crypto/nx-gzip device node implemented by the VAS/NX device driver.
117 __s16 vas_id; /* specific instance of vas or -1
129 select the specific VAS instance, refer
130 "Discovery of available VAS engines" section below.
151 EINVAL fd does not refer to a valid VAS device.
152 EINVAL Invalid vas ID
190 Discovery of available VAS engines
193 Each available VAS instance in the system will have a device tree node
[all …]
/linux-6.12.1/arch/powerpc/platforms/book3s/
DKconfig3 bool "IBM Virtual Accelerator Switchboard (VAS)"
7 This enables support for IBM Virtual Accelerator Switchboard (VAS).
9 VAS devices are found in POWER9-based and later systems, they
Dvas-api.c3 * VAS user space API for its accelerators (Only NX-GZIP is supported now)
7 #define pr_fmt(fmt) "vas-api: " fmt
19 #include <asm/vas.h>
20 #include <uapi/asm/vas-api.h>
308 pr_err("VAS API is not registered\n"); in coproc_ioc_tx_win_open()
315 pr_err_ratelimited("VAS window open failed rc=%ld\n", in coproc_ioc_tx_win_open()
495 pr_err("VAS API is not registered\n"); in coproc_mmap()
/linux-6.12.1/drivers/crypto/nx/
Dnx-common-powernv.c16 #include <asm/vas.h>
50 } vas; member
56 * where the process is executing. Use with VAS function.
589 * VAS copy CRB into L2 cache. Refer <asm/vas.h>. in nx842_exec_vas()
595 * VAS paste previously copied CRB to NX. in nx842_exec_vas()
601 * Retry copy/paste function for VAS failures. in nx842_exec_vas()
606 pr_err_ratelimited("VAS copy/paste failed\n"); in nx842_exec_vas()
694 * Open a VAS send window which is used to send request to NX. in nx_alloc_txwin()
696 txwin = vas_tx_win_open(coproc->vas.id, coproc->ct, &txattr); in nx_alloc_txwin()
839 * Open a VAS receice window which is used to configure RxFIFO in vas_cfg_coproc_info()
[all …]
/linux-6.12.1/tools/testing/selftests/powerpc/nx-gzip/include/
Dvas-api.h16 /* Flags to VAS TX open window ioctl */
22 __s16 vas_id; /* specific instance of vas or -1 for default */
Dnxu.h71 * vas: virtual accelerator switch; the user mode interface
161 /* Verification only vas buffer number which correlates to
185 * by VAS and may be written to 1 by hypervisor while
195 * and pasted to the Fault Send Window in VAS.
206 struct vas_stamped_crb_t vas; member
364 /* VAS stamped CRB fields */
/linux-6.12.1/tools/testing/selftests/powerpc/mce/
Dvas-api.h16 /* Flags to VAS TX open window ioctl */
22 __s16 vas_id; /* specific instance of vas or -1 for default */
/linux-6.12.1/arch/powerpc/include/uapi/asm/
Dvas-api.h16 /* Flags to VAS TX open window ioctl */
22 __s16 vas_id; /* specific instance of vas or -1 for default */
/linux-6.12.1/arch/arm64/kvm/hyp/nvhe/
Dgen-hyprel.c7 * absolute addresses in hyp data from kernel VAs to hyp VAs.
21 * to positions in the kernel binary containing VAs used by hyp code.
323 * by `rela`. This way the kernel can iterate over all kernel VAs used
324 * by hyp at runtime and convert them to hyp VAs. However, that offset
DMakefile67 # and convert the kernel VAs at those positions to hyp VAs.
73 # will contain kernel VAs at runtime. These pointers have relocations on them
/linux-6.12.1/Documentation/arch/arm64/
Dmemory.rst110 higher addresses such that they are invariant to 48/52-bit VAs. Due
124 spaces, the VMEMMAP must be sized large enough for 52-bit VAs and
142 52-bit userspace VAs
148 Software can "opt-in" to receiving VAs from a 52-bit space by
/linux-6.12.1/arch/csky/mm/
Dtlb.c65 "tlbi.vas %0 \n" in flush_tlb_range()
144 "tlbi.vas %0 \n" in flush_tlb_page()

123