diff options
author | Peter Daifuku <pdaifuku@nvidia.com> | 2017-11-08 22:13:29 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-13 21:19:20 -0500 |
commit | c9419732776a3f31b3c1ace0cd113151f3a4d7cd (patch) | |
tree | ffe4252f735d75d46bed02ee9f61fbbd11677e4d /drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |
parent | c0a461dbbccf56681ff531e7e4c8f5fb01c3e2cf (diff) |
gpu: nvgpu: ctx_patch_write fixes
- Add update_patch_count parameter to ctx_patch_write_begin/end functions
If True, the main_image_patch_count register will be updated. Previously,
the patch count would be updated if the cpu_va for the graphics context
was non-NULL, but this only works for sysmem (cpu_va is always 0 for vidmem)
- Remove unused patch parameter for the commit_global_timeslice functions
JIRA ESRM-74
Bug 2012077
Change-Id: I35d0a9eb48669a227833bba1d2e63e9fe8fd8aa9
Signed-off-by: Peter Daifuku <pdaifuku@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1594790
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index 2b3b74bc..b437838f 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -619,9 +619,11 @@ struct channel_ctx_gk20a; | |||
619 | void gr_gk20a_ctx_patch_write(struct gk20a *g, struct channel_ctx_gk20a *ch_ctx, | 619 | void gr_gk20a_ctx_patch_write(struct gk20a *g, struct channel_ctx_gk20a *ch_ctx, |
620 | u32 addr, u32 data, bool patch); | 620 | u32 addr, u32 data, bool patch); |
621 | int gr_gk20a_ctx_patch_write_begin(struct gk20a *g, | 621 | int gr_gk20a_ctx_patch_write_begin(struct gk20a *g, |
622 | struct channel_ctx_gk20a *ch_ctx); | 622 | struct channel_ctx_gk20a *ch_ctx, |
623 | bool update_patch_count); | ||
623 | void gr_gk20a_ctx_patch_write_end(struct gk20a *g, | 624 | void gr_gk20a_ctx_patch_write_end(struct gk20a *g, |
624 | struct channel_ctx_gk20a *ch_ctx); | 625 | struct channel_ctx_gk20a *ch_ctx, |
626 | bool update_patch_count); | ||
625 | void gr_gk20a_commit_global_pagepool(struct gk20a *g, | 627 | void gr_gk20a_commit_global_pagepool(struct gk20a *g, |
626 | struct channel_ctx_gk20a *ch_ctx, | 628 | struct channel_ctx_gk20a *ch_ctx, |
627 | u64 addr, u32 size, bool patch); | 629 | u64 addr, u32 size, bool patch); |
@@ -745,8 +747,7 @@ int gr_gk20a_resume_from_pause(struct gk20a *g); | |||
745 | int gr_gk20a_clear_sm_errors(struct gk20a *g); | 747 | int gr_gk20a_clear_sm_errors(struct gk20a *g); |
746 | u32 gr_gk20a_tpc_enabled_exceptions(struct gk20a *g); | 748 | u32 gr_gk20a_tpc_enabled_exceptions(struct gk20a *g); |
747 | 749 | ||
748 | int gr_gk20a_commit_global_timeslice(struct gk20a *g, | 750 | int gr_gk20a_commit_global_timeslice(struct gk20a *g, struct channel_gk20a *c); |
749 | struct channel_gk20a *c, bool patch); | ||
750 | 751 | ||
751 | void gr_gk20a_init_sm_id_table(struct gk20a *g); | 752 | void gr_gk20a_init_sm_id_table(struct gk20a *g); |
752 | 753 | ||