diff options
author | Peter Daifuku <pdaifuku@nvidia.com> | 2017-04-06 19:39:30 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-19 18:44:12 -0400 |
commit | 0d8f5f3fdb87b818b6239efaf91822c01cb3d859 (patch) | |
tree | 29a00ecfe46c35b853da0a9c5846f33f53461f3e /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 6df49a63ca5f9d77a6d7d6c7dbaaa0fba1b707ca (diff) |
gpu: nvgpu: ModeE perfbuffer feature development
perfbuf mapping fixes:
- Allocate VM specifically for perfbuf use: using the PMU's
results in mmu faults for larger buffers where 64k pages are used.
- Make 4GB boundary check work for large address spaces
- remove requirement to have allow_all flag set
- track perfbuf ownership and clean up appropriately
Bug 1880196
JIRA EVLR-1074
Change-Id: Ieee4eb17b64acf9b6ede37bf8e6a91892cda4a7e
Signed-off-by: Peter Daifuku <pdaifuku@nvidia.com>
Reviewed-on: http://git-master/r/1460809
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 76251000..2f25e406 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -1027,6 +1027,12 @@ struct gk20a { | |||
1027 | struct nvgpu_dbg_gpu_reg_op *dbg_regops_tmp_buf; | 1027 | struct nvgpu_dbg_gpu_reg_op *dbg_regops_tmp_buf; |
1028 | u32 dbg_regops_tmp_buf_ops; | 1028 | u32 dbg_regops_tmp_buf_ops; |
1029 | 1029 | ||
1030 | /* For perfbuf mapping */ | ||
1031 | struct { | ||
1032 | struct dbg_session_gk20a *owner; | ||
1033 | u64 offset; | ||
1034 | } perfbuf; | ||
1035 | |||
1030 | /* For profiler reservations */ | 1036 | /* For profiler reservations */ |
1031 | struct nvgpu_list_node profiler_objects; | 1037 | struct nvgpu_list_node profiler_objects; |
1032 | bool global_profiler_reservation_held; | 1038 | bool global_profiler_reservation_held; |