summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-06-26 07:50:34 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:18 -0400
commit85b47f66c7a8bfcf53d1e0dd5874295d8e6d8e2a (patch)
tree2839f755ac7a8c5443754c6c54c7748f02f91c84 /drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
parente3cb85a78d543d4c6a62352a6d80d6bbb1dd5bb5 (diff)
gpu: nvgpu: Initialize PMU ucode only once
Initialize PMU ucode only once, and skip on next GPU boot. Bug 1528275 Change-Id: Ifb95edb380518fae48fdc3b90b00b450fe30c439 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/428897 Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
index de16e403..45087094 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
@@ -1542,12 +1542,15 @@ static int gk20a_prepare_ucode(struct gk20a *g)
1542 void *ucode_ptr; 1542 void *ucode_ptr;
1543 DEFINE_DMA_ATTRS(attrs); 1543 DEFINE_DMA_ATTRS(attrs);
1544 1544
1545 if (g->pmu_fw) {
1546 gk20a_init_pmu(pmu);
1547 return 0;
1548 }
1549
1550 g->pmu_fw = gk20a_request_firmware(g, GK20A_PMU_UCODE_IMAGE);
1545 if (!g->pmu_fw) { 1551 if (!g->pmu_fw) {
1546 g->pmu_fw = gk20a_request_firmware(g, GK20A_PMU_UCODE_IMAGE); 1552 gk20a_err(d, "failed to load pmu ucode!!");
1547 if (!g->pmu_fw) { 1553 return err;
1548 gk20a_err(d, "failed to load pmu ucode!!");
1549 return err;
1550 }
1551 } 1554 }
1552 1555
1553 gk20a_dbg_fn("firmware loaded"); 1556 gk20a_dbg_fn("firmware loaded");