Skip to content

Commit

Permalink
Revert "Revert "drm/nouveau: pmu: Change the init value of elpg_disab…
Browse files Browse the repository at this point in the history
…le_depth to 1""

This reverts commit 41b5f71.

Nouveau ELPG appears to be causing hangs at reboot time.  Disable it for
now until the root cause is found.

BUG=b:26544917
TEST=reboot-cycle.sh on Smaug.

Change-Id: Ie682aceeb62af98392180d41208a1aa905700651
Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Reviewed-on: https://chrome-internal-review.googlesource.com/246296
Reviewed-by: David Riley <davidriley@google.com>
Commit-Queue: Andrew Bresticker <abrestic@google.com>
Tested-by: Andrew Bresticker <abrestic@google.com>
  • Loading branch information
Andrew Bresticker authored and Andrew Bresticker committed Jan 27, 2016
1 parent c069776 commit dac6ee4
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
10 changes: 5 additions & 5 deletions drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c
Original file line number Diff line number Diff line change
Expand Up @@ -3182,7 +3182,11 @@ gk20a_pmu_init(struct nvkm_object *object)
nvkm_timer_alarm(priv, PMU_DVFS_INTERVAL, &priv->alarm);

mutex_lock(&priv->elpg_mutex);
priv->elpg_disable_depth = 0;
/*
* ELPG will be enabled when PMU finishes booting, so setting the
* counter to 1 initialy.
*/
priv->elpg_disable_depth = 1;
mutex_unlock(&priv->elpg_mutex);

mutex_lock(&priv->clk_gating_mutex);
Expand All @@ -3204,10 +3208,6 @@ gk20a_pmu_fini(struct nvkm_object *object, bool suspend)
cancel_work_sync(&priv->base.recv.work);
cancel_work_sync(&priv->pg_init);

mutex_lock(&priv->elpg_mutex);
priv->elpg_disable_depth = 0;
mutex_unlock(&priv->elpg_mutex);

mutex_lock(&priv->clk_gating_mutex);
priv->clk_gating_disable_depth = 0;
mutex_unlock(&priv->clk_gating_mutex);
Expand Down
9 changes: 5 additions & 4 deletions drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
Original file line number Diff line number Diff line change
Expand Up @@ -2613,9 +2613,6 @@ gm20b_pmu_fini(struct nvkm_object *object, bool suspend)
gk20a_pmu_enable(priv, pmc, false);
priv->isr_enabled = false;
mutex_unlock(&priv->isr_mutex);
mutex_lock(&priv->elpg_mutex);
priv->elpg_disable_depth = 0;
mutex_unlock(&priv->elpg_mutex);
priv->pmu_state = PMU_STATE_OFF;
mutex_lock(&priv->clk_gating_mutex);
priv->clk_gating_disable_depth = 0;
Expand Down Expand Up @@ -2694,7 +2691,11 @@ gm20b_pmu_init(struct nvkm_object *object) {
priv->pmu_setup_elpg = gm20b_pmu_setup_elpg;

mutex_lock(&priv->elpg_mutex);
priv->elpg_disable_depth = 0;
/*
* ELPG will be enabled when PMU finishes booting, so setting the
* counter to 1 initialy.
*/
priv->elpg_disable_depth = 1;
mutex_unlock(&priv->elpg_mutex);

mutex_lock(&priv->clk_gating_mutex);
Expand Down

0 comments on commit dac6ee4

Please sign in to comment.