diff options
author | aalex <aalex@nvidia.com> | 2018-09-07 12:38:05 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-21 06:15:03 -0400 |
commit | c5810a670d367ae1dc405fcc3108e11265df34bb (patch) | |
tree | 7ec13fcda49df98f360fb5adc57e4af7a95ea4cc /drivers/gpu/nvgpu/include | |
parent | ec067c5ed1f00517dbd771fbe9809d2340ec908b (diff) |
gpu: nvgpu: refactor SET_SM_EXCEPTION_MASK ioctl
added hal layer for SM exception mask handling for
taking care of vitualization case.
Jira VQRM-4806
Bug 200447406
Bug 2331747
Change-Id: Ia44778a2e41c1a508c48026b8dee285966f1a544
Signed-off-by: aalex <aalex@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1816284
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/gk20a.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 9799425e..a653109a 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h | |||
@@ -748,6 +748,8 @@ struct gpu_ops { | |||
748 | struct nvgpu_semaphore *s, u64 sema_va, | 748 | struct nvgpu_semaphore *s, u64 sema_va, |
749 | struct priv_cmd_entry *cmd, | 749 | struct priv_cmd_entry *cmd, |
750 | u32 off, bool acquire, bool wfi); | 750 | u32 off, bool acquire, bool wfi); |
751 | int (*set_sm_exception_type_mask)(struct channel_gk20a *ch, | ||
752 | u32 exception_mask); | ||
751 | } fifo; | 753 | } fifo; |
752 | struct pmu_v { | 754 | struct pmu_v { |
753 | u32 (*get_pmu_cmdline_args_size)(struct nvgpu_pmu *pmu); | 755 | u32 (*get_pmu_cmdline_args_size)(struct nvgpu_pmu *pmu); |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h b/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h index f7a58c87..8ef5236c 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h +++ b/drivers/gpu/nvgpu/include/nvgpu/vgpu/tegra_vgpu.h | |||
@@ -123,6 +123,7 @@ enum { | |||
123 | TEGRA_VGPU_CMD_RESUME = 83, | 123 | TEGRA_VGPU_CMD_RESUME = 83, |
124 | TEGRA_VGPU_CMD_GET_ECC_INFO = 84, | 124 | TEGRA_VGPU_CMD_GET_ECC_INFO = 84, |
125 | TEGRA_VGPU_CMD_GET_ECC_COUNTER_VALUE = 85, | 125 | TEGRA_VGPU_CMD_GET_ECC_COUNTER_VALUE = 85, |
126 | TEGRA_VGPU_CMD_SET_SM_EXCEPTION_TYPE_MASK = 86, | ||
126 | }; | 127 | }; |
127 | 128 | ||
128 | struct tegra_vgpu_connect_params { | 129 | struct tegra_vgpu_connect_params { |
@@ -467,6 +468,11 @@ struct tegra_vgpu_gpu_clk_rate_params { | |||
467 | u32 rate; /* in kHz */ | 468 | u32 rate; /* in kHz */ |
468 | }; | 469 | }; |
469 | 470 | ||
471 | struct tegra_vgpu_set_sm_exception_type_mask_params { | ||
472 | u64 handle; | ||
473 | u32 mask; | ||
474 | }; | ||
475 | |||
470 | /* TEGRA_VGPU_MAX_ENGINES must be equal or greater than num_engines */ | 476 | /* TEGRA_VGPU_MAX_ENGINES must be equal or greater than num_engines */ |
471 | #define TEGRA_VGPU_MAX_ENGINES 4 | 477 | #define TEGRA_VGPU_MAX_ENGINES 4 |
472 | struct tegra_vgpu_engines_info { | 478 | struct tegra_vgpu_engines_info { |
@@ -678,6 +684,7 @@ struct tegra_vgpu_cmd_msg { | |||
678 | struct tegra_vgpu_channel_update_pc_sampling update_pc_sampling; | 684 | struct tegra_vgpu_channel_update_pc_sampling update_pc_sampling; |
679 | struct tegra_vgpu_ecc_info_params ecc_info; | 685 | struct tegra_vgpu_ecc_info_params ecc_info; |
680 | struct tegra_vgpu_ecc_counter_params ecc_counter; | 686 | struct tegra_vgpu_ecc_counter_params ecc_counter; |
687 | struct tegra_vgpu_set_sm_exception_type_mask_params set_sm_exception_mask; | ||
681 | char padding[192]; | 688 | char padding[192]; |
682 | } params; | 689 | } params; |
683 | }; | 690 | }; |