diff options
Diffstat (limited to 'drivers/gpu/nvgpu/lpwr')
-rw-r--r-- | drivers/gpu/nvgpu/lpwr/lpwr.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/gpu/nvgpu/lpwr/lpwr.c b/drivers/gpu/nvgpu/lpwr/lpwr.c index c80ddee0..b1189590 100644 --- a/drivers/gpu/nvgpu/lpwr/lpwr.c +++ b/drivers/gpu/nvgpu/lpwr/lpwr.c | |||
@@ -352,11 +352,8 @@ int nvgpu_lpwr_enable_pg(struct gk20a *g, bool pstate_lock) | |||
352 | is_mscg_supported = nvgpu_lpwr_is_mscg_supported(g, | 352 | is_mscg_supported = nvgpu_lpwr_is_mscg_supported(g, |
353 | present_pstate); | 353 | present_pstate); |
354 | if (is_mscg_supported && g->mscg_enabled) { | 354 | if (is_mscg_supported && g->mscg_enabled) { |
355 | if (!ACCESS_ONCE(pmu->mscg_stat)) { | 355 | if (!pmu->mscg_stat) |
356 | WRITE_ONCE(pmu->mscg_stat, PMU_MSCG_ENABLED); | 356 | pmu->mscg_stat = PMU_MSCG_ENABLED; |
357 | /* make status visible */ | ||
358 | smp_mb(); | ||
359 | } | ||
360 | } | 357 | } |
361 | 358 | ||
362 | is_rppg_supported = nvgpu_lpwr_is_rppg_supported(g, | 359 | is_rppg_supported = nvgpu_lpwr_is_rppg_supported(g, |
@@ -402,11 +399,8 @@ int nvgpu_lpwr_disable_pg(struct gk20a *g, bool pstate_lock) | |||
402 | is_mscg_supported = nvgpu_lpwr_is_mscg_supported(g, | 399 | is_mscg_supported = nvgpu_lpwr_is_mscg_supported(g, |
403 | present_pstate); | 400 | present_pstate); |
404 | if (is_mscg_supported && g->mscg_enabled) { | 401 | if (is_mscg_supported && g->mscg_enabled) { |
405 | if (ACCESS_ONCE(pmu->mscg_stat)) { | 402 | if (pmu->mscg_stat) |
406 | WRITE_ONCE(pmu->mscg_stat, PMU_MSCG_DISABLED); | 403 | pmu->mscg_stat = PMU_MSCG_DISABLED; |
407 | /* make status visible */ | ||
408 | smp_mb(); | ||
409 | } | ||
410 | } | 404 | } |
411 | 405 | ||
412 | exit_unlock: | 406 | exit_unlock: |