diff options
author | David Pu <dpu@nvidia.com> | 2016-06-18 05:01:11 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-22 15:41:57 -0400 |
commit | cfb067b6d7e28a1d202f6efe437c080f474d81dd (patch) | |
tree | f8b200918254b815b61ef091450ee53ae1b7c790 /drivers | |
parent | 344d665119964435583c12cbff8338037d82466c (diff) |
gpu: nvgpu: fix issue with CONFIG_DEBUG_FS=n
following compilation error are reported with CONFIG_DEBUG_FS=n:
pci.c:246:7: error: 'struct mm_gk20a' has no member named 'ltc_enabled'
pci.c:247:7: error: 'struct mm_gk20a' has no member named 'ltc_enabled_debug'
possible compilation error(reported sometime):
gk20a_allocator.c:1163:13: error: 'gk20a_alloc_debugfs_init' defined
but not used
fixed by adding '#ifdef CONFIG_DEBUG_FS' for debug only code.
following variables from gk20a.c are not initialized from
CONFIG_DEBUG_FS=n path, it will cause kernel oops when booting:
gk20a->mm.bypass_smmu = platform->bypass_smmu;
gk20a->mm.disable_bigpage = platform->disable_bigpage;
gk20a->mm.has_physical_mode = true;
fix it by move them out from '#ifdef CONFIG_DEBUG_FS' section.
Bug 1778001
Change-Id: Ic2da36b3f500882748ee46a5150903244b697761
Signed-off-by: David Pu <dpu@nvidia.com>
Reviewed-on: http://git-master/r/1167358
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 7 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a_allocator.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/pci.c | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index db77d40f..03e16913 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -1562,13 +1562,14 @@ static int gk20a_probe(struct platform_device *dev) | |||
1562 | 1562 | ||
1563 | gk20a_create_sysfs(&dev->dev); | 1563 | gk20a_create_sysfs(&dev->dev); |
1564 | 1564 | ||
1565 | gk20a->mm.bypass_smmu = platform->bypass_smmu; | ||
1566 | gk20a->mm.disable_bigpage = platform->disable_bigpage; | ||
1567 | gk20a->mm.has_physical_mode = true; | ||
1568 | |||
1565 | #ifdef CONFIG_DEBUG_FS | 1569 | #ifdef CONFIG_DEBUG_FS |
1566 | spin_lock_init(&gk20a->debugfs_lock); | 1570 | spin_lock_init(&gk20a->debugfs_lock); |
1567 | gk20a->mm.ltc_enabled = true; | 1571 | gk20a->mm.ltc_enabled = true; |
1568 | gk20a->mm.ltc_enabled_debug = true; | 1572 | gk20a->mm.ltc_enabled_debug = true; |
1569 | gk20a->mm.bypass_smmu = platform->bypass_smmu; | ||
1570 | gk20a->mm.disable_bigpage = platform->disable_bigpage; | ||
1571 | gk20a->mm.has_physical_mode = true; | ||
1572 | gk20a->debugfs_ltc_enabled = | 1573 | gk20a->debugfs_ltc_enabled = |
1573 | debugfs_create_bool("ltc_enabled", S_IRUGO|S_IWUSR, | 1574 | debugfs_create_bool("ltc_enabled", S_IRUGO|S_IWUSR, |
1574 | platform->debugfs, | 1575 | platform->debugfs, |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_allocator.c b/drivers/gpu/nvgpu/gk20a/gk20a_allocator.c index a7378956..2b351492 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_allocator.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_allocator.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * gk20a allocator | 2 | * gk20a allocator |
3 | * | 3 | * |
4 | * Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms and conditions of the GNU General Public License, | 7 | * under the terms and conditions of the GNU General Public License, |
@@ -1160,6 +1160,7 @@ static void balloc_init_alloc_debug(struct gk20a_allocator *a) | |||
1160 | a, &__alloc_fops); | 1160 | a, &__alloc_fops); |
1161 | } | 1161 | } |
1162 | 1162 | ||
1163 | #ifdef CONFIG_DEBUG_FS | ||
1163 | void gk20a_alloc_debugfs_init(struct platform_device *pdev) | 1164 | void gk20a_alloc_debugfs_init(struct platform_device *pdev) |
1164 | { | 1165 | { |
1165 | struct gk20a_platform *platform = platform_get_drvdata(pdev); | 1166 | struct gk20a_platform *platform = platform_get_drvdata(pdev); |
@@ -1172,3 +1173,4 @@ void gk20a_alloc_debugfs_init(struct platform_device *pdev) | |||
1172 | debugfs_create_u32("tracing", 0664, balloc_debugfs_root, | 1173 | debugfs_create_u32("tracing", 0664, balloc_debugfs_root, |
1173 | &balloc_tracing_on); | 1174 | &balloc_tracing_on); |
1174 | } | 1175 | } |
1176 | #endif | ||
diff --git a/drivers/gpu/nvgpu/pci.c b/drivers/gpu/nvgpu/pci.c index a899c0cf..01c7a2dc 100644 --- a/drivers/gpu/nvgpu/pci.c +++ b/drivers/gpu/nvgpu/pci.c | |||
@@ -243,8 +243,10 @@ static int nvgpu_pci_probe(struct pci_dev *pdev, | |||
243 | 243 | ||
244 | g->mm.has_physical_mode = false; | 244 | g->mm.has_physical_mode = false; |
245 | g->mm.vidmem_is_vidmem = true; | 245 | g->mm.vidmem_is_vidmem = true; |
246 | #ifdef CONFIG_DEBUG_FS | ||
246 | g->mm.ltc_enabled = true; | 247 | g->mm.ltc_enabled = true; |
247 | g->mm.ltc_enabled_debug = true; | 248 | g->mm.ltc_enabled_debug = true; |
249 | #endif | ||
248 | g->mm.bypass_smmu = platform->bypass_smmu; | 250 | g->mm.bypass_smmu = platform->bypass_smmu; |
249 | g->mm.disable_bigpage = platform->disable_bigpage; | 251 | g->mm.disable_bigpage = platform->disable_bigpage; |
250 | 252 | ||