From 2b48263b1f2757cda9690a5959853f72295c96de Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 12 May 2014 13:38:49 +0300 Subject: gpu: nvgpu: Do not realloc perfmon sample buffer Allocate perfmon sample buffer only once. Bug 1512840 Change-Id: I3f2a62b0fa28e6ba984ae3068a1d56ba461a0c29 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/408180 Reviewed-by: Thomas Cherry Tested-by: Thomas Cherry --- drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 9b8602c5..c12496bb 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c @@ -2156,7 +2156,7 @@ static int pmu_init_perfmon(struct pmu_gk20a *pmu) struct pmu_payload payload; u32 seq; u32 data; - int err; + int err = 0; gk20a_dbg_fn(""); @@ -2206,8 +2206,9 @@ static int pmu_init_perfmon(struct pmu_gk20a *pmu) pwr_pmu_idle_ctrl_filter_disabled_f()); gk20a_writel(g, pwr_pmu_idle_ctrl_r(2), data); - pmu->sample_buffer = 0; - err = pmu->dmem.alloc(&pmu->dmem, &pmu->sample_buffer, 2 * sizeof(u16)); + if (!pmu->sample_buffer) + err = pmu->dmem.alloc(&pmu->dmem, + &pmu->sample_buffer, 2 * sizeof(u16)); if (err) { gk20a_err(dev_from_gk20a(g), "failed to allocate perfmon sample buffer"); -- cgit v1.2.2