| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright 2016-17 IBM Corp. |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or |
|---|
| 5 | | - * modify it under the terms of the GNU General Public License |
|---|
| 6 | | - * as published by the Free Software Foundation; either version |
|---|
| 7 | | - * 2 of the License, or (at your option) any later version. |
|---|
| 8 | 4 | */ |
|---|
| 9 | 5 | |
|---|
| 10 | 6 | #ifndef _ASM_POWERPC_VAS_H |
|---|
| .. | .. |
|---|
| 56 | 52 | * Receive window attributes specified by the (in-kernel) owner of window. |
|---|
| 57 | 53 | */ |
|---|
| 58 | 54 | struct vas_rx_win_attr { |
|---|
| 59 | | - void *rx_fifo; |
|---|
| 55 | + u64 rx_fifo; |
|---|
| 60 | 56 | int rx_fifo_size; |
|---|
| 61 | 57 | int wcreds_max; |
|---|
| 62 | 58 | |
|---|
| .. | .. |
|---|
| 90 | 86 | int wcreds_max; |
|---|
| 91 | 87 | int lpid; |
|---|
| 92 | 88 | int pidr; /* hardware PID (from SPRN_PID) */ |
|---|
| 93 | | - int pid; /* linux process id */ |
|---|
| 94 | 89 | int pswid; |
|---|
| 95 | 90 | int rsvd_txbuf_count; |
|---|
| 96 | 91 | int tc_mode; |
|---|
| .. | .. |
|---|
| 168 | 163 | int vas_paste_crb(struct vas_window *win, int offset, bool re); |
|---|
| 169 | 164 | |
|---|
| 170 | 165 | /* |
|---|
| 171 | | - * Return a system-wide unique id for the VAS window @win. |
|---|
| 166 | + * Register / unregister coprocessor type to VAS API which will be exported |
|---|
| 167 | + * to user space. Applications can use this API to open / close window |
|---|
| 168 | + * which can be used to send / receive requests directly to cooprcessor. |
|---|
| 169 | + * |
|---|
| 170 | + * Only NX GZIP coprocessor type is supported now, but this API can be |
|---|
| 171 | + * used for others in future. |
|---|
| 172 | 172 | */ |
|---|
| 173 | | -extern u32 vas_win_id(struct vas_window *win); |
|---|
| 173 | +int vas_register_coproc_api(struct module *mod, enum vas_cop_type cop_type, |
|---|
| 174 | + const char *name); |
|---|
| 175 | +void vas_unregister_coproc_api(void); |
|---|
| 174 | 176 | |
|---|
| 175 | | -/* |
|---|
| 176 | | - * Return the power bus paste address associated with @win so the caller |
|---|
| 177 | | - * can map that address into their address space. |
|---|
| 178 | | - */ |
|---|
| 179 | | -extern u64 vas_win_paste_addr(struct vas_window *win); |
|---|
| 180 | 177 | #endif /* __ASM_POWERPC_VAS_H */ |
|---|