diff options
author | Aingara Paramakuru <aparamakuru@nvidia.com> | 2014-11-03 11:55:48 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:12:25 -0400 |
commit | 5bac50c04406dd88bd4aad285601067620c540d4 (patch) | |
tree | c6625bf96cf9d550d120c96e635286a3e9d771e6 /drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | |
parent | 36834282354de2760e54b1381e03e0fe8bc8b2a4 (diff) |
gpu: nvgpu: vgpu: debugger interface fixes
To run CUDA apps, the following minimal changes have been
made:
- power-gating is disabled for vgpu
- regop rd/wr returns -ENOSYS
Tools (debugger/profiler) support is known to not work and
not needed at this time.
Bug 200043227
Change-Id: I923caad78450e72d310fb9290cf2849ed5460ad5
Signed-off-by: Aingara Paramakuru <aparamakuru@nvidia.com>
Reviewed-on: http://git-master/r/592878
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c index bd24e269..72998280 100644 --- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | |||
@@ -90,6 +90,11 @@ static int gk20a_dbg_gpu_do_dev_open(struct inode *inode, | |||
90 | dbg_session->g = g; | 90 | dbg_session->g = g; |
91 | dbg_session->is_profiler = is_profiler; | 91 | dbg_session->is_profiler = is_profiler; |
92 | dbg_session->is_pg_disabled = false; | 92 | dbg_session->is_pg_disabled = false; |
93 | /* For vgpu, all power-gating features are currently disabled | ||
94 | * in the server. Set is_pg_disable to true to reflect this | ||
95 | * on the client side. */ | ||
96 | if (gk20a_gpu_is_virtual(pdev)) | ||
97 | dbg_session->is_pg_disabled = true; | ||
93 | 98 | ||
94 | INIT_LIST_HEAD(&dbg_session->dbg_s_list_node); | 99 | INIT_LIST_HEAD(&dbg_session->dbg_s_list_node); |
95 | init_waitqueue_head(&dbg_session->dbg_events.wait_queue); | 100 | init_waitqueue_head(&dbg_session->dbg_events.wait_queue); |
@@ -492,7 +497,8 @@ static int nvgpu_ioctl_channel_reg_ops(struct dbg_session_gk20a *dbg_s, | |||
492 | } | 497 | } |
493 | 498 | ||
494 | /* be sure that ctx info is in place */ | 499 | /* be sure that ctx info is in place */ |
495 | if (!gr_context_info_available(dbg_s, &g->gr)) { | 500 | if (!gk20a_gpu_is_virtual(dbg_s->pdev) && |
501 | !gr_context_info_available(dbg_s, &g->gr)) { | ||
496 | gk20a_err(dev, "gr context data not available\n"); | 502 | gk20a_err(dev, "gr context data not available\n"); |
497 | return -ENODEV; | 503 | return -ENODEV; |
498 | } | 504 | } |