summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/acr_gm20b.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-04-21 16:17:03 -0400
committerIshan Mittal <imittal@nvidia.com>2015-05-18 02:01:31 -0400
commit3090ace7937e38513c421426f1066836ef55877e (patch)
tree188c2712c23195cade1db25325d02a897e5814b2 /drivers/gpu/nvgpu/gm20b/acr_gm20b.h
parent539fc07012a606c7118b120c13e66fb05218daee (diff)
gpu: nvgpu: Do not leak ACR header
4b6f83704f054f5b21e05873fa5862c667a9992e tried to fix ACR related leak. It fell short, because the data structures related were local and thus the leak was not really fixed. This patch stores the ACR ucode blob in a global variable, which survives across rail gating. Change-Id: Iec3ac9d41156baa26048e079732568c0a95264f4 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/733732 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Alex Waterman <alexw@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/acr_gm20b.h')
-rw-r--r--drivers/gpu/nvgpu/gm20b/acr_gm20b.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.h b/drivers/gpu/nvgpu/gm20b/acr_gm20b.h
index 557acbc7..8970bf55 100644
--- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.h
+++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.h
@@ -259,7 +259,6 @@ struct lsfm_managed_ucode_img {
259struct ls_flcn_mgr { 259struct ls_flcn_mgr {
260 u16 managed_flcn_cnt; 260 u16 managed_flcn_cnt;
261 u32 wpr_size; 261 u32 wpr_size;
262 struct mem_desc mem;
263 u32 disable_mask; 262 u32 disable_mask;
264 struct lsfm_managed_ucode_img *ucode_img_list; 263 struct lsfm_managed_ucode_img *ucode_img_list;
265 void *wpr_client_req_state;/*PACR_CLIENT_REQUEST_STATE originally*/ 264 void *wpr_client_req_state;/*PACR_CLIENT_REQUEST_STATE originally*/
@@ -373,8 +372,7 @@ struct acr_fw_header {
373}; 372};
374 373
375struct acr_gm20b { 374struct acr_gm20b {
376 u64 ucode_blob_start; 375 struct mem_desc ucode_blob;
377 u32 ucode_blob_size;
378 struct bin_hdr *bl_bin_hdr; 376 struct bin_hdr *bl_bin_hdr;
379 struct hsflcn_bl_desc *pmu_hsbl_desc; 377 struct hsflcn_bl_desc *pmu_hsbl_desc;
380 struct bin_hdr *hsbin_hdr; 378 struct bin_hdr *hsbin_hdr;