From adf4b33c3b438638853c63b5f076d1a2b2176c90 Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Fri, 22 Sep 2017 11:16:14 +0530 Subject: gpu: nvgpu: nvgpu_pmu_disable_elpg() status check - Added status check for nvgpu_pmu_disable_elpg() return value & prints error information upon failure. - Below CID's are due to missing status check of function nvgpu_pmu_disable_elpg() return value, so this CL helps to fix it 2624546 2624547 2624548 Bug 200291879 Change-Id: I263fc6bc9e2667af478bfd7160fe205167556f99 Signed-off-by: Mahantesh Kumbar Reviewed-on: https://git-master.nvidia.com/r/1565998 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity GVS: Gerrit_Virtual_Submit Reviewed-by: svccoveritychecker Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/common/pmu/pmu.c | 3 ++- drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/common/pmu/pmu.c b/drivers/gpu/nvgpu/common/pmu/pmu.c index 1a9061e8..f0df6e14 100644 --- a/drivers/gpu/nvgpu/common/pmu/pmu.c +++ b/drivers/gpu/nvgpu/common/pmu/pmu.c @@ -499,7 +499,8 @@ int nvgpu_pmu_destroy(struct gk20a *g) nvgpu_pmu_get_pg_stats(g, PMU_PG_ELPG_ENGINE_ID_GRAPHICS, &pg_stat_data); - nvgpu_pmu_disable_elpg(g); + if (nvgpu_pmu_disable_elpg(g)) + nvgpu_err(g, "failed to set disable elpg"); pmu->initialized = false; /* update the s/w ELPG residency counters */ diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index ed8e98b9..7fc773f8 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c @@ -1209,8 +1209,10 @@ void gk20a_fifo_reset_engine(struct gk20a *g, u32 engine_id) nvgpu_err(g, "unsupported engine_id %d", engine_id); if (engine_enum == ENGINE_GR_GK20A) { - if (g->support_pmu && g->can_elpg) - nvgpu_pmu_disable_elpg(g); + if (g->support_pmu && g->can_elpg) { + if (nvgpu_pmu_disable_elpg(g)) + nvgpu_err(g, "failed to set disable elpg"); + } /* resetting engine will alter read/write index. * need to flush circular buffer before re-enabling FECS. */ @@ -1457,8 +1459,10 @@ static bool gk20a_fifo_handle_mmu_fault( g->fifo.deferred_reset_pending = false; /* Disable power management */ - if (g->support_pmu && g->can_elpg) - nvgpu_pmu_disable_elpg(g); + if (g->support_pmu && g->can_elpg) { + if (nvgpu_pmu_disable_elpg(g)) + nvgpu_err(g, "failed to set disable elpg"); + } if (g->ops.clock_gating.slcg_gr_load_gating_prod) g->ops.clock_gating.slcg_gr_load_gating_prod(g, false); -- cgit v1.2.2