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 <tao.zeng@amlogic.com>
This commit is contained in:
Tao Zeng
2019-09-18 14:19:27 +08:00
committed by Luke Go
parent f3ff8e986f
commit 2bb63a6a74

View File

@@ -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;