diff options
author | Seema Khowala <seemaj@nvidia.com> | 2018-02-28 15:25:13 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-06 01:22:36 -0500 |
commit | 33d1e22230726a2176e72567a95bfceb6062a017 (patch) | |
tree | 05e5b1387df602500638382c123d22af7433d92b /drivers/gpu/nvgpu/common | |
parent | c2d01257d79e52a6f4e0ae4335df1b125284accf (diff) |
gpu: nvgpu: clean up memory leaks in gr init
This is to resolve memory leak after modifying
tpc_fs_mask sysfs which sets gr.sw_ready to false and
forces gr to re-initialize.
echo 1 > /sys/devices/gpu.0/force_idle
echo 5 > /sys/devices/gpu.0/tpc_fs_mask
echo 0 > /sys/devices/gpu.0/force_idle
Bug 200393029
Change-Id: I76299f53fc87823071c672ec682c3eb51f72f513
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1666018
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r-- | drivers/gpu/nvgpu/common/ltc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/ltc.c b/drivers/gpu/nvgpu/common/ltc.c index 006e2ed2..024c2e49 100644 --- a/drivers/gpu/nvgpu/common/ltc.c +++ b/drivers/gpu/nvgpu/common/ltc.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2017-2018, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * Permission is hereby granted, free of charge, to any person obtaining a | 4 | * Permission is hereby granted, free of charge, to any person obtaining a |
5 | * copy of this software and associated documentation files (the "Software"), | 5 | * copy of this software and associated documentation files (the "Software"), |
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | #include <nvgpu/ltc.h> | 23 | #include <nvgpu/ltc.h> |
24 | #include <nvgpu/dma.h> | 24 | #include <nvgpu/dma.h> |
25 | #include <nvgpu/nvgpu_mem.h> | ||
25 | 26 | ||
26 | #include "gk20a/gk20a.h" | 27 | #include "gk20a/gk20a.h" |
27 | #include "gk20a/gr_gk20a.h" | 28 | #include "gk20a/gr_gk20a.h" |
@@ -54,6 +55,9 @@ int nvgpu_ltc_alloc_cbc(struct gk20a *g, size_t compbit_backing_size) | |||
54 | struct gr_gk20a *gr = &g->gr; | 55 | struct gr_gk20a *gr = &g->gr; |
55 | unsigned long flags = 0; | 56 | unsigned long flags = 0; |
56 | 57 | ||
58 | if (nvgpu_mem_is_valid(&gr->compbit_store.mem)) | ||
59 | return 0; | ||
60 | |||
57 | if (!nvgpu_iommuable(g)) | 61 | if (!nvgpu_iommuable(g)) |
58 | flags = NVGPU_DMA_FORCE_CONTIGUOUS; | 62 | flags = NVGPU_DMA_FORCE_CONTIGUOUS; |
59 | 63 | ||