diff options
author | Vaibhav Kachore <vkachore@nvidia.com> | 2018-07-06 05:40:03 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-07-10 21:13:43 -0400 |
commit | e14fdcd8f1f4125da697433b1744b1e4e4f15b09 (patch) | |
tree | f48ff794ef77e977ccba397f5abf14f5ae7b185b /drivers/gpu/nvgpu/vgpu/gr_vgpu.h | |
parent | 4cd59404a2d4ab1c31605d96cff848dd4e93c3b4 (diff) |
gpu: nvgpu: enable HWPM Mode-E context switch
- Write new pm mode to context buffer header. Ucode use
this mode to enable mode-e context switch. This is Mode-B
context switch of PMs with Mode-E streamout on one context.
If this mode is set, Ucode makes sure that Mode-E pipe
(perfmons, routers, pma) is idle before it context switches PMs.
- This allows us to collect counters in a secure way
(i.e. on context basis) with stream out.
Bug 2106999
Change-Id: I5a7435f09d1bf053ca428e538b0a57f3a175ac37
Signed-off-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1760366
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/gr_vgpu.h')
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gr_vgpu.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.h b/drivers/gpu/nvgpu/vgpu/gr_vgpu.h index c4b3944e..149bd17a 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.h +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.h | |||
@@ -58,7 +58,7 @@ int vgpu_gr_set_sm_debug_mode(struct gk20a *g, | |||
58 | int vgpu_gr_update_smpc_ctxsw_mode(struct gk20a *g, | 58 | int vgpu_gr_update_smpc_ctxsw_mode(struct gk20a *g, |
59 | struct channel_gk20a *ch, bool enable); | 59 | struct channel_gk20a *ch, bool enable); |
60 | int vgpu_gr_update_hwpm_ctxsw_mode(struct gk20a *g, | 60 | int vgpu_gr_update_hwpm_ctxsw_mode(struct gk20a *g, |
61 | struct channel_gk20a *ch, u64 gpu_va, bool enable); | 61 | struct channel_gk20a *ch, u64 gpu_va, u32 mode); |
62 | int vgpu_gr_clear_sm_error_state(struct gk20a *g, | 62 | int vgpu_gr_clear_sm_error_state(struct gk20a *g, |
63 | struct channel_gk20a *ch, u32 sm_id); | 63 | struct channel_gk20a *ch, u32 sm_id); |
64 | int vgpu_gr_suspend_contexts(struct gk20a *g, | 64 | int vgpu_gr_suspend_contexts(struct gk20a *g, |