diff options
author | Vaibhav Kachore <vkachore@nvidia.com> | 2018-09-27 04:49:14 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-27 12:37:12 -0400 |
commit | 8f30251c67811834f9d93b50ce3e97fe3aa18051 (patch) | |
tree | 6f5345bd102dbdc1bd3d4536a60469da6ef0e352 /drivers/gpu/nvgpu | |
parent | 4dafb2e4927dd7e43ee39d40153cc6c34ed29d27 (diff) |
gpu: nvgpu: fix update hwpm ctxsw mode
- Depending on main context or subcontext,
ctxheader and gr_mem should be updated
with pm mode and buffer addresss accordingly
Bug 2404093
Change-Id: Iba16c762c09b2a420570d4f528205e258ff27e8f
Signed-off-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1849396
Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com>
Reviewed-by: Deepak Nibade <dnibade@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 6c885b59..0250e97e 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -1853,11 +1853,11 @@ int gr_gk20a_update_hwpm_ctxsw_mode(struct gk20a *g, | |||
1853 | 1853 | ||
1854 | data |= pm_ctx->pm_mode; | 1854 | data |= pm_ctx->pm_mode; |
1855 | 1855 | ||
1856 | nvgpu_mem_wr(g, gr_mem, ctxsw_prog_main_image_pm_o(), data); | ||
1857 | |||
1858 | if (ctxheader->gpu_va) { | 1856 | if (ctxheader->gpu_va) { |
1857 | nvgpu_mem_wr(g, ctxheader, ctxsw_prog_main_image_pm_o(), data); | ||
1859 | g->ops.gr.write_pm_ptr(g, ctxheader, virt_addr); | 1858 | g->ops.gr.write_pm_ptr(g, ctxheader, virt_addr); |
1860 | } else { | 1859 | } else { |
1860 | nvgpu_mem_wr(g, gr_mem, ctxsw_prog_main_image_pm_o(), data); | ||
1861 | g->ops.gr.write_pm_ptr(g, gr_mem, virt_addr); | 1861 | g->ops.gr.write_pm_ptr(g, gr_mem, virt_addr); |
1862 | } | 1862 | } |
1863 | 1863 | ||