summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include/nvgpu/vgpu
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2018-01-25 19:51:54 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-01-31 05:40:52 -0500
commit5326dfe3fa59e7d465ffc2f0d7f81aaf9de48278 (patch)
tree94ec53a97a665fbcbf8004614c65b5090fb89b70 /drivers/gpu/nvgpu/include/nvgpu/vgpu
parentb386768d323c95f530dd28b695927426e52fe0dc (diff)
gpu: nvgpu: vgpu: add vgpu_ivc_* wrappers
tegra_gr_comm_* are wrapped as vgpu_ivc_*, which helps make vgpu code more common. Jira EVLR-2364 Change-Id: Id49462ed6c176c73ceee8c6bc41104447748e187 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1645656 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/vgpu')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/vgpu/vgpu_ivc.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/vgpu/vgpu_ivc.h b/drivers/gpu/nvgpu/include/nvgpu/vgpu/vgpu_ivc.h
new file mode 100644
index 00000000..e7e40269
--- /dev/null
+++ b/drivers/gpu/nvgpu/include/nvgpu/vgpu/vgpu_ivc.h
@@ -0,0 +1,45 @@
1/*
2 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#ifndef __VGPU_IVC_H__
24#define __VGPU_IVC_H__
25
26#include <nvgpu/types.h>
27
28struct gk20a;
29
30int vgpu_ivc_init(struct gk20a *g, u32 elems,
31 const size_t *queue_sizes, u32 queue_start, u32 num_queues);
32void vgpu_ivc_deinit(u32 queue_start, u32 num_queues);
33void vgpu_ivc_release(void *handle);
34u32 vgpu_ivc_get_server_vmid(void);
35int vgpu_ivc_recv(u32 index, void **handle, void **data,
36 size_t *size, u32 *sender);
37int vgpu_ivc_send(u32 peer, u32 index, void *data, size_t size);
38int vgpu_ivc_sendrecv(u32 peer, u32 index, void **handle,
39 void **data, size_t *size);
40u32 vgpu_ivc_get_peer_self(void);
41void *vgpu_ivc_oob_get_ptr(u32 peer, u32 index, void **ptr,
42 size_t *size);
43void vgpu_ivc_oob_put_ptr(void *handle);
44
45#endif