diff options
author | Peter Daifuku <pdaifuku@nvidia.com> | 2017-08-15 18:42:39 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-08-16 21:14:41 -0400 |
commit | 49dc335cfe588179cbb42d8bab53bc76ba88b28f (patch) | |
tree | b4da6c4eacc66defe80232c362ba30256166234f /drivers/gpu/nvgpu/common/pmu/pmu_pg.c | |
parent | 61ef5a58744d22e65d3ad7c3a04a2521d0ccb6af (diff) |
gpu: nvgpu: fix pmu state change for dgpu boot
In pmu_handle_pg_elpg_msg, when processing ELPG_MSG_DISALLOW_ACK, if current
pmu state is ELPG_BOOTING and GR_POWER_GATING is not supported, make sure
nvgpu_pmu_state_change updates the state_change flag, since PMU is now fully
initialized. In particular, this fixes PMU boot for dgpu, which does not support
GR_POWER_GATING.
JIRA EVLR-1776
Change-Id: I2feb97b0fb8248e9cb7945ac3189877c21815a4a
Signed-off-by: Peter Daifuku <pdaifuku@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1539102
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Nirav Patel <nipatel@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/pmu/pmu_pg.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/pmu/pmu_pg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/pmu/pmu_pg.c b/drivers/gpu/nvgpu/common/pmu/pmu_pg.c index ca74f243..935ae95a 100644 --- a/drivers/gpu/nvgpu/common/pmu/pmu_pg.c +++ b/drivers/gpu/nvgpu/common/pmu/pmu_pg.c | |||
@@ -81,7 +81,7 @@ static void pmu_handle_pg_elpg_msg(struct gk20a *g, struct pmu_msg *msg, | |||
81 | PMU_PG_FEATURE_GR_POWER_GATING_ENABLED) { | 81 | PMU_PG_FEATURE_GR_POWER_GATING_ENABLED) { |
82 | pmu->initialized = true; | 82 | pmu->initialized = true; |
83 | nvgpu_pmu_state_change(g, PMU_STATE_STARTED, | 83 | nvgpu_pmu_state_change(g, PMU_STATE_STARTED, |
84 | false); | 84 | true); |
85 | WRITE_ONCE(pmu->mscg_stat, PMU_MSCG_DISABLED); | 85 | WRITE_ONCE(pmu->mscg_stat, PMU_MSCG_DISABLED); |
86 | /* make status visible */ | 86 | /* make status visible */ |
87 | smp_mb(); | 87 | smp_mb(); |