summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2018-01-10 19:06:30 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-01-12 15:43:40 -0500
commit9dd3bb2e62c321bb48c14f3e76c00a754cd12c5f (patch)
tree48e1242d3f17ae0ef02ef0f724c95ce5c30b6338 /include
parentece3d958b306f00dad76ed6f9b83ce136b4769f2 (diff)
gpu: nvgpu: vgpu: move t19x specific code to general code
- remove vgpu_t19x.h and tegra_vgpu_t19x.h - merge t19x specific ivc commands to the big enum - move TEGRA_VGPU_ATTRIB_MAX_SUBCTX_COUNT to constants Jira EVLR-2293 Change-Id: I34344bffa03bb69e1282b1f19382e3199f9ba105 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1636128 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/tegra_vgpu.h40
-rw-r--r--include/linux/tegra_vgpu_t19x.h55
2 files changed, 33 insertions, 62 deletions
diff --git a/include/linux/tegra_vgpu.h b/include/linux/tegra_vgpu.h
index 74148294..105870dc 100644
--- a/include/linux/tegra_vgpu.h
+++ b/include/linux/tegra_vgpu.h
@@ -21,10 +21,6 @@
21 21
22#include <nvgpu/types.h> 22#include <nvgpu/types.h>
23 23
24#ifdef CONFIG_TEGRA_19x_GPU
25#include <linux/tegra_vgpu_t19x.h>
26#endif
27
28enum { 24enum {
29 TEGRA_VGPU_MODULE_GPU = 0, 25 TEGRA_VGPU_MODULE_GPU = 0,
30}; 26};
@@ -112,6 +108,10 @@ enum {
112 TEGRA_VGPU_CMD_GET_TIMESTAMPS_ZIPPER = 74, 108 TEGRA_VGPU_CMD_GET_TIMESTAMPS_ZIPPER = 74,
113 TEGRA_VGPU_CMD_TSG_RELEASE = 75, 109 TEGRA_VGPU_CMD_TSG_RELEASE = 75,
114 TEGRA_VGPU_CMD_GET_VSMS_MAPPING = 76, 110 TEGRA_VGPU_CMD_GET_VSMS_MAPPING = 76,
111 TEGRA_VGPU_CMD_ALLOC_CTX_HEADER = 77,
112 TEGRA_VGPU_CMD_FREE_CTX_HEADER = 78,
113 TEGRA_VGPU_CMD_MAP_SYNCPT = 79,
114 TEGRA_VGPU_CMD_TSG_BIND_CHANNEL_EX = 80,
115}; 115};
116 116
117struct tegra_vgpu_connect_params { 117struct tegra_vgpu_connect_params {
@@ -484,6 +484,7 @@ struct tegra_vgpu_constants_params {
484 struct tegra_vgpu_engines_info engines_info; 484 struct tegra_vgpu_engines_info engines_info;
485 u32 num_pce; 485 u32 num_pce;
486 u32 sm_per_tpc; 486 u32 sm_per_tpc;
487 u32 max_subctx_count;
487}; 488};
488 489
489struct tegra_vgpu_channel_cyclestats_snapshot_params { 490struct tegra_vgpu_channel_cyclestats_snapshot_params {
@@ -543,6 +544,30 @@ struct tegra_vgpu_vsms_mapping_entry {
543 u32 global_tpc_index; 544 u32 global_tpc_index;
544}; 545};
545 546
547struct tegra_vgpu_alloc_ctx_header_params {
548 u64 ch_handle;
549 u64 ctx_header_va;
550};
551
552struct tegra_vgpu_free_ctx_header_params {
553 u64 ch_handle;
554};
555
556struct tegra_vgpu_map_syncpt_params {
557 u64 as_handle;
558 u64 gpu_va;
559 u64 len;
560 u64 offset;
561 u8 prot;
562};
563
564struct tegra_vgpu_tsg_bind_channel_ex_params {
565 u32 tsg_id;
566 u64 ch_handle;
567 u32 subctx_id;
568 u32 runqueue_sel;
569};
570
546struct tegra_vgpu_cmd_msg { 571struct tegra_vgpu_cmd_msg {
547 u32 cmd; 572 u32 cmd;
548 int ret; 573 int ret;
@@ -598,9 +623,10 @@ struct tegra_vgpu_cmd_msg {
598 struct tegra_vgpu_get_timestamps_zipper_params get_timestamps_zipper; 623 struct tegra_vgpu_get_timestamps_zipper_params get_timestamps_zipper;
599 struct tegra_vgpu_get_gpu_freq_table_params get_gpu_freq_table; 624 struct tegra_vgpu_get_gpu_freq_table_params get_gpu_freq_table;
600 struct tegra_vgpu_vsms_mapping_params vsms_mapping; 625 struct tegra_vgpu_vsms_mapping_params vsms_mapping;
601#ifdef CONFIG_TEGRA_19x_GPU 626 struct tegra_vgpu_alloc_ctx_header_params alloc_ctx_header;
602 union tegra_vgpu_t19x_params t19x; 627 struct tegra_vgpu_free_ctx_header_params free_ctx_header;
603#endif 628 struct tegra_vgpu_map_syncpt_params map_syncpt;
629 struct tegra_vgpu_tsg_bind_channel_ex_params tsg_bind_channel_ex;
604 char padding[192]; 630 char padding[192];
605 } params; 631 } params;
606}; 632};
diff --git a/include/linux/tegra_vgpu_t19x.h b/include/linux/tegra_vgpu_t19x.h
deleted file mode 100644
index 38dbbf60..00000000
--- a/include/linux/tegra_vgpu_t19x.h
+++ /dev/null
@@ -1,55 +0,0 @@
1/*
2 * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 */
13
14#ifndef __TEGRA_VGPU_T19X_H
15#define __TEGRA_VGPU_T19X_H
16
17#define TEGRA_VGPU_CMD_ALLOC_CTX_HEADER 100
18#define TEGRA_VGPU_CMD_FREE_CTX_HEADER 101
19#define TEGRA_VGPU_CMD_MAP_SYNCPT 102
20#define TEGRA_VGPU_CMD_TSG_BIND_CHANNEL_EX 103
21
22struct tegra_vgpu_alloc_ctx_header_params {
23 u64 ch_handle;
24 u64 ctx_header_va;
25};
26
27struct tegra_vgpu_free_ctx_header_params {
28 u64 ch_handle;
29};
30
31struct tegra_vgpu_map_syncpt_params {
32 u64 as_handle;
33 u64 gpu_va;
34 u64 len;
35 u64 offset;
36 u8 prot;
37};
38
39struct tegra_vgpu_tsg_bind_channel_ex_params {
40 u32 tsg_id;
41 u64 ch_handle;
42 u32 subctx_id;
43 u32 runqueue_sel;
44};
45
46union tegra_vgpu_t19x_params {
47 struct tegra_vgpu_alloc_ctx_header_params alloc_ctx_header;
48 struct tegra_vgpu_free_ctx_header_params free_ctx_header;
49 struct tegra_vgpu_map_syncpt_params map_syncpt;
50 struct tegra_vgpu_tsg_bind_channel_ex_params tsg_bind_channel_ex;
51};
52
53#define TEGRA_VGPU_ATTRIB_MAX_SUBCTX_COUNT 100
54
55#endif