* [PATCH] drivers: mmc: Reset watchdog when accessing mmc device @ 2022-07-13 7:32 ` qianfanguijin 2022-07-26 8:31 ` Jaehoon Chung 0 siblings, 1 reply; 6+ messages in thread From: qianfanguijin @ 2022-07-13 7:32 UTC (permalink / raw) To: u-boot; +Cc: Peng Fan, Jaehoon Chung, qianfan Zhao 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. 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; -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device 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 0 siblings, 1 reply; 6+ messages in thread From: Jaehoon Chung @ 2022-07-26 8:31 UTC (permalink / raw) To: qianfanguijin, u-boot; +Cc: Peng Fan 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. 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; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device 2022-07-26 8:31 ` Jaehoon Chung @ 2022-08-30 3:43 ` qianfan 2022-10-26 9:18 ` Jaehoon Chung 0 siblings, 1 reply; 6+ messages in thread From: qianfan @ 2022-08-30 3:43 UTC (permalink / raw) To: Jaehoon Chung, u-boot; +Cc: Peng Fan 在 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. 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; ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device 2022-08-30 3:43 ` qianfan @ 2022-10-26 9:18 ` Jaehoon Chung 2022-10-27 6:49 ` qianfan 0 siblings, 1 reply; 6+ messages in thread From: Jaehoon Chung @ 2022-10-26 9:18 UTC (permalink / raw) To: 'qianfan', u-boot; +Cc: 'Peng Fan' 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; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device 2022-10-26 9:18 ` Jaehoon Chung @ 2022-10-27 6:49 ` qianfan 2022-10-27 7:03 ` Stefan Roese 0 siblings, 1 reply; 6+ messages in thread From: qianfan @ 2022-10-27 6:49 UTC (permalink / raw) To: Jaehoon Chung, u-boot; +Cc: 'Peng Fan' 在 2022/10/26 17:18, Jaehoon Chung 写道: > 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? The case is loading rootfs.img from mmc and upgrade. The rootfs based on debian or ubuntu is very bigger. > > 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; > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drivers: mmc: Reset watchdog when accessing mmc device 2022-10-27 6:49 ` qianfan @ 2022-10-27 7:03 ` Stefan Roese 0 siblings, 0 replies; 6+ messages in thread From: Stefan Roese @ 2022-10-27 7:03 UTC (permalink / raw) To: qianfan, Jaehoon Chung, u-boot; +Cc: 'Peng Fan' On 27.10.22 08:49, qianfan wrote: > > > 在 2022/10/26 17:18, Jaehoon Chung 写道: >> 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? > The case is loading rootfs.img from mmc and upgrade. The rootfs based on > debian or ubuntu > is very bigger. >> >> 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> Please include cyclic.h now. >>>>> #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(); And please use schedule() here now instead of WATCHDOG_RESET(). Thanks, Stefan >>>>> 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; >> >> > Viele Grüße, Stefan Roese -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-10-27 7:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[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
2022-10-27 6:49 ` qianfan
2022-10-27 7:03 ` Stefan Roese
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox