| From 061de8d128c46d5f780be20101526b2697d91ce9 Mon Sep 17 00:00:00 2001 |
| From: Lingling Xu <ling_ling.xu@unisoc.com> |
| Date: Tue, 2 Jun 2020 16:24:15 +0800 |
| Subject: [PATCH] spi: sprd: switch the sequence of setting WDG_LOAD_LOW and |
| _HIGH |
| |
| commit 8bdd79dae1ff5397351b95e249abcae126572617 upstream. |
| |
| The watchdog counter consists of WDG_LOAD_LOW and WDG_LOAD_HIGH, |
| which would be loaded to watchdog counter once writing WDG_LOAD_LOW. |
| |
| Fixes: ac1775012058 ("spi: sprd: Add the support of restarting the system") |
| Signed-off-by: Lingling Xu <ling_ling.xu@unisoc.com> |
| Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com> |
| Link: https://lore.kernel.org/r/20200602082415.5848-1-zhang.lyra@gmail.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/spi/spi-sprd-adi.c b/drivers/spi/spi-sprd-adi.c |
| index f1fc2bde6ef3..e41976010dc4 100644 |
| --- a/drivers/spi/spi-sprd-adi.c |
| +++ b/drivers/spi/spi-sprd-adi.c |
| @@ -358,9 +358,9 @@ static int sprd_adi_restart_handler(struct notifier_block *this, |
| sprd_adi_write(sadi, sadi->slave_pbase + REG_WDG_LOCK, WDG_UNLOCK_KEY); |
| |
| /* Load the watchdog timeout value, 50ms is always enough. */ |
| + sprd_adi_write(sadi, sadi->slave_pbase + REG_WDG_LOAD_HIGH, 0); |
| sprd_adi_write(sadi, sadi->slave_pbase + REG_WDG_LOAD_LOW, |
| WDG_LOAD_VAL & WDG_LOAD_MASK); |
| - sprd_adi_write(sadi, sadi->slave_pbase + REG_WDG_LOAD_HIGH, 0); |
| |
| /* Start the watchdog to reset system */ |
| sprd_adi_read(sadi, sadi->slave_pbase + REG_WDG_CTRL, &val); |
| -- |
| 2.27.0 |
| |