diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gp106')
-rw-r--r-- | drivers/gpu/nvgpu/gp106/pmu_gp106.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gp106/pmu_gp106.c b/drivers/gpu/nvgpu/gp106/pmu_gp106.c index 57ccd269..7662f4eb 100644 --- a/drivers/gpu/nvgpu/gp106/pmu_gp106.c +++ b/drivers/gpu/nvgpu/gp106/pmu_gp106.c | |||
@@ -64,11 +64,7 @@ static int gp106_pmu_enable_hw(struct nvgpu_pmu *pmu, bool enable) | |||
64 | 64 | ||
65 | /* wait for Scrubbing to complete */ | 65 | /* wait for Scrubbing to complete */ |
66 | do { | 66 | do { |
67 | u32 w = gk20a_readl(g, pwr_falcon_dmactl_r()) & | 67 | if (nvgpu_flcn_get_mem_scrubbing_status(pmu->flcn)) { |
68 | (pwr_falcon_dmactl_dmem_scrubbing_m() | | ||
69 | pwr_falcon_dmactl_imem_scrubbing_m()); | ||
70 | |||
71 | if (!w) { | ||
72 | gk20a_dbg_fn("done"); | 68 | gk20a_dbg_fn("done"); |
73 | return 0; | 69 | return 0; |
74 | } | 70 | } |
@@ -112,7 +108,7 @@ static int pmu_enable(struct nvgpu_pmu *pmu, bool enable) | |||
112 | /* TBD: post reset */ | 108 | /* TBD: post reset */ |
113 | 109 | ||
114 | /*idle the PMU and enable interrupts on the Falcon*/ | 110 | /*idle the PMU and enable interrupts on the Falcon*/ |
115 | err = pmu_idle(pmu); | 111 | err = nvgpu_flcn_wait_idle(pmu->flcn); |
116 | if (err) | 112 | if (err) |
117 | return err; | 113 | return err; |
118 | nvgpu_udelay(5); | 114 | nvgpu_udelay(5); |
@@ -130,7 +126,7 @@ int gp106_pmu_reset(struct gk20a *g) | |||
130 | 126 | ||
131 | gk20a_dbg_fn(""); | 127 | gk20a_dbg_fn(""); |
132 | 128 | ||
133 | err = pmu_idle(pmu); | 129 | err = nvgpu_flcn_wait_idle(pmu->flcn); |
134 | if (err) | 130 | if (err) |
135 | return err; | 131 | return err; |
136 | 132 | ||