summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/vgpu.h
diff options
context:
space:
mode:
authorAingara Paramakuru <aparamakuru@nvidia.com>2014-05-05 21:14:22 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:01 -0400
commit1fd722f592c2e0523c5e399a2406a4e387057188 (patch)
tree3425fb1a08ec2ccc6397e39c73a5579117e00a05 /drivers/gpu/nvgpu/vgpu/vgpu.h
parent69e0cd3dfd8f39bc8d3529325001dcacd774f669 (diff)
gpu: nvgpu: support gk20a virtualization
The nvgpu driver now supports using the Tegra graphics virtualization interfaces to support gk20a in a virtualized environment. Bug 1509608 Change-Id: I6ede15ee7bf0b0ad8a13e8eb5f557c3516ead676 Signed-off-by: Aingara Paramakuru <aparamakuru@nvidia.com> Reviewed-on: http://git-master/r/440122 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/vgpu.h')
-rw-r--r--drivers/gpu/nvgpu/vgpu/vgpu.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/vgpu.h b/drivers/gpu/nvgpu/vgpu/vgpu.h
new file mode 100644
index 00000000..445a1c90
--- /dev/null
+++ b/drivers/gpu/nvgpu/vgpu/vgpu.h
@@ -0,0 +1,41 @@
1/*
2 * Virtualized GPU Interfaces
3 *
4 * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 */
15
16#ifndef _VIRT_H_
17#define _VIRT_H_
18
19#include <linux/tegra_gr_comm.h>
20#include <linux/tegra_vgpu.h>
21#include "gk20a/gk20a.h"
22
23int vgpu_pm_prepare_poweroff(struct device *dev);
24int vgpu_pm_finalize_poweron(struct device *dev);
25int vgpu_probe(struct platform_device *dev);
26int vgpu_remove(struct platform_device *dev);
27u64 vgpu_bar1_map(struct gk20a *g, struct sg_table **sgt, u64 size);
28int vgpu_gr_isr(struct gk20a *g, struct tegra_vgpu_gr_intr_info *info);
29void vgpu_init_fifo_ops(struct gpu_ops *gops);
30void vgpu_init_gr_ops(struct gpu_ops *gops);
31void vgpu_init_ltc_ops(struct gpu_ops *gops);
32void vgpu_init_mm_ops(struct gpu_ops *gops);
33int vgpu_init_mm_support(struct gk20a *g);
34int vgpu_init_gr_support(struct gk20a *g);
35int vgpu_init_fifo_support(struct gk20a *g);
36
37int vgpu_get_attribute(u64 handle, u32 attrib, u32 *value);
38int vgpu_comm_sendrecv(struct tegra_vgpu_cmd_msg *msg, size_t size_in,
39 size_t size_out);
40
41#endif