mmc: mtk-sd: add WATCHDOG_RESET() to prevent watchdog timeout

When reading large data in once (reading 512MiB is tested on MT7623), a
watchdog timeout is triggered due to watchdog not being fed.

This patch adds WATCHDOG_RESET() to msdc_start_data() so the watchdog will
be fed every 1024 blocks are read/written.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
This commit is contained in:
Weijie Gao 2019-07-19 11:04:47 +08:00 committed by Peng Fan
parent 58d65d5082
commit caa332336d

View File

@ -13,6 +13,7 @@
#include <errno.h>
#include <malloc.h>
#include <stdbool.h>
#include <watchdog.h>
#include <asm/gpio.h>
#include <dm/pinctrl.h>
#include <linux/bitops.h>
@ -623,6 +624,8 @@ static int msdc_start_data(struct msdc_host *host, struct mmc_data *data)
u32 size;
int ret;
WATCHDOG_RESET();
if (data->flags == MMC_DATA_WRITE)
host->last_data_write = 1;