summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2015-11-02 09:26:54 -0500
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-03-03 17:22:34 -0500
commit4331166afd7b9969cfbd74847f5961464c970a06 (patch)
tree821f33833fc32e11700f73f97cb43d618b208463 /drivers/gpu/nvgpu/gk20a/gk20a.c
parent640cb6642fdb0ad5a4039aacf6c46e1ac30537a3 (diff)
gpu: nvgpu: disable ELPG while accessing gr_gpcs_tpcs_sm_sch_macro_sched_r
bug 200139995 Any GR register access should disable ELPG and clock gating before access and enable it back after it is done. Disable ELPG while tweaking perf parameters in gk20a_alloc_obj_ctx. Also output NV_PBUS_INTR_0 in case of interrupt (including fix to display correct value on pbus isr). Change-Id: I81d2eb4461e92fbb33db8554779f6566f6b002c1 Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: http://git-master/r/835307 (cherry picked from commit 6acc35bd1bcc706fbde8d11521cf1d0f64a16fe4) Reviewed-on: http://git-master/r/921299 (cherry picked from commit 73afd520445bb1f4757fd167b38289143fd46d80) Reviewed-on: http://git-master/r/930040 (cherry picked from commit 7a784ebea0dd60a88469f51eaa61c33b356e499c) Reviewed-on: http://git-master/r/1023529 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 54010a8e..fa2c61e1 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -552,6 +552,7 @@ void gk20a_pbus_isr(struct gk20a *g)
552 bus_intr_0_pri_timeout_m())) { 552 bus_intr_0_pri_timeout_m())) {
553 gk20a_err(dev_from_gk20a(g), "pmc_enable : 0x%x", 553 gk20a_err(dev_from_gk20a(g), "pmc_enable : 0x%x",
554 gk20a_readl(g, mc_enable_r())); 554 gk20a_readl(g, mc_enable_r()));
555 gk20a_err(dev_from_gk20a(g), "NV_PBUS_INTR_0 : 0x%x", val);
555 gk20a_err(&g->dev->dev, 556 gk20a_err(&g->dev->dev,
556 "NV_PTIMER_PRI_TIMEOUT_SAVE_0: 0x%x\n", 557 "NV_PTIMER_PRI_TIMEOUT_SAVE_0: 0x%x\n",
557 gk20a_readl(g, timer_pri_timeout_save_0_r())); 558 gk20a_readl(g, timer_pri_timeout_save_0_r()));