diff options
author | seshendra Gadagottu <sgadagottu@nvidia.com> | 2017-01-13 16:22:51 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-01-20 13:54:17 -0500 |
commit | 8b4aadaaddce14bcf4109dd9f835993865c60b3b (patch) | |
tree | 9d4971aa13981363223adacdd8a1a51d687b6587 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | d0e3e668854d992f615406e461173a3cee114294 (diff) |
gpu: nvgpu: restore golden context without bind
Copy and restore golden context correctly with
context header. Removed parallel fecs bind method,
which can cause issues for context in execution.
Also added function pointer to freeing context
header during channel context free.
Bug 1834201
Change-Id: I7962d68338d5144f624375ab81436e86cb31051e
Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: http://git-master/r/1275201
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 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 1dd42dc2..18e99d6f 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -332,6 +332,7 @@ struct gpu_ops { | |||
332 | int (*commit_global_timeslice)(struct gk20a *g, | 332 | int (*commit_global_timeslice)(struct gk20a *g, |
333 | struct channel_gk20a *c, bool patch); | 333 | struct channel_gk20a *c, bool patch); |
334 | int (*commit_inst)(struct channel_gk20a *c, u64 gpu_va); | 334 | int (*commit_inst)(struct channel_gk20a *c, u64 gpu_va); |
335 | void (*restore_context_header)(struct gk20a *g, struct mem_desc *ctxheader); | ||
335 | } gr; | 336 | } gr; |
336 | const char *name; | 337 | const char *name; |
337 | struct { | 338 | struct { |
@@ -420,6 +421,7 @@ struct gpu_ops { | |||
420 | u32 *runlist); | 421 | u32 *runlist); |
421 | u32 (*userd_gp_get)(struct gk20a *g, struct channel_gk20a *ch); | 422 | u32 (*userd_gp_get)(struct gk20a *g, struct channel_gk20a *ch); |
422 | void (*userd_gp_put)(struct gk20a *g, struct channel_gk20a *ch); | 423 | void (*userd_gp_put)(struct gk20a *g, struct channel_gk20a *ch); |
424 | void (*free_channel_ctx_header)(struct channel_gk20a *ch); | ||
423 | } fifo; | 425 | } fifo; |
424 | struct pmu_v { | 426 | struct pmu_v { |
425 | /*used for change of enum zbc update cmd id from ver 0 to ver1*/ | 427 | /*used for change of enum zbc update cmd id from ver 0 to ver1*/ |