From 85b47f66c7a8bfcf53d1e0dd5874295d8e6d8e2a Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 26 Jun 2014 14:50:34 +0300 Subject: 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 Reviewed-on: http://git-master/r/428897 Reviewed-by: Shridhar Rasal --- drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c') 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) void *ucode_ptr; DEFINE_DMA_ATTRS(attrs); + if (g->pmu_fw) { + gk20a_init_pmu(pmu); + return 0; + } + + g->pmu_fw = gk20a_request_firmware(g, GK20A_PMU_UCODE_IMAGE); if (!g->pmu_fw) { - g->pmu_fw = gk20a_request_firmware(g, GK20A_PMU_UCODE_IMAGE); - if (!g->pmu_fw) { - gk20a_err(d, "failed to load pmu ucode!!"); - return err; - } + gk20a_err(d, "failed to load pmu ucode!!"); + return err; } gk20a_dbg_fn("firmware loaded"); -- cgit v1.2.2