From 3daeac112bee905632f0a07efdca2e532ef34da7 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 9 Jun 2016 09:46:06 -0700 Subject: Revert "gpu: nvgpu: take power refcount in ISR" This reverts commit 2219f38727ffa17291e15c1898bd3e65f43d09fd. It leaves GPU in on state for some tests that require powering down GPU. Change-Id: I79d44fed729e98692021c57bbeff6a0ef2e8c983 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1161846 --- drivers/gpu/nvgpu/gk20a/gk20a.c | 41 ++++------------------------------------- drivers/gpu/nvgpu/gk20a/gk20a.h | 1 - 2 files changed, 4 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 714b494f..d21d0527 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -545,29 +545,15 @@ int gk20a_sim_esc_read(struct gk20a *g, char *path, u32 index, u32 count, u32 *d static irqreturn_t gk20a_intr_isr_stall(int irq, void *dev_id) { struct gk20a *g = dev_id; - irqreturn_t ret; - ret = g->ops.mc.isr_stall(g); - if (ret == IRQ_WAKE_THREAD) { - /* balanced in gk20a_intr_thread_stall() */ - gk20a_busy_noresume(g->dev); - } - - return ret; + return g->ops.mc.isr_stall(g); } static irqreturn_t gk20a_intr_isr_nonstall(int irq, void *dev_id) { struct gk20a *g = dev_id; - irqreturn_t ret; - - ret = g->ops.mc.isr_nonstall(g); - if (ret == IRQ_WAKE_THREAD) { - /* balanced in gk20a_intr_thread_nonstall() */ - gk20a_busy_noresume(g->dev); - } - return ret; + return g->ops.mc.isr_nonstall(g); } void gk20a_pbus_isr(struct gk20a *g) @@ -607,27 +593,13 @@ void gk20a_pbus_isr(struct gk20a *g) static irqreturn_t gk20a_intr_thread_stall(int irq, void *dev_id) { struct gk20a *g = dev_id; - irqreturn_t ret; - - ret = g->ops.mc.isr_thread_stall(g); - - /* refcount taken in gk20a_intr_isr_stall() */ - gk20a_idle_nosuspend(g->dev); - - return ret; + return g->ops.mc.isr_thread_stall(g); } static irqreturn_t gk20a_intr_thread_nonstall(int irq, void *dev_id) { struct gk20a *g = dev_id; - irqreturn_t ret; - - ret = g->ops.mc.isr_thread_nonstall(g); - - /* refcount taken in gk20a_intr_isr_nonstall() */ - gk20a_idle_nosuspend(g->dev); - - return ret; + return g->ops.mc.isr_thread_nonstall(g); } void gk20a_remove_support(struct device *dev) @@ -1870,11 +1842,6 @@ fail: return ret < 0 ? ret : 0; } -void gk20a_idle_nosuspend(struct device *dev) -{ - pm_runtime_put_noidle(dev); -} - void gk20a_idle(struct device *dev) { #ifdef CONFIG_PM diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 6622dad0..1c129743 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h @@ -1061,7 +1061,6 @@ void gk20a_remove_sysfs(struct device *dev); void gk20a_busy_noresume(struct device *dev); int __must_check gk20a_busy(struct device *dev); -void gk20a_idle_nosuspend(struct device *dev); void gk20a_idle(struct device *dev); void gk20a_disable(struct gk20a *g, u32 units); void gk20a_enable(struct gk20a *g, u32 units); -- cgit v1.2.2