From: "Jaehoon Chung" <jh80.chung@samsung.com>
To: "'qianfan'" <qianfanguijin@163.com>, <u-boot@lists.denx.de>
Cc: "'Peng Fan'" <peng.fan@nxp.com>
Subject: RE: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device
Date: Wed, 26 Oct 2022 18:18:34 +0900 [thread overview]
Message-ID: <06c601d8e91b$ec3402d0$c49c0870$@samsung.com> (raw)
In-Reply-To: <8b72a530-9391-8168-1798-75133384bc2c@163.com>
Hi,
> -----Original Message-----
> From: qianfan [mailto:qianfanguijin@163.com]
> Sent: Tuesday, August 30, 2022 12:43 PM
> To: Jaehoon Chung <jh80.chung@samsung.com>; u-boot@lists.denx.de
> Cc: Peng Fan <peng.fan@nxp.com>
> Subject: Re: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device
>
>
>
> 在 2022/7/26 16:31, Jaehoon Chung 写道:
> > On 7/13/22 16:32, qianfanguijin@163.com wrote:
> >> From: qianfan Zhao <qianfanguijin@163.com>
> >>
> >> watchdog will reset when 'mmc read' or 'ext4load' a large file from
> >> mmc device. Reset watchdog when accessing mmc device.
> > I don't know why this patch is need.
> Hi:
>
> maybe your's board doesn't have a hardware watchdog.
> on my board there has a gpio watchdog and we should trigger it no more than 1.2 second.
> otherwise it will reset CPU.
>
> But 'mmc read' command doesn't trigger watchdog, it's ok if we load a smaller imges, but if we
> load a very bigger image which more than 100MiB, the watchdog will dead and trigger a system reset.
Sorry for too late. I had missed your email.
Is there a case to load more bigger image than 100MiB?
Best Regards,
Jaehoon Chung
>
> So I make this patch to make sure we can trigger watchdog while loading mmc.
> >
> > Best Regards,
> > Jaehoon Chung
> >
> >> Signed-off-by: qianfan Zhao <qianfanguijin@163.com>
> >> ---
> >> drivers/mmc/mmc.c | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index
> >> 4d9871d69f..27ffdb7fa7 100644
> >> --- a/drivers/mmc/mmc.c
> >> +++ b/drivers/mmc/mmc.c
> >> @@ -24,6 +24,7 @@
> >> #include <memalign.h>
> >> #include <linux/list.h>
> >> #include <div64.h>
> >> +#include <watchdog.h>
> >> #include "mmc_private.h"
> >>
> >> #define DEFAULT_CMD6_TIMEOUT_MS 500 @@ -297,6 +298,7 @@ int
> >> mmc_poll_for_busy(struct mmc *mmc, int timeout_ms)
> >> if (timeout_ms-- <= 0)
> >> break;
> >>
> >> + WATCHDOG_RESET();
> >> udelay(1000);
> >> }
> >>
> >> @@ -500,6 +502,8 @@ ulong mmc_bread(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
> >> blocks_todo -= cur;
> >> start += cur;
> >> dst += cur * mmc->read_bl_len;
> >> +
> >> + WATCHDOG_RESET();
> >> } while (blocks_todo > 0);
> >>
> >> return blkcnt;
next prev parent reply other threads:[~2022-10-26 9:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220726083134epcas1p1da8e13a4364d556e820f3d45b1686b8a@epcas1p1.samsung.com>
2022-07-13 7:32 ` [PATCH] drivers: mmc: Reset watchdog when accessing mmc device qianfanguijin
2022-07-26 8:31 ` Jaehoon Chung
2022-08-30 3:43 ` qianfan
2022-10-26 9:18 ` Jaehoon Chung [this message]
2022-10-27 6:49 ` qianfan
2022-10-27 7:03 ` Stefan Roese
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='06c601d8e91b$ec3402d0$c49c0870$@samsung.com' \
--to=jh80.chung@samsung.com \
--cc=peng.fan@nxp.com \
--cc=qianfanguijin@163.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.