diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index 56ad0c2a..54b2eef4 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | |||
@@ -2421,11 +2421,10 @@ static int gk20a_init_pmu_reset_enable_hw(struct gk20a *g) | |||
2421 | static int gk20a_prepare_ucode(struct gk20a *g) | 2421 | static int gk20a_prepare_ucode(struct gk20a *g) |
2422 | { | 2422 | { |
2423 | struct pmu_gk20a *pmu = &g->pmu; | 2423 | struct pmu_gk20a *pmu = &g->pmu; |
2424 | int i, err = 0; | 2424 | int err = 0; |
2425 | struct device *d = dev_from_gk20a(g); | 2425 | struct device *d = dev_from_gk20a(g); |
2426 | struct mm_gk20a *mm = &g->mm; | 2426 | struct mm_gk20a *mm = &g->mm; |
2427 | struct vm_gk20a *vm = &mm->pmu.vm; | 2427 | struct vm_gk20a *vm = &mm->pmu.vm; |
2428 | void *ucode_ptr; | ||
2429 | 2428 | ||
2430 | if (g->pmu_fw) { | 2429 | if (g->pmu_fw) { |
2431 | gk20a_init_pmu(pmu); | 2430 | gk20a_init_pmu(pmu); |
@@ -2449,11 +2448,8 @@ static int gk20a_prepare_ucode(struct gk20a *g) | |||
2449 | if (err) | 2448 | if (err) |
2450 | goto err_release_fw; | 2449 | goto err_release_fw; |
2451 | 2450 | ||
2452 | ucode_ptr = pmu->ucode.cpu_va; | 2451 | gk20a_mem_wr_n(g, &pmu->ucode, 0, pmu->ucode_image, |
2453 | 2452 | pmu->desc->app_start_offset + pmu->desc->app_size); | |
2454 | for (i = 0; i < (pmu->desc->app_start_offset + | ||
2455 | pmu->desc->app_size) >> 2; i++) | ||
2456 | gk20a_mem_wr32(ucode_ptr, i, pmu->ucode_image[i]); | ||
2457 | 2453 | ||
2458 | gk20a_init_pmu(pmu); | 2454 | gk20a_init_pmu(pmu); |
2459 | 2455 | ||