]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
Revert "gpu: nvpgu: disable all engine activity during poweroff"
authorDeepak Nibade <dnibade@nvidia.com>
Wed, 27 Apr 2016 11:53:28 +0000 (17:23 +0530)
committermobile promotions <svcmobile_promotions@nvidia.com>
Tue, 3 May 2016 02:29:16 +0000 (19:29 -0700)
This reverts commit f5b13bda8fc76f55e7312f4edb899efb2ab8a195.

WFI added with this patch times out sometimes and fails
graphics stability test
Hence revert the patch for now

Bug 200187904
Original Bug 1715732

Change-Id: Id8c936d38d2ffd60e79e6d637d1c3eda10104d4b
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1134920
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
drivers/gpu/nvgpu/gk20a/gk20a.c
drivers/gpu/nvgpu/gk20a/gr_gk20a.c
drivers/gpu/nvgpu/gk20a/gr_gk20a.h
drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h
drivers/gpu/nvgpu/gm20b/hw_gr_gm20b.h

index 86a92d249602fea706b127c8c19226b1244ffb4f..7bd98f57d763d1ce89f42338c47680b40fcd0249 100644 (file)
@@ -1970,9 +1970,6 @@ int gk20a_fifo_disable_engine_activity(struct gk20a *g,
                                eng_info->runlist_id));
        gk20a_writel(g, fifo_sched_disable_r(), disable);
 
-       if (eng_info->engine_id == ENGINE_GR_GK20A)
-               gr_gk20a_submit_fecs_method_wfi(g);
-
        /* chid from pbdma status */
        pbdma_stat = gk20a_readl(g, fifo_pbdma_status_r(eng_info->pbdma_id));
        chan_stat  = fifo_pbdma_status_chan_status_v(pbdma_stat);
index db813853ec249de00d28e0805f0a511bcde5e76a..b86feb7316cd7b8387817ddf7ab7831ab860c595 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * GK20A Graphics
  *
- * Copyright (c) 2011-2016, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2011-2015, NVIDIA CORPORATION.  All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -684,10 +684,6 @@ static int gk20a_pm_prepare_poweroff(struct device *dev)
 
        gk20a_scale_suspend(pdev);
 
-       ret = gk20a_fifo_disable_all_engine_activity(g, true);
-       if (ret)
-               return ret;
-
        ret = gk20a_channel_suspend(g);
        if (ret)
                goto done;
index c67443eaf1dc024e4bdf8d867d6bb81e9993cb07..c3c1e9a9e1429958cc32dd898b2c1851f6ed4b4d 100644 (file)
@@ -514,29 +514,6 @@ int gr_gk20a_submit_fecs_method_op(struct gk20a *g,
        return ret;
 }
 
-int gr_gk20a_submit_fecs_method_wfi(struct gk20a *g)
-{
-       u32 cur_ctx;
-
-       cur_ctx = gk20a_readl(g, gr_fecs_current_ctx_r());
-
-       if (gr_fecs_current_ctx_valid_v(cur_ctx))
-               gr_gk20a_submit_fecs_method_op(g,
-                          (struct fecs_method_op_gk20a) {
-                                  .mailbox.id = 0,
-                                  .mailbox.data = 0,
-                                  .mailbox.clr = ~0,
-                                  .method.data = cur_ctx,
-                                  .method.addr = gr_fecs_method_push_adr_wfi_v(),
-                                  .mailbox.ret = NULL,
-                                  .cond.ok = GR_IS_UCODE_OP_EQUAL,
-                                  .mailbox.ok = 0x5,
-                                  .cond.fail = GR_IS_UCODE_OP_EQUAL,
-                                  .mailbox.fail = 0xA}, false);
-
-       return 0;
-}
-
 static int gr_gk20a_ctrl_ctxsw(struct gk20a *g, u32 fecs_method, u32 *ret)
 {
        return gr_gk20a_submit_fecs_method_op(g,
index 131701cdc046118287ab0f839e4c191fc0609315..257dfb84903fc436e1ee5a9134663d024e0d3786 100644 (file)
@@ -519,7 +519,6 @@ int gr_gk20a_alloc_gr_ctx(struct gk20a *g,
 void gr_gk20a_free_gr_ctx(struct gk20a *g,
                          struct vm_gk20a *vm, struct gr_ctx_desc *gr_ctx);
 int gr_gk20a_halt_pipe(struct gk20a *g);
-int gr_gk20a_submit_fecs_method_wfi(struct gk20a *g);
 int gr_gk20a_debugfs_init(struct gk20a *g);
 
 #if defined(CONFIG_GK20A_CYCLE_STATS)
index 95bf0f693baccb31af29027895bcf021af5b5df6..2d63147ace9b8e6d0de996deaac06b601b4c77bc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2016, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2014-2015, NVIDIA CORPORATION.  All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -870,10 +870,6 @@ static inline u32 gr_fecs_method_push_adr_wfi_golden_save_v(void)
 {
        return 0x00000009;
 }
-static inline u32 gr_fecs_method_push_adr_wfi_v(void)
-{
-       return 0x0000000b;
-}
 static inline u32 gr_fecs_method_push_adr_restore_golden_v(void)
 {
        return 0x00000015;
index 0a2013b4d18d1c05fe11c7949dac24b703f76a02..bc1edfef6e82d2fa2aadb32cdb5da411a647f54f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2016, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2014-2015, NVIDIA CORPORATION.  All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -882,10 +882,6 @@ static inline u32 gr_fecs_method_push_adr_wfi_golden_save_v(void)
 {
        return 0x00000009;
 }
-static inline u32 gr_fecs_method_push_adr_wfi_v(void)
-{
-       return 0x0000000b;
-}
 static inline u32 gr_fecs_method_push_adr_restore_golden_v(void)
 {
        return 0x00000015;