summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common
diff options
context:
space:
mode:
authorPeter Daifuku <pdaifuku@nvidia.com>2017-08-15 18:42:39 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-16 21:14:41 -0400
commit49dc335cfe588179cbb42d8bab53bc76ba88b28f (patch)
treeb4da6c4eacc66defe80232c362ba30256166234f /drivers/gpu/nvgpu/common
parent61ef5a58744d22e65d3ad7c3a04a2521d0ccb6af (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')
-rw-r--r--drivers/gpu/nvgpu/common/pmu/pmu_pg.c2
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();