summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAjay Nandakumar <anandakumarm@nvidia.com>2014-01-29 15:15:22 +0530
committerSachin Nikam <snikam@nvidia.com>2014-02-09 22:53:40 -0800
commitf90bd3fe3ecee42c1f2db4b5325e31fe33ff39f3 (patch)
tree997140c5630cd127c601ad6e3c81368cdba5552c
parent0802375a7853070ef45339703ad4bd9f5dfe091d (diff)
ARM: tegra: reserve memory for ramoops by default
Reserving memory of 1MB for ramoops by default in tegra_reserve when PSTORE configs are enabled. This way we can enable ramoops on all platforms by just enabling the configs. Bug 1258617 Change-Id: I2074c553cc9c32bca133bc8eb36eb03dc12fbbe1 Signed-off-by: Sumit Singh <sumsingh@nvidia.com> Reviewed-on: http://git-master/r/361425 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-ardbeg.c6
-rw-r--r--arch/arm/mach-tegra/board-dalmore.c6
-rw-r--r--arch/arm/mach-tegra/board-loki.c6
-rw-r--r--arch/arm/mach-tegra/board-macallan.c6
-rw-r--r--arch/arm/mach-tegra/board-pismo.c6
-rw-r--r--arch/arm/mach-tegra/board-pluto.c5
-rw-r--r--arch/arm/mach-tegra/board-roth.c6
-rw-r--r--arch/arm/mach-tegra/board-vcm30_t124.c6
-rw-r--r--arch/arm/mach-tegra/board.h8
-rw-r--r--arch/arm/mach-tegra/common.c65
10 files changed, 35 insertions, 85 deletions
diff --git a/arch/arm/mach-tegra/board-ardbeg.c b/arch/arm/mach-tegra/board-ardbeg.c
index 77f44b16a9f8..52a90fc2da9c 100644
--- a/arch/arm/mach-tegra/board-ardbeg.c
+++ b/arch/arm/mach-tegra/board-ardbeg.c
@@ -1292,11 +1292,6 @@ static void __init tegra_ardbeg_late_init(void)
ardbeg_sysedp_batmon_init();
}
-static void __init ardbeg_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
static void __init tegra_ardbeg_init_early(void)
{
ardbeg_rail_alignment_init();
@@ -1327,7 +1322,6 @@ static void __init tegra_ardbeg_reserve(void)
#else
tegra_reserve(SZ_1G, SZ_16M + SZ_2M, SZ_4M);
#endif
- ardbeg_ramconsole_reserve(SZ_1M);
}
static const char * const ardbeg_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-dalmore.c b/arch/arm/mach-tegra/board-dalmore.c
index 770ef3f28036..5ff9ed9988ca 100644
--- a/arch/arm/mach-tegra/board-dalmore.c
+++ b/arch/arm/mach-tegra/board-dalmore.c
@@ -704,11 +704,6 @@ static void __init tegra_dalmore_late_init(void)
tegra_register_fuse();
}
-static void __init dalmore_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
static void __init tegra_dalmore_dt_init(void)
{
tegra_get_board_info(&board_info);
@@ -731,7 +726,6 @@ static void __init tegra_dalmore_reserve(void)
#else
tegra_reserve(SZ_512M, SZ_16M + SZ_2M, SZ_4M);
#endif
- dalmore_ramconsole_reserve(SZ_1M);
}
static const char * const dalmore_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-loki.c b/arch/arm/mach-tegra/board-loki.c
index e742d2ad63f9..b99a3b964908 100644
--- a/arch/arm/mach-tegra/board-loki.c
+++ b/arch/arm/mach-tegra/board-loki.c
@@ -841,11 +841,6 @@ static void __init tegra_loki_late_init(void)
#endif
}
-static void __init loki_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
static void __init tegra_loki_dt_init(void)
{
tegra_get_board_info(&board_info);
@@ -870,7 +865,6 @@ static void __init tegra_loki_reserve(void)
#else
tegra_reserve(SZ_1G, SZ_16M + SZ_2M, SZ_4M);
#endif
- loki_ramconsole_reserve(SZ_1M);
}
static const char * const loki_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-macallan.c b/arch/arm/mach-tegra/board-macallan.c
index 62b4c663da84..c5589efbac1b 100644
--- a/arch/arm/mach-tegra/board-macallan.c
+++ b/arch/arm/mach-tegra/board-macallan.c
@@ -573,11 +573,6 @@ static void __init tegra_macallan_late_init(void)
tegra_register_fuse();
}
-static void __init macallan_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
static void __init tegra_macallan_dt_init(void)
{
tegra_get_board_info(&board_info);
@@ -604,7 +599,6 @@ static void __init tegra_macallan_reserve(void)
#else
tegra_reserve(SZ_128M, SZ_16M + SZ_2M, SZ_16M + SZ_2M);
#endif
- macallan_ramconsole_reserve(SZ_1M);
}
static const char * const macallan_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-pismo.c b/arch/arm/mach-tegra/board-pismo.c
index cef3b8d6f5bb..7024ac5e5f60 100644
--- a/arch/arm/mach-tegra/board-pismo.c
+++ b/arch/arm/mach-tegra/board-pismo.c
@@ -618,11 +618,6 @@ static void __init tegra_pismo_init(void)
pismo_soctherm_init();
}
-static void __init pismo_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
#ifdef CONFIG_USE_OF
struct of_dev_auxdata pismo_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("nvidia,tegra114-host1x", TEGRA_HOST1X_BASE, "host1x",
@@ -662,7 +657,6 @@ static void __init tegra_pismo_reserve(void)
#else
tegra_reserve(SZ_128M, SZ_16M + SZ_2M, SZ_4M);
#endif
- pismo_ramconsole_reserve(SZ_1M);
}
static const char * const pismo_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-pluto.c b/arch/arm/mach-tegra/board-pluto.c
index 30d44c006112..ee1ab5660ee2 100644
--- a/arch/arm/mach-tegra/board-pluto.c
+++ b/arch/arm/mach-tegra/board-pluto.c
@@ -1260,10 +1260,6 @@ static void __init tegra_pluto_late_init(void)
tegra_register_fuse();
}
-static void __init pluto_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
static void __init tegra_pluto_dt_init(void)
{
@@ -1284,7 +1280,6 @@ static void __init tegra_pluto_reserve(void)
#else
tegra_reserve(SZ_128M, SZ_16M, SZ_4M);
#endif
- pluto_ramconsole_reserve(SZ_1M);
}
static const char * const pluto_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-roth.c b/arch/arm/mach-tegra/board-roth.c
index de12321fcca6..de2eed220c8d 100644
--- a/arch/arm/mach-tegra/board-roth.c
+++ b/arch/arm/mach-tegra/board-roth.c
@@ -600,11 +600,6 @@ static void __init tegra_roth_init(void)
roth_issp_init();
}
-static void __init roth_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
#ifdef CONFIG_USE_OF
struct of_dev_auxdata roth_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("nvidia,tegra114-host1x", TEGRA_HOST1X_BASE, "host1x",
@@ -645,7 +640,6 @@ static void __init tegra_roth_reserve(void)
#else
tegra_reserve(SZ_128M, SZ_16M + SZ_2M, SZ_4M);
#endif
- roth_ramconsole_reserve(SZ_1M);
}
static const char * const roth_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board-vcm30_t124.c b/arch/arm/mach-tegra/board-vcm30_t124.c
index 625e0cdc8405..acefc16c12cb 100644
--- a/arch/arm/mach-tegra/board-vcm30_t124.c
+++ b/arch/arm/mach-tegra/board-vcm30_t124.c
@@ -546,11 +546,6 @@ static void __init tegra_vcm30_t124_late_init(void)
vcm30_t124_panel_init();
}
-static void __init vcm30_t124_ramconsole_reserve(unsigned long size)
-{
- tegra_reserve_ramoops_memory(SZ_1M);
-}
-
static void __init tegra_vcm30_t124_dt_init(void)
{
tegra_get_board_info(&board_info);
@@ -574,7 +569,6 @@ static void __init tegra_vcm30_t124_reserve(void)
#else
tegra_reserve(SZ_128M, SZ_16M + SZ_2M, SZ_16M + SZ_2M);
#endif
- vcm30_t124_ramconsole_reserve(SZ_1M);
}
static const char * const vcm30_t124_dt_board_compat[] = {
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h
index ae5abb805144..fb833ce364c3 100644
--- a/arch/arm/mach-tegra/board.h
+++ b/arch/arm/mach-tegra/board.h
@@ -129,14 +129,6 @@ int get_sd_uart_port_id(void);
void set_sd_uart_port_id(int);
int __init tegra_register_fuse(void);
-#ifdef CONFIG_PSTORE_RAM
-void __init tegra_reserve_ramoops_memory(unsigned long ram_console_size);
-#else
-static inline void __init
- tegra_reserve_ramoops_memory(unsigned long ram_console_size)
-{}
-#endif
-
extern phys_addr_t tegra_bootloader_fb_start;
extern phys_addr_t tegra_bootloader_fb_size;
extern phys_addr_t tegra_bootloader_fb2_start;
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index 5d3912b226a2..b69f447f26b0 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -1825,6 +1825,38 @@ void __tegra_clear_framebuffer(struct platform_device *pdev,
iounmap(to_io);
}
+#ifdef CONFIG_PSTORE_RAM
+static struct ramoops_platform_data ramoops_data;
+
+static struct platform_device ramoops_dev = {
+ .name = "ramoops",
+ .dev = {
+ .platform_data = &ramoops_data,
+ },
+};
+
+
+static void __init tegra_reserve_ramoops_memory(unsigned long reserve_size)
+{
+ ramoops_data.mem_size = reserve_size;
+ ramoops_data.mem_address = memblock_end_of_4G() - reserve_size;
+ ramoops_data.console_size = reserve_size;
+ ramoops_data.dump_oops = 1;
+ memblock_reserve(ramoops_data.mem_address, ramoops_data.mem_size);
+}
+
+static int __init tegra_register_ramoops_device(void)
+{
+ int ret = platform_device_register(&ramoops_dev);
+ if (ret) {
+ pr_info("Unable to register ramoops platform device\n");
+ return ret;
+ }
+ return ret;
+}
+core_initcall(tegra_register_ramoops_device);
+#endif
+
void __init tegra_reserve(unsigned long carveout_size, unsigned long fb_size,
unsigned long fb2_size)
{
@@ -2116,6 +2148,9 @@ void __init tegra_reserve(unsigned long carveout_size, unsigned long fb_size,
#endif
tegra_fb_linear_set(map);
+#ifdef CONFIG_PSTORE_RAM
+ tegra_reserve_ramoops_memory(SZ_1M);
+#endif
}
void tegra_get_fb_resource(struct resource *fb_res)
@@ -2132,37 +2167,7 @@ void tegra_get_fb2_resource(struct resource *fb2_res)
(resource_size_t) tegra_fb2_size - 1;
}
-#ifdef CONFIG_PSTORE_RAM
-static struct ramoops_platform_data ramoops_data;
-
-static struct platform_device ramoops_dev = {
- .name = "ramoops",
- .dev = {
- .platform_data = &ramoops_data,
- },
-};
-
-void __init tegra_reserve_ramoops_memory(unsigned long reserve_size)
-{
- ramoops_data.mem_size = reserve_size;
- ramoops_data.mem_address = memblock_end_of_4G() - reserve_size;
- ramoops_data.console_size = reserve_size;
- ramoops_data.dump_oops = 1;
- memblock_reserve(ramoops_data.mem_address, ramoops_data.mem_size);
-}
-
-static int __init tegra_register_ramoops_device(void)
-{
- int ret = platform_device_register(&ramoops_dev);
- if (ret) {
- pr_info("Unable to register ramoops platform device\n");
- return ret;
- }
- return ret;
-}
-core_initcall(tegra_register_ramoops_device);
-#endif
int __init tegra_register_fuse(void)
{