diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2016-06-08 19:32:52 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-28 13:00:07 -0400 |
commit | d150daf75e968d7878908e05767a4442d5f304bc (patch) | |
tree | 1be5aa74286f51837d6e897afea80b47166d9e8a /drivers | |
parent | 8b45a5e016438dc4f020959ab89390de5eb353ed (diff) |
gpu: nvgpu: add init_preemption_state gr method
This method is called when setting up gr
hardware. It is meant to adjust preemption
parameters.
Bug 1593548
Jira VFND-1894
Change-Id: I0f5aa3212bec3058a0493366bed6fe2a365c9542
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: http://git-master/r/1162625
(cherry picked from commit c2e6d12570af28b3aae087401d7f670df40d40bd)
Reviewed-on: http://git-master/r/1166987
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 9acaa007..5ab09ac3 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -126,6 +126,7 @@ struct gpu_ops { | |||
126 | } ce2; | 126 | } ce2; |
127 | struct { | 127 | struct { |
128 | int (*init_fs_state)(struct gk20a *g); | 128 | int (*init_fs_state)(struct gk20a *g); |
129 | int (*init_preemption_state)(struct gk20a *g); | ||
129 | void (*access_smpc_reg)(struct gk20a *g, u32 quad, u32 offset); | 130 | void (*access_smpc_reg)(struct gk20a *g, u32 quad, u32 offset); |
130 | void (*bundle_cb_defaults)(struct gk20a *g); | 131 | void (*bundle_cb_defaults)(struct gk20a *g); |
131 | void (*cb_size_default)(struct gk20a *g); | 132 | void (*cb_size_default)(struct gk20a *g); |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 0c64fcba..638f47f5 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -4587,6 +4587,12 @@ static int gk20a_init_gr_setup_hw(struct gk20a *g) | |||
4587 | if (err) | 4587 | if (err) |
4588 | goto out; | 4588 | goto out; |
4589 | 4589 | ||
4590 | if (g->ops.gr.init_preemption_state) { | ||
4591 | err = g->ops.gr.init_preemption_state(g); | ||
4592 | if (err) | ||
4593 | goto out; | ||
4594 | } | ||
4595 | |||
4590 | /* disable fe_go_idle */ | 4596 | /* disable fe_go_idle */ |
4591 | gk20a_writel(g, gr_fe_go_idle_timeout_r(), | 4597 | gk20a_writel(g, gr_fe_go_idle_timeout_r(), |
4592 | gr_fe_go_idle_timeout_count_disabled_f()); | 4598 | gr_fe_go_idle_timeout_count_disabled_f()); |