diff options
| author | Richard Zhao <rizhao@nvidia.com> | 2018-01-10 19:06:30 -0500 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-12 15:43:40 -0500 |
| commit | 9dd3bb2e62c321bb48c14f3e76c00a754cd12c5f (patch) | |
| tree | 48e1242d3f17ae0ef02ef0f724c95ce5c30b6338 /include | |
| parent | ece3d958b306f00dad76ed6f9b83ce136b4769f2 (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.h | 40 | ||||
| -rw-r--r-- | include/linux/tegra_vgpu_t19x.h | 55 |
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 | |||
| 28 | enum { | 24 | enum { |
| 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 | ||
| 117 | struct tegra_vgpu_connect_params { | 117 | struct 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 | ||
| 489 | struct tegra_vgpu_channel_cyclestats_snapshot_params { | 490 | struct 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 | ||
| 547 | struct tegra_vgpu_alloc_ctx_header_params { | ||
| 548 | u64 ch_handle; | ||
| 549 | u64 ctx_header_va; | ||
| 550 | }; | ||
| 551 | |||
| 552 | struct tegra_vgpu_free_ctx_header_params { | ||
| 553 | u64 ch_handle; | ||
| 554 | }; | ||
| 555 | |||
| 556 | struct tegra_vgpu_map_syncpt_params { | ||
| 557 | u64 as_handle; | ||
| 558 | u64 gpu_va; | ||
| 559 | u64 len; | ||
| 560 | u64 offset; | ||
| 561 | u8 prot; | ||
| 562 | }; | ||
| 563 | |||
| 564 | struct 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 | |||
| 546 | struct tegra_vgpu_cmd_msg { | 571 | struct 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 | |||
| 22 | struct tegra_vgpu_alloc_ctx_header_params { | ||
| 23 | u64 ch_handle; | ||
| 24 | u64 ctx_header_va; | ||
| 25 | }; | ||
| 26 | |||
| 27 | struct tegra_vgpu_free_ctx_header_params { | ||
| 28 | u64 ch_handle; | ||
| 29 | }; | ||
| 30 | |||
| 31 | struct tegra_vgpu_map_syncpt_params { | ||
| 32 | u64 as_handle; | ||
| 33 | u64 gpu_va; | ||
| 34 | u64 len; | ||
| 35 | u64 offset; | ||
| 36 | u8 prot; | ||
| 37 | }; | ||
| 38 | |||
| 39 | struct 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 | |||
| 46 | union 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 | ||
