diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2014-06-26 07:50:34 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:10:18 -0400 |
commit | 85b47f66c7a8bfcf53d1e0dd5874295d8e6d8e2a (patch) | |
tree | 2839f755ac7a8c5443754c6c54c7748f02f91c84 /drivers/gpu | |
parent | e3cb85a78d543d4c6a62352a6d80d6bbb1dd5bb5 (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')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 13 |
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"); |