From 2bb63a6a74139c9ce3ec4fcda410cb2a15a65066 Mon Sep 17 00:00:00 2001 From: Tao Zeng Date: Wed, 18 Sep 2019 14:19:27 +0800 Subject: [PATCH] ramdump: not set sticky register if ramdump disabled [1/1] PD#TV-1924 Problem: Sticky register which control compress in bl2z will always be set if ramdump driver probed. Solution: If ramdump is disabled by envrioment under uboot. sticky register should not set for not enter compress under bl2z Verify: x301 Change-Id: I1f41c98cebf7957f0dc214046e6d011e08c326de Signed-off-by: Tao Zeng --- drivers/amlogic/memory_ext/ram_dump.c | 29 ++++++++++++++------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/drivers/amlogic/memory_ext/ram_dump.c b/drivers/amlogic/memory_ext/ram_dump.c index 5290a82aaeb1..a4354fa399fe 100644 --- a/drivers/amlogic/memory_ext/ram_dump.c +++ b/drivers/amlogic/memory_ext/ram_dump.c @@ -467,21 +467,22 @@ static int __init ramdump_probe(struct platform_device *pdev) WARN_ON(!ram->mnt_buf); } schedule_delayed_work(&ram->work, 1); - } - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, - "PREG_STICKY_REG8"); - if (res) { - base = devm_ioremap(&pdev->dev, res->start, - res->end - res->start); - if (!base) { - pr_err("%s, map reg failed\n", __func__); - goto err; + /* if ramdump is disabled in env, no need to set sticky reg */ + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, + "PREG_STICKY_REG8"); + if (res) { + base = devm_ioremap(&pdev->dev, res->start, + res->end - res->start); + if (!base) { + pr_err("%s, map reg failed\n", __func__); + goto err; + } + dump_set = readl(base); + dump_set &= ~RAMDUMP_STICKY_DATA_MASK; + dump_set |= ((total_mem >> 20) | AMLOGIC_KERNEL_BOOTED); + writel(dump_set, base); + pr_info("%s, set sticky to %x\n", __func__, dump_set); } - dump_set = readl(base); - dump_set &= ~RAMDUMP_STICKY_DATA_MASK; - dump_set |= ((total_mem >> 20) | AMLOGIC_KERNEL_BOOTED); - writel(dump_set, base); - pr_info("%s, set sticky to %x\n", __func__, dump_set); } return 0;