diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/module.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/module.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c index 4f7fc3fa..34a0ded6 100644 --- a/drivers/gpu/nvgpu/common/linux/module.c +++ b/drivers/gpu/nvgpu/common/linux/module.c | |||
@@ -162,6 +162,13 @@ int gk20a_pm_finalize_poweron(struct device *dev) | |||
162 | nice_value = task_nice(current); | 162 | nice_value = task_nice(current); |
163 | set_user_nice(current, -20); | 163 | set_user_nice(current, -20); |
164 | 164 | ||
165 | /* Enable interrupt workqueue */ | ||
166 | if (!g->nonstall_work_queue) { | ||
167 | g->nonstall_work_queue = alloc_workqueue("%s", | ||
168 | WQ_HIGHPRI, 1, "mc_nonstall"); | ||
169 | INIT_WORK(&g->nonstall_fn_work, nvgpu_intr_nonstall_cb); | ||
170 | } | ||
171 | |||
165 | err = gk20a_finalize_poweron(g); | 172 | err = gk20a_finalize_poweron(g); |
166 | set_user_nice(current, nice_value); | 173 | set_user_nice(current, nice_value); |
167 | if (err) | 174 | if (err) |
@@ -492,7 +499,7 @@ static irqreturn_t gk20a_intr_isr_nonstall(int irq, void *dev_id) | |||
492 | { | 499 | { |
493 | struct gk20a *g = dev_id; | 500 | struct gk20a *g = dev_id; |
494 | 501 | ||
495 | return g->ops.mc.isr_nonstall(g); | 502 | return nvgpu_intr_nonstall(g); |
496 | } | 503 | } |
497 | 504 | ||
498 | static irqreturn_t gk20a_intr_thread_stall(int irq, void *dev_id) | 505 | static irqreturn_t gk20a_intr_thread_stall(int irq, void *dev_id) |