Lines Matching +full:per +full:- +full:context

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright 2016-17 IBM Corp.
36 * Hypervisor Window Context (HVWC) of size VAS_HVWC_SIZE bytes
38 * OS/User Window Context (UWC) of size VAS_UWC_SIZE bytes.
40 * A window context can be viewed as a set of 64-bit registers. The settings
56 * /proc/device-tree/vasm@.../reg
69 * As mentioned, a window context is used to "configure" a window. Besides
79 * (again, see vas_probe() for ->paste_base_addr and ->paste_win_id_shift).
85 * NOTE: In the initial version, senders can only in-kernel drivers/threads.
86 * Support for user space threads will be added in follow-on patches.
96 * Hypervisor and OS/USer Window Context sizes
102 * Initial per-process credits.
103 * Max send window credits: 4K-1 (12-bits in VAS_TX_WCRED)
105 * TODO: Needs tuning for per-process credits
107 #define VAS_TX_WCREDS_MAX ((4 << 10) - 1)
111 * VAS Window Context Register Offsets and bitmasks.
261 * - the register's short name in string form ("LPID"), and
262 * - the name of the macro (eg: VAS_LPID_OFFSET), defining the
263 * register's offset in the window context
313 * One per instance of VAS. Each instance will have a separate set of
314 * receive windows, one per coprocessor type.
316 * See also function header of set_vinst_win() for details on ->windows[]
317 * and ->rxwin[] tables.
349 * In-kernel state a VAS window on PowerNV. One per window.
358 void *hvwc_map; /* HV window context */
359 void *uwc_map; /* OS/User window context */
371 * Container for the hardware state of a window. One per-window.
373 * A VAS Window context is a 512-byte area in the hardware that contains
374 * a set of 64-bit registers. Individual bit-fields in these registers
376 * is a container for the register fields in the window context.
438 return pid_vnr(window->task_ref.pid); in vas_window_pid()
446 win->tx_win ? "Tx" : "Rx", win->vas_win.winid, in vas_log_write()
455 regptr = win->uwc_map + reg; in write_uwc_reg()
466 regptr = win->hvwc_map + reg; in write_hvwc_reg()
475 return in_be64(win->hvwc_map+reg); in read_hvwc_reg()
490 return ((u32)winid | (vasid << (31 - 7))); in encode_pswid()
496 *vasid = pswid >> (31 - 7) & 0xFF; in decode_pswid()